What Is The Most Difficult Thing About a Programming Bootcamp?

A couple of days ago I was asked, “What was the hardest thing you learned in General Assembly’s Web Development Immersive?”

I assumed this question would yield a simple answer. I thought about the various best practices my instructors taught me. I thought about the nuances between the different programming languages we covered. But as I looked back on all of the different concepts, languages and frameworks I studied, I realized the most difficult thing I learned was twofold: how to think, and how to regulate myself.

When I started at GA, I was excited about the new possibilities the program offered. I was leaving a career that I enjoyed, but left me wanting more challenges. GA provided me with the opportunity to learn the skills necessary to transition into programming at a high level. I was looking forward to the new community I was going to enter. I was looking forward to the new ideas I was going to encounter and the new ways in which I would be growing and progressing as a new developer. I assumed I would flourish in this new system.


My initial experience did not reflect that. I was very overwhelmed by the vast amount of information presented in class. The pace of the course was no joke! We were immersed and there was no turning back. I saw my classmates and felt as though they automatically understood the concepts being presented, while I was not. For the first week or so I felt like I had made a disastrous mistake. I didn’t belong. I began to isolate myself from my colleagues and my instructors. What had I gotten myself into?

These feelings and thoughts were not a product of the environment at General Assembly. The staff was very accommodating and helpful. Whenever I had a question or concern about my progress people were available to speak with me and help me through my feelings. On a weekly basis the staff made adjustments to the curriculum to help facilitate my growth (and the growth of my peers). The instructors were descriptive in their presentation of the concepts and helpful whenever we had questions. As I dug deep into what was causing these feelings, I was able to diagnose what was causing the anxiety and help shape the way I would learn and thrive in this course:

  • I was not breaking complex problems into smaller (and simpler) problems and solving them in a methodical manner. Early into the program I would stare at problems and become paralyzed with the complexity of what was in front of me. Once I learned how to view problems and break them down I was able to approach programming and debugging with more confidence and enjoyment.
  • As part of that learning I also realized I needed to speak up and ask questions, collaborate, get feedback, and learn to fall down and get back up. The world wasn’t going to end if I couldn’t immediately solve a problem and I was not going to be found out as some fraud in the programming world. As I began to speak and bond more with my colleagues I found that we were all in the same boat. That feeling of camaraderie help us to push each other and learn more than we would have learned in our own individual capacities.
  • I also observed that I was not resting properly and giving myself a mental break. I was so consumed with trying to do so much programming and learn everything that I was not enjoying my life. I had to learn how to unplug and give myself a break. Sometimes this meant walking away from a problem that I couldn’t solve and tackling it the following day. This seems counterintuitive when you read it, but honestly, it helped me to regulate my time and better understand my programs when I came back to them. This helped me get back to why I was interested in programming to begin with. Programming is awesome! It’s great to create something from scratch. As a part of that process you’ll want to be able to laugh at yourself and take some of the mistakes and missteps in stride. Breaking programs down and building them back up become fun and fluid after time.

I have learned many things that will give me a solid foundation moving forward as a new developer. I consider my experience at General Assembly one of the greatest periods of growth on both a professional and personal level. However, learning how to problem solve and regulate myself were the most difficult and most rewarding things I learned while diving deep into programming. I hope this helps anyone that is thinking of taking the plunge on joining an immersive web development program.