Justin Marsh enjoyed traveling the world as a professional poker player, but when he hit 30, he wanted to transition to a more settled career in software engineering. After attempting to teach himself, Justin felt he needed more guidance when he got stuck, so he enrolled in Holberton School in San Francisco. Now he’s landed a coveted apprenticeship at LinkedIn, and credits Holberton’s project-based learning for his success. We asked Justin and Holberton Chief Engineer Julien Cyr to explain how the curriculum is designed to prepare students to keep learning on the job.
Justin, what is your pre-bootcamp story?
Justin: I was a professional poker player. Last summer, I realized I was ready to settle down and start a new career. Before starting my poker career, I was interested in all aspects of computing, from the hardware to the software. But as a 30 year old, it’s hard to think about how to start a new career, and get into software engineering. I was inspired by someone in the poker community who left poker and through alternative education, got the skills to get a job in the tech industry in California. That sparked my interest. I realized that I didn’t need a 4-year degree or a Master’s degree to get an opportunity in tech; I just needed to be good enough to prove my abilities and that would open the door for me.
My original plan was to use all of the amazing online resources to teach myself to code. But after a month or two I realized that going it alone is very tough because when you get stuck, you don’t have any guidance. I felt capable in my ability to learn, but I needed a program that would help prepare me for a career. It was in that process that I found Holberton. I found the program interesting because you learn through projects, which is what I was attempting to do while teaching myself, except Holberton offers more guidance. I applied, got accepted, and moved to San Francisco for Holberton.
Did you research coding bootcamps or CS degree programs, and what made you choose Holberton?
Justin: I did look at a lot of different bootcamps. Cost was a major blocker for me – a lot of programs were very expensive, and there was no assurance that I would get a job from those bootcamps. However, at Holberton, deferred payment means that the school doesn’t get paid until I get a job, so my goals (getting a job) are in line with Holberton’s goals (profiting from my success). That made me confident that the Holberton team would have my best interests at heart.
Secondly, 12-week coding bootcamps didn’t seem long enough. I’m confident in my ability to learn, but I didn’t feel that three months would be enough time to go from being an amateur to being good enough at coding to get a professional job. The longer, 2-year length at Holberton was very attractive to me.
How many people were in your cohort? How diverse was it?
Justin: We started with 29 people in my cohort. What struck me about the students at Holberton were the people's backgrounds – not just who they were but where they came from. I don’t think anybody in my cohort had the same background story. What they studied in college, if they went to college at all, their age – that level of diversity really stood out.
What was the learning experience like at Holberton – can you give me an example of a typical day?
Justin: The typical morning started by checking for new material or assignments. I would get up early, have a coffee, and spend an hour reading about what we were going to work on that day. I’d spend the early morning working through problems, and solving tasks. If I got stuck that was ok, I’d move on, come back to it later, or ask peers for help.
Every day we had a stand up at 11:30am, to touch base with everyone and make sure we were on the same page. I spent the afternoon overcoming challenges I’d faced in the morning, interacting with peers a lot more, and working on the hardest parts of my assignments. If we had two-week long projects, we’d do a lot of that peer work until about 5pm or 6pm, when people would start going home. Sometimes an assignment would grip us and we'd stay working until midnight. I lived very close to school so I had the flexibility to work when I was ready to work and take breaks when it made sense.
Julien, as the Chief Engineer at Holberton, why did your team design the curriculum in this way? How does this style of learning prepare students for the workforce?
Julien: The point of Holberton School is not to teach specific programming languages to students; it’s to teach them how to learn. If you want to have a successful career in tech, then you need to be able to learn new techniques by yourself. You can’t go back to school or attend a new coding bootcamp every few years just to be up to date with market needs. We want students to be able to learn by themselves so that they can pursue a good and lasting career.
Every day, we assign projects to students. They have to work together and help each other as a team. When students eventually enter a company, they will need to work together in teams, so we want our students to work together on projects at school.
Our students learn at different paces, so we actually provide optional extra projects for students who want to go further. Students who finish their projects before noon get advanced tasks to work on for the rest of the day. People who are learning more slowly still get a good foundation and understanding of the fundamentals. There are also optional group projects coming in from the industry, managed by mentors. Those allow our students to work on real projects like white papers, R&D, or building tools.
Does Holberton School’s curriculum cover specific programming languages?
Justin: At the beginning we focused on C, Python, SQL, and a few other technologies. There were technology requirements for every task, and some of them were more specific than others. The important part for me was having an understanding of basic concepts, then moving on to new things. I’ve found that if I’m working on a new language, I can relate pieces of that language to the fundamentals I’ve learned. For example, if I have to dive into object-oriented design in Java, the fact that we learned object-oriented design in Python means it’s easy to go back and see how Python and Java are similar, and how Java and C are similar.
Julien: The fields of computer science and computer engineering are moving really fast; there are new technologies emerging all the time, but the fundamentals have been the same for years. Algorithms, data structures, the rules of programming – they never change – and we will always need them. We want students to understand those fundamentals very well. At Holberton School, it’s mandatory to be able to program in C, and to be able to solve some complex algorithms. But for optional projects, students can choose which technologies to use.
Justin, what do you think of this project-based learning approach compared with your previous learning experiences?
Justin: Project-based learning was always my preference. At university, you’re given specific lessons to memorize, which is not the same as putting those concepts into use. Software engineering is actually a very creative field; you’re not simply following instructions. You need to be able to see a problem, design a solution, and then build that solution using code. Knowing how each tool works and fits together is really important in finding the right solution.
Here’s an analogy: I know about a lot of different carpentry tools. However, simply knowing what those tools do, doesn’t mean I can use them. I have to get in there, use the languages, use the technologies, and teach myself how to use them.
How often did you interact with Holberton staff or mentors when you had a question or a problem?
Justin: I probably interacted with mentors or staff every day or every other day. That resource is there specifically for when you can’t figure a problem out by yourself, or if your classmate doesn’t know what's wrong. Removing those blockers is the major reason that this type of learning was successful for me.
How does the mentor system at Holberton School work?
Julien: There are multiple ways to interact with mentors at Holberton School. Mentors come to the school to give presentations or fireside chats on topics around technical topics, how to work well in a company, how to find a job, or how to kill an interview. Students can also meet one-on-one with mentors or communicate via Slack channels. Mentors sometimes bring in optional projects for students, and a group of students will work together remotely and on-site around those projects. Many of our mentors work nearby in the city and will stop by the school and help students if they need it. Students can also meet mentors for a tour of their office or for lunch.
Justin: From a student’s perspective, I quickly realized that mentors are effective because they love the technologies they use and are really passionate about them. When we were working on building up our shell, I could reach out to the mentors for advice on a difficult problem, and that was the most valuable use of the mentorship. The mentors were very willing to help – if someone reaches out to you and they want to know more about what you do or how you do it, you’re going to be really open to connecting with that person. That’s how I experienced mentorship at its best at Holberton.
How did Holberton prepare you for job hunting?
Justin: We had regular mock interviews, which made the actual interview process much more comfortable. At the time, I thought the value of the mock interviews would be getting me better at answering interview questions or whiteboarding problems. And that was part of our training, but what I realized in actual job interviews, was that those mock interviews helped me tell my story. I think that’s the reason I got my current job, because they wanted to know more about me. I knew what my story was, I knew what to talk about, and I knew who I was, because I’d been asked those questions before at Holberton.
Congratulations on your job at LinkedIn! Can you tell us how you found the job and what your role is?
Justin: I found the role through another Holberton alum. It’s a six-month apprenticeship at LinkedIn in the engineering department. I started at the beginning of April. A lot of people in my class were excited about it and applied for it.
Did Holberton teach you everything you needed for your new job?
Justin: I’ve had to learn a lot of new technology, and that’s basically what the Holberton model prepared me for – you go into the job, you might not know all the technologies and languages they use, but you can get onboarded and up to speed fast. During my entire first month at LinkedIn, I was implementing what I learned from Holberton to get up to speed.
I wasn’t required to know anything specific for the interview, I just had to show that I knew how to write software, and knew how to solve problems.
Julien: What companies basically want to know is if you are able to learn new things, on your own, really quickly to be able to work in a team as soon as possible. After nine months at Holberton, you get the fundamentals and the ability to learn by yourself, and that helps you to get a job.
Justin, what other aspects of the Holberton curriculum have helped you in your job?
Justin: Working with other people on a team is super important in tech. You need to be able to ask questions when you’re stuck, work with other people to come to conclusions about design, and how to approach problems. Software engineering isn’t a solo job; it’s a team effort. If you can’t work with other people, you won’t get far. My day-to-day at LinkedIn is very similar to Holberton – I’m working with other people, asking questions, and getting feedback.
Justin, when you look back over the last year learning to code, do you think you could have got the role at LinkedIn without Holberton if you had continued teaching yourself?
Justin: I wouldn’t have this position if I didn’t go to Holberton. I may have eventually achieved success, but I wouldn’t be here without Holberton School.
Julien, do you have a feedback loop with alumni/employers about the curriculum? What kind of feedback do you hear?
Julien: Our entire model is based on feedback, and our mentors are always helping us keep the curriculum updated. We try to build partnerships with companies where our students are working, and get feedback from them.
For each batch of students we improve and provide more up to date content. For example, companies will look at the tools we are teaching, tell us when they’re outdated, and suggest what we should use instead. For the very first batch, we taught some soft skills, and the first feedback from companies was, “your students are great technically, but when they interact with people, they need more empathy.” So we have now implemented more training around empathy and team dynamics.
Justin, do you plan to go back to Holberton for the 9-month specialization track?
Justin: That’s to be determined. I’m definitely considering it; there are so many things I want to learn so it’s hard to limit yourself to only a few things.
Julien, why do you offer the 9-month specialization track? And how popular is it with students? Do they usually return for it?
Julien: Even after nine months, you may be good at your job and you know how to learn, but you probably haven’t been able to dive really deep into some topics. So we offer specialization in topics that we didn’t cover in the main program such as AI, and deeper programming knowledge in the back end or front end. Even though it’s possible to learn by yourself, it will be quicker and easier to learn the specialization with your peers and mentors.
It’s hard to get students back to the school, because they get settled at companies, and they are well paid. There are people who really want to study, and do come back, and there are also people who want to keep their job but learn more, so we offer a part-time option. If a student is learning full-time, then they can choose multiple specialties. If they’re learning part-time, then they choose one specialty.
Justin, What’s been the biggest challenge or roadblock in your journey to learn to code?
Justin: My biggest roadblock is that I’m really excited about a lot of new technologies, so I find myself trying them all, when it’s probably better to focus on a few that are most important. When I initially started out I was learning five languages at the same time, so I knew a little bit of each, but I didn’t know any of them well enough to be efficient. Now I’m trying to focus on one or two things per week, and make sure I understand those things so that when I come back to them, I’ll actually understand how to use them.
How do you stay involved with Holberton? Have you kept in touch with other alumni?
Justin: I’m actually finishing up my final project right now. I formed a team with my classmates, and I work on our project on Saturdays and Sundays. I keep in touch with them on Slack.
What advice do you have for people making a career change through a coding bootcamp?
Justin: If you’re passionate and you think you can do it, you definitely can!
Julien: There is not just one way to approach education. There are different ways to achieve your goal, so think carefully when making your decision. There are bootcamps which are quick and efficient, there are universities, and there are also programs like Holberton School which teach you how to learn. Regardless, it’s a big commitment, so carefully research which program you really want to attend. There is no right answer, there is a personal preference for everybody.