It’s been a while since I wrote to this blog. I’ve been busy adapting to my new life as a professional software engineer, since graduating from CodeCore, a coding bootcamp located in Vancouver.
Now that I have some distance from the bootcamp and have gotten some industry experience I figure it would be a good time to reflect back on the course, and offer my perspective to those considering going, or going through a bootcamp right now.
A bootcamp turned out to be a good investment for me, but your experience might be different. Writing professional grade software is a challenging task that takes a certain type of person to enjoy. If you are that type of person I think its a wonderful career choice that is very rewarding, in the sense of pride you can take in the work as well as financially.
Why did I go to a Bootcamp?
To answer that question I suppose I have to give you some background information. A bootcamp may or may not be a good investment depending on your personal situation. I’ll share with you mine and why I thought taking a bootcamp was a good idea. Just because it worked out for me doesn’t mean it will work out for you though. I’ll explain more about who I think is a good fit and who isn’t later on in this post.
After highschool I took a year off to work and save up money instead of going straight into University. I still wasn’t sure on what I wanted to be at the time. I chose chemistry as my major, which I think is a good choice for anyone in my situation since you will be exposed to physics and biology. For electives I often opted for computer science courses and math.
I do feel that my university education was a good thing to get for my career, although it alone is not enough. As a mediocre student (My average was in the 70s) my career prospects weren’t great upon graduating. I ended up getting a job in a dairy, which was a nice place to work, but didn’t present opportunities for advancement.
Looking for ways to make money I stumbled across a piece of advice that suggested you start a blog if you are interested in any kind of business. Since this was an easy piece of advice to act on I followed it. I started a WordPress blog and posted to it daily. http://awesomedrifter.com/ is the URL if you are intersted Eric On Rails came later.
I originally had the site on wordpress.com (free, but hard to migrate from) but eventually decided I should host it myself (you can get a shared plan for $5/month). In the migration the theme I had didn’t work with wordpress.org (the wordpress you host yourself). There was an issue with an if statement in the view or something. It looked complicated at the time. I didn’t even know why there were so many ? marks in the code ( <? php code here ?> ).
This led me to investigate further into how websites actually work. I researched the subject and stumbled across Ruby being mentioned which drew me in. Ruby’s philosophy emphasized programmer happiness and elegance of the language as its core values. I wasn’t sure on the difference between Ruby and Ruby on Rails at the time, but I decided to learn Ruby.
Studying Ruby made me learn about coding “bootcamps”. Since I had some money saved up I was able to afford one. I lived in Thunder Bay, Ontario (an isolated town of 100,000 people, 16 hour drive from Toronto). I researched the options, as a Canadian with a weak dollar I couldn’t afford an American program, so that cut my choices to Canadian bootcamps. Furthermore since I had invested my time into Rails I wanted a course that would teach that.
Given my circumstances CodeCore seemed like the best fit for me. Other bootcamps focused on other technologies, and I wanted to live in Vancouver instead of Toronto (an aesthetic preference).
With CodeCore I was able to focus on learning the programming parts directly alongside developing my HTML and CSS skills. I was willing to pay the tuition because becoming a software engineer sooner rather than later could cover the cost.
It came down to a time vs money trade off and I was willing to give up money to gain time. If you are serious about becoming a developer and can afford it I think a bootcamp can be a good deal. If you can’t afford it, thats fine too. You will just have to be more creative in how you learn.
What am I doing now?
I was fortunate in landing a job after the course. It was on my demo day I talked to a guy who actually knew what my project was about, which was making a gambling app (source code) on the Ethereum blockchain (think bitcoin 2.0). It was this conversation that turned out to be the first step of going through Koho’s hiring process, where I am happily employed now.
At Koho I am getting to learn a lot about software engineering. Since Koho is a small company I get to work on all levels of the stack, from the HTML front pages to writing daemons to monitor the backend servers. I enjoy the challenge and feel that its a good learning opportunity for me.
For me Koho is the first time working in an office. I didn’t think I was the kind of guy to enjoy office work, but it turns out I am. Previously I worked manual labour jobs (concrete, sheet metal, home restoration) and thought it was nicer to be active for your work. Now that I have experienced both types I like office work better, its a lot more comfortable.
For me going to a coding bootcamp helped me switch careers and was a great decision. For certain people I’d strongly recommend a bootcamp, for others though I would recommend against bootcamps. This leads into the next section.
Who Should go to a Bootcamp?
I think an ideal bootcamp candidate will already have a university education, preferably in a STEM field. They are constantly learning new things and have strong mathematical reasoning skills. They will be in a secure financial situation and be able to pay tuition and live without income for a few months. Furthermore they are enthusiastic about becoming a software developer.
Out of this list the most important is enthusiasm about coding. Making professional level software is a challenging task. Not everyone is meant to be a software developer, and thats fine. Whats important is to be honest with yourself and what you want to do with your life.
Day to day tasks involve long hours staring at cryptic error messages and bizarre bugs. A lot of your time will be wondering why your computer isn’t doing what you want it to do. The type of people who do well in the field are those who get a rush out of solving these problems. If that describes you, then I think you will do well pursuing the field.
Bootcamps are expensive, both in terms up front cost, as well as opportunity cost. They are of course much cheaper than a four year computer science degree, but taking one brings much less prestige than a traditional education. That is why I think it is helpful, but not essential, to already have a undergraduate degree of some kind, before taking one.
If you are older than perhaps going to university isn’t an option for you, in which case a bootcamp might still be a good choice. If you are just coming out of high school though, and are able to, I’d recommend taking traditional education, and focus on programming throughout your study. Having a degree will open more doors for you than a bootcamp certificate, although it is a much bigger investment.
The last consideration is financial. Taking out large amounts of debt to take a course can be a precarious situation. You aren’t guaranteed a job out of a bootcamp, and debt can haunt you for a long time. Taking a bootcamp isn’t your only option to becoming a developer.
I think of a bootcamp as being a trade of money for time, but the harder the money is for you to get, the less value is to be had from a bootcamp.
Alternatives to Bootcamps
Bootcamps are a relatively recent invention. A lot of people have become developers by teaching themselves. If you are determined you can become a successful developer without attending a bootcamp. It will just take you longer and be harder than if you could attend.
Wether you are in a bootcamp or not, you should get involved with your local community. Look for meet ups in your area and attend them. Make sure you chat with as many people as you can at these events, and find out what languages and technologies these people are interested in. This will give you a good idea of what skills are needed in your job market.
This will also teach you the lingo of the field. If you are used to talking to people about technical matters you will do well in interviews. A bootcamp will put you in contact with enough developers that you will develop this conversational fluency with the important terms. If you don’t have that benefit than you should work hard to cover up this gap.
In a field like graphic design it is easy to see if a person is good or not just by looking at their work. Software is much harder to form a judgement just by looking at code. This means people will judge you based on how well you talk about the subject. Don’t neglect your soft skills.
Another option is to try and find anyone who needs a website done and do it for them. Maybe you know some people who play in a band who need a site to help promote themselves. Maybe there is a restaurant who’s site doesn’t look very good and you think you could do a better job. Try to find opportunities to do work for other people. Don’t worry about the money too much, just focus on getting experience and good recommendations. With those the money will follow.
A bootcamp is a great experience, if you are serious about becoming a developer and are able to I’d strongly recommend going to one. If you work hard they are well worth the expense and time. Of course they are not the only way to become a developer. If you are determined and work hard you can get a job as a developer regardless. Likewise if you aren’t determined and don’t work hard in a bootcamp you probably won’t get a job as a developer either.