Eat, Sleep, Code; Repeat x90 Days; Emerge Refreshed
Slightly after dinosaurs roamed the Earth (and COBOL was still King), I graduated from Quinnipiac University with a computer science degree. It's stood me in good stead. As all IT pros do, I layered continuous learning on top of it, and all was good. That is, until a short time ago, when I sold GoCertify.com, which had been my primary focus for many years. I was ready for something new, but it wasn't long before I began to feel that my IT skill set was not.
I love programming because I can make things. All I have to do is put the right instructions in the right order. These days, however, those instructions have to be in object-oriented, event-driven format; most likely asynchronous; have a loosely-coupled front-end and backend; be secured by an authentication scheme that can withstand constant assault; and run correctly on devices that range from a smartphone that fits in a pocket to a corporate desktop with a wide screen. I only knew how to accomplish some of those things.
I started perusing certifications on GoCertify.com, looking for one that could serve as my learning blueprint and freshen up my resume at the same time, but I came up empty because a key to certification success is to match the credential to your current or desired job role — that is to say, you need a clearly delineated goal, and mine was murky. Next I investigated master's degree programs but discarded them as too much theory, not enough practice, and not apace with the latest technologies.
So I became a regular at Lynda.com and signed up for the Advanced JavaScript course from O'Reilly School of Technology, because it had an instructor I could interact with. It was high-quality, on-demand training that I could fit in around work, and I learned. But it was not enough; the gap between what I knew and what I wanted to know (some of which I hadn't even pinned down yet) was too broad. It was going to take Forever.
At that point I felt I had two choices: either limit myself to projects where my current skills would suffice while I continued to (slowly) expanded them, or put everything else on hold and go to a programming boot camp. When I discovered Coder Foundry mere miles from my home (which is not in major city), it seemed like fate. Suitably impressed after attending their open house, I plunked down a deposit, and enrolled.
Who Goes To Boot Camp?
The camp I attended was Coder Foundry's Master Class, which is intended for people who already have programming skills. My 10 classmates were men ranging in age from early 20s to mid-50s, with diverse backgrounds. Hugh Jones has owned and operated several businesses and wants to add a computer consulting firm to the list. Antonio Raynor, who so impressed his teachers they hired him themselves, is a software industry veteran who came to the class to update his skills, much like me.
Satya Nayak has a Master's degree in electrical engineering, but the jobs he was a match for pre-camp would have required relocating his family out of state, which he didn't want to do. Phil Weiser has a degree from Duke University (not in Computer Science) but had no job, a situation he credits Coder Foundry with remedying. Several recent computer science graduates were also among the mix, attracted by the combination of hands-on practice with in-demand .NET technologies combined with assurances of job placement.
The lead instructor, Andrew Jensen, has an enviable job. He gets to teach students who couldn't be more eager to learn, helping them gain skills that have a high likelihood of substantially benefitting them. Plus he pretty much gets to design and adjust the syllabus as he sees fit, even on the fly, rather than being a slave to someone else's curriculum as he was in his previous job as a university professor.
What It's Like
So there we were on Day 1 at 9 a.m., seated at tables with our laptops at the ready. The syllabus, which had been available in advance, was passed out. It included Microsoft ASP.NET MVC and Web API (with OO C#), GitHub, Bootstrap, and AngularJS, with sides of Microsoft Azure, JQuery, SQL, and Insight ORM. We were ready to dig in.
Next we were handed a worksheet containing a half-dozen logic problems. For example, "165135 is to peace as 125225 is to: ?" Our jaws collectively dropped a little, but we were game. We bent over our worksheets and began solving the problems. Some were fairly easy; others, quite tough. When it came out that collaboration was encouraged, which was probably a key take-away of this exercise, we started chatting with our neighbors, and soon the problems were solved.
Finally we started on the meat. First up was the Bootstrap framework and GitHub code repository service. I'd heard of both but never used either. We employed them throughout the rest of the course and I'm still using them now. We put them to work immediately as we each began developing a personal website that would both utilize and showcase what we learned. You can see mine at http://annemartinez.com. For me this was an easy start, as I have developed many websites and know my way around JavaScript and CSS, but some people were struggling a little already. It was the last "easy" thing we would take on; from that point on, it was a relentless march forward at a staggering pace.
One of our first major projects was to convert our websites to ASP.NET MVC format and add a blog. The catch? We had to write the blogging software ourselves. Other projects included a bug tracking system (ASP.NET MVC), a car finder (Web API and AngularJS), and an online budget tracking system (Web API and a lot more AngularJS). These were all written from scratch during the 12-week camp.
A programming boot camp is not a place where you come in, work all day, go home and relax, and repeat tomorrow. Instead, when you go home you work some more, and then some more on top of that. Probably you'll be looking lots of things up online and taking supplementary tutorials in a desperate effort to fill in gaps and keep up. In this course, we were given broad outlines on a topic, followed by a coding project that implemented it.
There were a lot of details left to me to fill in as I applied the technology. We spent many of our class days quietly tap-tap-tapping away on our computers, completely engrossed for hours. Fortunately, if you reached a deadlock (which happened fairly often), you could call on either Andrew or his assistant (and former student), Thomas Parrish, for help; soon you would be tap-tap-tapping away again. This went on for 12 weeks.
After the first couple of weeks I found myself dreaming about computer code (for some reason endless loops were prominent). I thought it was just me, but then it came up in class that it was actually widespread. One student commented that he cut off coding strictly at 9 pm or otherwise he couldn't sleep because he kept thinking about his projects. How did he do that and get things finished, I wondered?
At times I struggled with the pace and the process. Was I learning enough, or just putting one line of code after another? I grappled with that in one of my weekly blog postings, and then put my head down and coded some more. Although I wanted to be there, I was not sorry when the last day of class arrived. We had final projects due, and people straggled in bleary-eyed in after having pulled all-nighters, many of them still without completing the project. In the conference room, I presented my project (we did this every week), then I closed the lid of my laptop, and it was over.
Is It Worth It?
Each student at this boot camp invested three months of their lives and a substantial chunk of change (just under $10K). Students who came from out of town also incurred lodging and/or commuting expenses. Did our investments pay off? To answer this question accurately, I waited several months before attempting to answer it, and now the results are in:
Of the 11 students in my class, one found the pace too demanding and switched to the part-time program (another probably should have done the same, but didn't). Of the remaining 10, seven took the course with the primary goal of obtaining new employment at the end, and three (including myself) were enrolled to refresh our skills, but not necessarily change employment. Of the seven job seekers, five are now employed, two are still looking, and one I was unable to verify — but his LinkedIn profile says he's working.
Throughout the process there were a lot of assurances made about employment prospects, so I'm sure those two students do not feel their time and money were well-spent, though they may yet land something. According to Coder Foundry, two students did not complete all of the assignments, and therefore did not officially graduate, but I was unable to confirm whether it is the same two who are still job hunting.
As for me, the answer is yes, it was worth it. I learned a great deal in a relatively short time, including many of the things I really wanted to know. Even though I don't think I'll be working much with ASP.NET, many of the lessons learned are relevant no matter what the platform. The experience was all-consuming, and at times not quite what I wanted it to be, but the end result is undeniable: my tech skills have absolutely been upgraded. Was it a $10K upgrade? That's a close call — but the training was available when and where I needed it, and included topics I wasn't aware were so important, which added a lot of value. Finishing up primed to take on a few certification exams would have been the icing on the cake, but even without icing, the cake is pretty sweet.