My Experience Inside One of the Toughest Coding Bootcamps in the World
Important insights I learned by going through a coding bootcamp
Maybe you are one of those people that have thought about making a career switch towards software development. You have been curious about coding and delving deeper into the never-ending world of tech but have always considered it to be too difficult.
You might have googled coding bootcamps and fleetingly fantasized about applying, but brushed aside that thought because: “that is not who you are”.
If you are indeed one of those people; you should continue reading because this is my experience of making that exact jump and what it taught me. Here is my story.
Around five months ago I quit my job as a lawyer to pursue a career within software development. I have always had an interest in technology and computers but somehow a career path as a software developer/software engineer never really crossed my mind.
In my mind, a software developer was someone born with a keyboard; could write brilliant code in mere seconds and who just had the general knack for talking with computers.
That was not me. However, as I encountered software developers throughout the years; my view of software development started to change.
What began as an interest to learn more about coding; soon grew into an idea of changing career paths and when the right opportunity presented itself; I decided to take the leap.
After an intense application process with about 1500 applicants, I was lucky enough to grab one of the 24 seats available at the supposedly toughest coding bootcamp in the world (at least that is what they claimed). In addition, if we managed to graduate we would be able call ourselves professional developers as well as getting hired on the spot.
Together with me on the coding bootcamp were a mix of former mountain guides, bartenders, students, UX-designers, lawyers, etc. We were all nervous, but mighty excited about the coding bootcamp ahead.
“You can’t make developers in three months, but we are going to do it anyway.”
On the first day of the bootcamp the quote: “You can’t make developers in three months, but we are going to do it anyway.” was uttered by the Head of Curriculum for the bootcamp. If nothing else, the quote worked as a foreshadowing for what was to come.
We were going to tackle the coding lab according to a work-method called mob-programming. In mob-programming, one person in the group is assigned the position of the driver. That person’s job is to type the code following the other group members’ instructions.
After 5–10 minutes you switch the driver with the next person. By doing it this way, the people not driving could focus on solving the coding problems at hand while the driver could type out the ideas.
While at first sight, it seemed like a very roundabout way of working, I realized the benefits of working like this the longer the bootcamp went on.
Think of it as an extreme form of teamwork where the importance of communication and trust within the team could make or break the group. Mob-programming forced the team members to work intensely alongside each other which accelerated the team’s progress.
By being confronted with difficult problems; the teams would argue, discuss, and learn to tackle the problem from different angles which were key factors of becoming a tightly-knit team. Working like this ultimately gave us the tools to perform in any given situation.
In addition to the tight schedule of lectures and coding labs, we were supposed to prepare a presentation every Friday and present a coding solution, coding tip, tooltip, or other relevant topics that we had discovered during the week.
During this opportunity, we were graded on our oral presentation skills, sales pitch, and ability to explain different technical subjects to other programmers as well as non-technical people such as sales- and marketing people.
This was engineered to reflect how a software developer might present a solution to the management, marketing team, or other involved key personnel.
Lastly, every week ended with a weekend test. The weekend test would normally cover all the topics we had gone through during the week. Although we normally worked in teams, it was equally important to establish our skill-level and verify that it was up-to-par for us to get employed after graduating.
Without a question, this part turned out to be the most stressful part during the entire bootcamp and made many people (yours truly was not an exception) lose a lot of sleep.
The reason being that failure to accomplish the tests could force you to drop out of the course. This was the harsh reality of being provided a golden opportunity to not only learn a new skill but also getting hired. Therefore, the instructors and employers had to be strict with students not upholding the standard and competence required to be working as a full-stack developer.
The daily lessons and coding labs went on for around eleven weeks and during the last two weeks of bootcamp, we did our final graduation project. For this project, we had an opportunity to work together with a client.
Every group was faced with a challenge to use everything they had learned and to deliver an actual product.
My team helped a health-tech company build dashboard components that would be used by its customers as well as their employees.
During this coding sprint, we made sure to regularly check in with our client about our progress so that it was in accordance with their expectations. Because of the COVID-19 pandemic, we had to work remotely for the entirety of the sprint. Here the importance of progressing as a team truly shined through.
I believe that the reason we all could adapt and succeed as fast as we could was because of how well we had come to know each other as a team. We worked really hard together to make a good product and when the graduation day came; we presented our solution to the client as well as the rest of our class. After that, we graduated as full-stack developers.
Looking back now on the intense 13 weeks of coding bootcamp there were several important lessons I took away that I figured that I would share.
1. Put in the time
Let’s start with the most important point: “Put in the time”. There is a range of reasons why you applied to the bootcamp in the first place. Regardless of what your motivations might be, the most important part to succeed in the bootcamp is to put in the time.
It became evident, the longer that the weeks progressed, that the people with the fastest progress were also the same people that were doing lots and lots of extra work.
If I still had the illusion that there were these genius programmers that could build difficult software from day one; it was quickly shattered by witnessing the sheer amount of hard work it took to learn to code well. The truth of the matter was that the most successful people were also the people that put in the most hours. I cannot stress the last part enough.
In addition to going through a hectic schedule; these people had side-projects, watched extra tutorials on YouTube, did online-courses, etc., all to further their understanding.
They started to study early in the morning before class; went through the daily lessons and coding labs like the rest of us; and after that, they would continue to work on something when they got home.
It might not be healthy in the long run to keep up that tempo, but for these 13 weeks it was completely necessary. Ultimately, that is what a coding bootcamp boils down to. It is an amazing opportunity to immerse yourself in a new skill and change your direction in life in an incredibly small amount of time — but only if you decide to make it so.
2. The value of surrounding yourself with highly motivated people
I went into the bootcamp determined to take every moment I could to learn as much as possible. At the end of each day, my head would be so filled with all of these new concepts; that every day felt like my first day at a new job.
Some concepts like Redux or callback functions are really difficult to grasp, which required me to study some extra during the evenings and weekends despite being completely fatigued. However, I knew I was not the only one doing that.
Looking back at the bootcamp, a key-factor for me to absorb and process all of that information in that short amount of time was to have highly motivated classmates around me. Just knowing that you had people going through the same journey and having the same struggles as yourself kept my spirit from breaking when times got tough.
At times the course got so intense that I started to dream about coding and, honestly, it was pretty much all I thought about for 13 weeks.
It is hard to imagine going through such a fast-paced tempo without some external motivational force that cheered you along.
Of course, it was way more fun to do something challenging like this together with like-minded people as well. You got to know each other fast and after a while, the people around you started to feel more or less like an extended part of your coding-family.
3. You are going to be learning forever
Something I knew early on, but grasped much later, was the sheer amount of technologies and tools out there. When the Head of Curriculum, who had been working within the field of software development his entire life, raised his hand during the Friday presentation on the sixth week and said: “Now we are starting to get into some stuff that I am not sure about anymore.” then you know that the required amount of learning is a lot to say the least.
And there you have it. Even for seasoned senior software developers; the learning never truly stops. To have a passion to continuously dabble in new technology, wrestle with frameworks and integrations are all necessary parts of succeeding within software development.
However intense the 13-week coding bootcamp is; the reality is that at the end of it, you are only just starting.
With that mountain of knowledge to take in, it might seem overwhelming at times of how much you need to learn.
To feel overwhelmed is such a common fact that the Head of Curriculum has the class collectively repeat the following phrases out loud (and I am paraphrasing): “I don’t know”, “I don’t understand” and “I don’t have a single clue of what I am doing right now.” at the beginning of every coding bootcamp.
Because, as much as there is to learn, there is also no shame in asking questions and being humble to the fact that you don’t understand. Every person will pick up different concepts at different speeds, and that is just how it is.
Well, except for callback functions — callback functions are just difficult to understand for everyone.