As I’m finishing up the curriculum here at Flatiron School, I find myself reflecting on my experience and what it means to me and can’t help but ask a few questions to myself:
- Did I make the right choice leaving my job to pursue a career in programming? Should I have at least tried to maintain employment while going through the curriculum?
- Did I make a wise choice paying thousands of $$$ for material that really with a little bit of research is available for practically nothing?
- Should I have made a greater effort to self learn?
- Am I really ready to be a programmer and developer? Do I need more time to learn? Or Just more experience a job will provide me?
- What was my experience relative to what my expectations were coming in?
I think it’s important to evaluate personal circumstances when asking these questions, so here are some of the details about me:
- I’m 34 and male.
- I worked at a job I absolutely hated for 15 years for various reasons not related to complacency.
- The last 4 years I stayed at the job as I needed the stability for both the birth of my son while putting my wife through college + coding Bootcamp herself. I believe strongly in personal sacrifice for overall growth.
- Being at a single job my entire adult life, I haven’t gathered much experience job hunting and interviewing.
- I was making roughly half of what I expect to make as an entry-level programmer.
- I had limited exposure to coding back in high school and found it extremely tedious. I also attempted to self learn, but couldn’t focus enough to absorb the material.
- That job I hated was having a very real, visible impact on my mental and physical health.
- My wife was able to get a graphic design job that would be able to support us on a single income for a few months while I went to school.
So with all these factors, I chose to leave my job & enroll in Flatiron School, as I felt the class structure would be critical to helping me focus on the material I could too easily brush off on my own. Also, career services for X amount of time after graduation was extremely appealing to me as someone who is not only trying to break into a new field but hasn’t looked for a job in over 16 years now. It also helped to have someone close to me going through the Bootcamp experience as well, and seeing my wife’s growth and what she was able to do was very inspiring and helpful. (I STRONGLY recommend marrying someone who is either ahead of you, or already completed with the Bootcamp material to make your life easier. To each there own though!) So was it all worth it to this point???
Pros of Bootcamps:
Classes: That class structure, from my cohort lead to my classmates, has done everything I expected in terms of positively impacting my ability to learn and absorb the material. The dreaded “Imposter Syndrome” I’ve read so much about seems like a funny sidenote to me because I’ve seen not just my cohort lead, but plenty of other awesome developers run into mistakes that had to end classes early or at least delay them! Maybe I’m twisted, but seeing professionals currently operating at a level I want to be at one day messing up as badly as I do was almost worth the price of admission itself. Let’s not forget my fellow students as well! I was impressed because you can not usually find a space on the internet without at least ONE negative person changing the energy of the group somewhere along the line. But not here, every single person who contributed to the group was extremely positive and helpful. Even if we all turn out to suck as developers, I’m glad to have shared this entirely positive experience with all of them.
You WILL Be Taken Out Of YourComfort Zone: An under-considered aspect for people who want to learn programming is how easy it is to become complacent in their coding practices, and even in just a single language. BC’s are well aware of how easy it is to get comfortable only doing things one way, or only doing things you like doing, and will push you and challenge you to better yourself in the ways you aren’t so comfortable with. If you’re not being pushed you probably aren’t getting the experience you need from a BC and I’d suggest going elsewhere. This is an extremely critical component of the actual mastery (not just learning) of any programming language!
Networking: An undervalued benefit of a Bootcamp is being able to develop an in house network to start off with. There are stories and resources EVERYWHERE in Flatiron, and everyone I’ve met has been more than willing to share personal and professional experiences to help me and my wife out. Obviously, self-taught learners will have the ability to build their networks as well, but for more reserved people it’s a nice benefit to have people you have had a chance to get familiar with helping you out.
Career Services Having just entered the career services part of the program, I am very excited to get this rolling, but can not comment too deeply on Flatiron’s effectiveness at this part yet. Hopefully, it will be as positive an experience as everything else has been so far, and can’t wait to update the status of my journey here when more become available. I will say that if career services prove underwhelming, my overall impression of the Bootcamp experience will take a big negative hit, as that may be the biggest selling point of many boot camps.
Cons of BC’s:
Life Style Changes: Specifically related to Flatiron, I do feel they push the “hard to maintain employment” while going through there curriculum a little too much. I found going through the full-time online course, that while I was more than ecstatic to finally be able to leave my job, I could have maintained at least part-time employment and kept a very similar pace to what I have been doing thus far.
Cost: As eluded to above, 100% of this material is already available to you for little to no cost if you nowhere to start (hint: Google). You have to be able to justify the cost of the program being for Career Services & structure, or most boot camps will provide you a particularly underwhelming bang for your buck.
Neutral’s of BC’s
Pace: In my experience, the pace was a clear -albeit minor- negative. The curriculum is locked and opened up a bit at a time weekly. Being jobless through the entirety of the program, I was almost always one of the first ones to finish the weekly lessons and could have quite honestly handled a bunch more some weeks if the courses were available to me.
Dependency: Once again, while listed as ‘Neutral’, for my tastes this is a negative. Having left my job to pursue my own growth, rather than find growth more organically as I had in the past, was a HUGE step for me. I mean, I was the guy supporting my wife through college, being the supported is a totally different role for me. Even though my wife and I have a good plan and a very solid understanding of the risks we were taking, I’ve never entirely shaken the feeling I’m counting on an outside organization for my personal growth way too much. From a different POV, this is really just a service you are paying for, but my personal feeling is that I’ve left myself more vulnerable than ever before. Such are the risks we take in life though right?
Having failed miserably at the self-taught style of learning programming, I do feel I’m not the best to list all the pro’s and con’s effectively, but I will try my damndest for you!
Pros of Self-Learning
Very modest life adjustment: Your time, your rules, your pace. You can change as much or as little as you like about your life to fit in time to learn this new skill. Assuming you have the self-discipline I was obviously lacking.
Cost: Easily the single biggest benefit on a large scale, the material you can learn from even the best boot camps is available to you TODAY all over the internet for practically nothing.
Freedom & Variety: There really is no limit except the ones you put on yourself, and you can pick and choose whatever language(s) you want to focus on. In a Bootcamp, the language(s) are predetermined (not a con, you know what you’re signing up for) and you will learn them in a specific order. Everything is available to you at any time, and there is an infinite amount of ‘do-overs’ & ‘start overs’ while self-learning!
Cons of SL
Lack of Self-Discipline is a Killer Almost every single ‘con’ comes down to individuals like me who just couldn’t focus on the material on there own. That lack of self-discipline basically cut off this way of learning for me, and honestly, it would have been my preference to learn this way if it was a viable option for me.
Lack of Self-Awareness Can Be Too! Fortunately, I had enough self-awareness and understanding to know that a BC could very well provide what I was missing. A lot of people will just convince themselves otherwise that a BC is a waste of money and they will just teach themselves when they’re ready. You have to be able to be honest enough with yourself to know when you can not (not for lack of aptitude, I believe in you!) do this on your own.
Coding Complacency: This isn’t to say your coding isn’t great, it most definitely is! But I can imagine a scenario where I get comfortable coding in very specific ways, which may or may not be best practices. Now, this creeps into boot camps too, but having an instructor going over your stuff with you and working one on one to critique your process is a good balance to this. Self Learning and developing your own style of coding is awesome, but can lead to some complacency and cause hardships in adapting to things outside of your comfort zone.
Neutral’s of SL
Independence: For me, this is what I missed the most. There is an immensely satisfying feeling to be had not relying on someone else to help you pave your way. However, being a self-learner can be a double-edged sword, and to avoid cutting yourself you may need to have a couple of extra points invested in your character’s charisma attribute (past experience also helps tremendously). That in-house starting network available to BC attendees won’t be there for you, so you have to learn fairly quickly how to reach out and stand out on your own. There is a definite benefit to building your own custom network up from scratch, however, and some of the experiences you gain from that will shape you in ways you didn’t imagine. Also worth noting, your job search is entirely on you, making your portfolio that much more important as you won’t have a minimum criteria of met expectations that a BC graduate may have. It is worth noting, that many self-learners have said they have gotten a job MUCH faster than if they went to a BC, though that varies by the individual.
Conclusion
It’s important to note that I don’t view my inability to learn to code on my own as a real failure, as it taught me a lesson I needed to know about myself to become a programmer at all: I needed more structure. Flatiron so far has been the best choice I could have made for myself. Do I believe it’s the best choice for everyone? Nope! No single choice is or should be.
If you have the self-discipline to actually sit down for a large number of hours (I’d say at least 20) every week, challenge yourself to do things outside of your comfort zone (while simultaneously expanding said comfort zone), AND have an understanding and ability to self-network and promote - Self Learning is the best choice for your hands down. The money you will save and the ability to study based ENTIRELY on your own schedule are major benefits that can not be overlooked.
If you lack any one (or more, no shame in that!) of these characteristics, a Bootcamp is easily the better choice. For me, the cost is the biggest universal deterrent, but in all likelihood (if you are in my position) becoming a programmer will be a big enough salary increase to justify the cost of the program EASILY.
I hope this has been at least somewhat informative and helpful. Just understand there is no wrong decision here, only your journey that YOU are responsible for making the most out of.