So the plan has changed a little. Over the past 5 months I’ve completed my first “semester” of work. It’s been great and I think those courses were absolutely the right choices to get started. However (and there is a however) the downside to this whole DIY education thing has become pretty clear. I knew the lack of community would be an issue. Without a class of students and a team of professors and TAs, it was likely going to be difficult to develop a network of like-minded people. The related issue I didn’t really foresee was the lack of feedback.
As with most things in life, there are a lot of ways to approach a coding problem. Just because you’ve arrived at an answer, doesn’t mean it’s the best answer. It also doesn’t mean your code is in any way readable. Gauging the speed and efficacy of a piece of code is a relatively trivial task. Evaluating structure and design requires a person. Going through online courses and MOOCs is great for a lot of reasons but this is one area in which that approach finds itself lacking. Sure, it’s completely doable to post to Stack Overflow and ask questions in your course’s Slack or message board. The problem is that there isn’t any one person that has been tracking your progress and asking in a public forum is a bit of a crapshoot in terms of your respondent’s ability to meaningfully help you. Personally, a dedicated instructor or mentor started to sound pretty good.
So I’ve decided to enroll in a coding bootcamp.
“But”, says no one, “that’s contrary to the DIY ethos you so eloquently half-way alluded to in your previous posts”. Yep, that’s true. It’s also true that a lot of coding bootcamps market the lack computer science fundamentals in their curriculum. This has been a major concern of mine. Bloc (the online bootcamp I’ve enrolled in) even has it’s CTO quoted as saying
"Expect to skip the fuzzy theoretical stuff; this isn't Computer Science 101. Instead, we focus on the pragmatic skills and effective tactics used by the best web developers in the industry."
That scares me. I don’t think glossing over the “fuzzy theoretical stuff” makes someone a better programmer. In fact, I have a sneaking suspicion that missing out on a deeper understanding of the subject in favor of a quicker entry into the market a good engineer does not make. This coupled with the typical branding for most bootcamps, i.e.
"Jane made $20,000 per year before X bootcamp and now she's your boss and owns this amazing yacht***!"
is …off-putting. These kind of promises and focus on financial success sound a lot of alarms for me.
On the other hand, I do think that the service that bootcamps offer is real and I can now verify that the materials that Bloc, specifically, provide are excellent. I think viewing a bootcamp not as an end-game but as a small step towards becoming a great engineer is the way to go. It just happens that much of the marketing around bootcamps tends to make it look more like a magical key into a land of enchanted money where in reality, it’s just one of the many educational resources you’ll likely need.
Here’s the conclusion I’ve come to: A program that offers the relatively constant support of and feedback from a professional programmer is worth it. Having someone actually look at all of the code I write and offer critiques, even when I’m not asking a specific question, is invaluable. While it is possible to elicit feedback from friends in the know and online communities, having one person who is there with you for the whole process is, as it turns out, a super efficient way to learn new concepts.
*** Side note, the correct spelling of “yacht” was two “Did you mean?”s deep. Does not come up often. I presume I’ll never concern myself with the plural.