After working in the video gaming industry for years and earning a computer science degree, David tried to pivot into general software engineering, but found his programming knowledge lacked breadth. He enrolled at Holberton School in San Francisco, and realized the missing link for him was soft skills. David tells us how learning to collaborate with others, communicate his ideas, and explain his thought processes at Holberton helped him land an internship at Facebook!
Tell me about your pre-Holberton story. What were you doing before you decided to learn to code?
Before Holberton, I worked in the video game industry. I originally went to school for landscape architecture, but that didn’t work out. I first learned to code through my coworkers. I started out as a video game QA tester then moved into design and production work. I’ve worked on games like Shovel Knight, StarCraft 2, Diablo 3, Tomb Raider, and City of Heroes. During my time on City of Heroes, an engineer introduced me to coding by updating an Excel VBA script that converts a spreadsheet into game data. It was a lot of fun.
While I worked at Blizzard, I went back to school and earned a degree in computer science. Eventually, I got a job as a gameplay programmer. I got to create games using the Unreal Engine and C++. I really love video games, but I learned the hard way that working in video games is not necessarily the best way to pursue my passion. So I decided to separate myself from working in video games, and move into the tech industry.
If you learned to code on the job and have a computer science degree, why did you need a program like Holberton School?
I tried to make the transition from games to tech, but I found that I didn't have a lot of practical experience. Video games are a subset of tech, but the problem with video game programming is that it requires a very concentrated set of skills. The core languages are still C/C++, C#, and Python. But to work more generally in the tech industry, you need a much more broad knowledge of technologies and frameworks.
In my computer science degree, I memorized a lot of theoretical facts. But to be honest, I learned very little actual programming to make usable code. For the technology sector, you need to understand databases, frameworks, different languages, and deployment – which I had no idea about, and no experience with. I needed to find a school that allowed me to get this broad perspective as soon as possible.
What made you choose Holberton over a coding bootcamp in San Francisco?
I considered App Academy, Coding Dojo, Hack Reactor, and General Assembly. All the programs were similar, but they were three to four-month programs and I wasn't convinced that I could learn enough about coding in that amount of time, even with my background.
I first came across Holberton School on Twitter. Stephanie Hurlburt often retweets people who are looking for junior level development positions. One retweet was of a Holberton student saying, “Here’s what I worked on,” with a link to her Github. I took a look at the GitHub and was impressed with what she had learned at Holberton. I did my research, and decided Holberton sounded like a good program for me.
Compared with coding bootcamps, Holberton School was a longer program, and it had a portion dedicated to DevOps and SRE topics, which was my primary interest. That was the selling point for me. Also, Holberton offers an income sharing agreement – any school that ties your eventual success with their financial well-being, in my opinion, is a great choice. The coding bootcamps wanted me to pay up front and I didn’t know if they would help me get a job. I started Holberton in September 2017.
What was the application and interview process like for you – was it hard to get in even though you had a coding background?
The coding portions of the application were straightforward. But Holberton really emphasizes soft skills, so parts of the application focused on soft skills. For example, I had to make a YouTube video to introduce myself – that was a very big hurdle for me. I don't usually like to publicize myself; it took me a week to get the nerve to do it, then I recorded it over and over again. On top of that, we were expected to be active in forums and help other applicants with problems, which was a strange experience for me at first. Before Holberton, I was used to just typing on my computer by myself. Communicating with others was a long, arduous process that forced me out of my comfort zone. Holberton has a multidisciplinary approach to software engineering.
What was your cohort like at Holberton School? Who did you learn with?
We had around 24 people and the cohort was extremely diverse. There were women, different sexual orientations, and different races. We had yoga teachers, people who were new to programming, and some who had coding jobs before, like me. We also had people with backgrounds in horticulture, bioengineering, chemical engineering, political science, and communications. We also had some kids straight out of high school.
As someone who was weak in the soft skills area, it was very interesting learning with different people and watching them explain and teach things. One problem with learning how to program online is that you may not understand how to solve certain problems without knowing various approaches to the problem. But at Holberton School, there are people who can explain material in very different ways that I would have never thought of. It was very helpful to see so many ways to perceive a problem and solution.
What was the learning experience like at Holberton School?
There is an online platform that gives us core concepts that we should understand before we move on to an actual project. I spent the first half of the day just reading the material. Holberton aims to teach students over the long term. In the beginning, they were easy on us and gave us fairly good resources. But as time goes on, they start pushing us deeper into the water. They take away information and throw us some red herrings. They are encouraging us to learn how to learn. Exercises are very well-designed and they test the basic fundamental concepts. We had projects to do every day. Later we had big milestones like creating an app; there were multiple deadlines over the course of a week and it got very hectic.
The first three months were quite vigorous. Every week, we had one or two Peer Learning Days (PLDs). We would split into groups of four or six, discuss what we learned that day, ask questions and discuss concepts. If someone didn’t understand something, or had concerns, they would voice them, people would listen, and try their best to answer. It was very open and collaborative, which is what I was looking for. That's how we progressed our learning in computer science topics.
If you needed help with a problem, who did you ask?
Holberton CEO Julien Barbier has what he calls “the framework” for tackling a problem. The first thing you do is read. Then when you have a question, you read again and ask yourself why. Read all the error messages. If you still can't figure it out then you Google it. Then after researching the problem, you’re encouraged to ask a cohort mate. At that point, 95% of all problems are solved, at least for me. But if anything harder comes up, you can extend your question to senior students from the previous cohorts who are still around. We have a bunch of mentors usually lurking around as well, so there's always someone who can give you an answer. If that doesn't work, you can always ask staff – the staff members were amazing.
What was your favorite project that you built at Holberton School?
My favorite project was building an interpreter in pure C. It was called The Monty Interpreter. I basically rebuilt a mini version of Python. I worked by myself because I wanted to make sure that I understood what was going on. So I took it upon myself and challenged myself to finish this project with minimal help. I know that sounds counterintuitive to how I learned everything, but to me, it was important that I could do this myself. I found I could, and that was a turning point for me. It paid off – in one of my engineering interviews, the interviewer was very impressed that I built an Interpreter.
How did Holberton help prepare you for job hunting?
Sylvain, one of Holberton’s co-founders, is very active when it comes to helping us get jobs. He is always actively looking for excellent meetups and partners, he is in touch with lots of engineers in the industry who are hiring, and he’ll send out our resumes to various companies. Holberton School holds a talent fair too, where I met cool companies like Change.org and NIO, the electric car company.
I received a lot of help from staff with my resume, cover letter, and negotiation strategies. Holberton School also had portions of the course called Refineries, for job interview prep. A Holberton staff member would ask us behavioral questions, technical questions, and give us whiteboarding problems. I found whiteboarding very difficult, but via practice, I became better at it. Again, the team is amazing at Holberton. In all honesty, the career guidance is one of the strongest aspects of Holberton School. The only things you have to do on your part is practice everything they taught you, and be actively looking.
How did you find your role at Facebook and what was the job interview process?
Sylvain posted the Facebook internship in our jobs portal and encouraged us to apply. The initial application was an essay format for applicants to explain how our nontraditional backgrounds could help Facebook. Facebook reached out to me for an initial screening interview. I passed that, then did an online two-hour HackerRank challenge. After that, I had a three-hour onsite interview with an engineer, a production manager, and a senior engineer.
The recruiter followed up with me on the following Monday saying, "We'll get back to you in a month.” But then he asked me, "Do you have any offers?" I told them I did have an offer from another company in Silicon Valley. Facebook called me two weeks later with an offer.
I had been job hunting for a just over a month. I got very lucky. Sylvain and the Holberton staff are so aggressive with the job search, so I tried to be as aggressive as them in terms of constantly applying, getting out there, and learning at the same time. In my case, it paid off.
What is your role at Facebook? What are you working on?
I am starting on September 17th as a Production Engineer Intern at Facebook. It is a hybrid role between Assistant Engineer and a Software Engineer. When users sign on, I need to be able to help scale and support the infrastructure that Facebook uses for all four of their major products: WhatsApp, Messenger, Facebook, and Instagram. For my actual role, I don't know which team I'm going to be on. My best guess is a rotational style where I help each of the teams.
Facebook has a coding bootcamp for new hires, which is not about teaching us how to code, but more about teaching the standards and Facebook's code base. I will probably learn a lot because Facebook has a lot of custom proprietary software. For example, RocksDB is based on LevelDB, but they wrote a lot of it for their own needs.
In addition to everything you've learned at Holberton, how do you think your previous background and your CS degree were useful in landing this job?
I have skills in the chaotic nature of software, I can wear multiple hats, I’m versatile, and I can solve problems as they happen. My experience in video games showed me that you often can’t stick to a plan because plans always fall apart. So being able to adapt on the fly while still making good, fast, efficient software is something that I learned how to do.
My CS degree also helps because holding a bachelor's degree is perceived to be proof that you had the discipline to finish four years of study. In terms of theoretical underpinnings, my degree did likely help in that sense, but Holberton School really gave me the combination of skills – the theory and the practice – to make actual software.
Looking back over the last few years, would you have been able to get this role at Facebook if you hadn't gone to Holberton?
Even in retrospect, I think it's a clear no. Even if I had found a free website with the same learning material as Holberton, I still would not have gotten to where I am today, mainly because I didn't realize the importance of soft skills. Holberton School pounded that concept into me.
Previously when I would whiteboard, I simply solved the problem and thought that was enough. I wouldn't vocalize my thoughts. However, when you’re interviewing for a job, that is the worst possible thing you can do because interviewers don’t know what you're thinking. Explaining how you're solving a problem, no matter what degree you have, is something you have to practice. If you don't practice that, I'm very confident that you will fail every interview. Over nine months at Holberton, I had a chance to practice my soft skills. So no, I would not have been able to land my job at Facebook without Holberton.
Once you start this job, how are you going to stay involved with Holberton School?
We still have the Slack channel, where I can message the staff, who are awesome and get back to you quickly. I'm quite close with various cohort mates, and we hang out outside of school. Being at Facebook in Menlo Park, I can’t be in San Francisco every day, but I plan to go in a few times a week because there are a lot of great meetups up there. And because meetups are close to Holberton, I'll probably stop by Holberton as well.
Holberton offers an optional final 9-months of the program after your internship. Are you planning to do that?
Yes, I plan to do it part-time. I am very interested in the new AR/VR track mainly because of my video game background. The next cohort for Year 2 starts in September. So I'll either start in September or I'll wait until January 2019.
What advice do you have for other people who are thinking about doing a program like Holberton to launch their software development career?
Look for a program like Holberton School. Although Holberton School is one of the more expensive options, the fact that they tie their own financial success to student success, is the reason I said yes. If I didn't find a job then I wouldn't pay anything. You should see how energetic Sylvian is when it comes to the job finding portion – it gives you a lot of hope.
You should find a program that really emphasizes soft skills. My ability to explain my thought process, and how I solve a problem is what got me the job at Facebook. Also, make sure that the program has a very strong curriculum with data structures and algorithms because you will see those in almost every job interview.
Then if you do go to Holberton, it's very important to buy into the culture. We had a few students who were quiet, dismissive, or didn't want help – there's no point in choosing Holberton School if you’re going to be that way. Holberton’s strength is in the Holberton way of collaborative learning. If you don't like that collaborative learning style, then I would advise against Holberton School because frankly, there are programs that are faster and cheaper.