First off, congratulations! You have just completed a bunch of work in a short period of time and if you are like me, you did it with a ton of fear. You should feel proud of what you’ve accomplished.
In my current role as a software engineer and team lead, I often interview new bootcamp graduates. When I tell them that I was also a bootcamp graduate only a few years ago, they generally relax and almost always end up asking a good question (but one that is actually a bit inappropriate for the context that we are in): what do I need to know and/or what advice to do you have for me?
First, a bit about me (skip this paragraph if you’d like): In June 2015, I finished the App Academy bootcamp. I left the bootcamp both scared and excited. I was excited because I left being more sure than ever that moving to programming was the right career move for me and scared that I would fail to get a job. It took me a month or so to get a job, but I gave myself a 10 applications/day goal and usually hit it. I was lucky in that I had a shorter runway than most of the people around me so I knew I needed to a get a job quickly. I followed what was happening with everyone around me, and took note of what worked. In the years since graduating I’ve interviewed a bunch of people who’ve graduated from various bootcamps and my company has hired quite a few.
So here are the pieces of advice I have to recent bootcamp graduates:
- The number one skill you are missing is not purely technical, it’s experience working with code that you don’t know the context of.
The first card or task you’ll be assigned to, you will be confronted with a project that has many layers of context that you will not be familiar with, but you will be expected to make a change in that codebase. There might be a style in which you are expected to make that change that you don’t know or a git flow that the project works with that you’ve never used or a set of standards that the project has or a bunch of legacy code that everyone (except you) knows is very flawed but hasn’t required fixing and thus knows to work with it in a specific way for a task of the size you are tasked with. There will be an on boarding process (hopefully), but no one can tell you everything. If you went to a good bootcamp you learned how to write code, but most of the job is reading and understanding code and that’s likely new. This is a part of programming that very few people talk about because it’s the water we swim in.
You are likely to read about a bunch of new technologies that you think you need to know, but understanding code you didn’t write is the core skill of engineering and you can’t get it without experience. Everything that will be hard in the first year will likely be related to this. This means that chasing technical skills will likely not be very helpful to you. That doesn’t mean don’t do it, in fact before an in-person interview read the docs (or at least the README) of libraries they say you should know so that you can say you are familiar. But don’t go chasing technical skills yet.
- Finding your first job is likely to be a grind, but it’s the best use of your time
There were a few people in my class who put off getting a job. They felt they didn’t have enough skills or they wanted to take a big vacation. Those people for the most part ended up fine, but they all literally paid (in salary) for those decisions. There is a trap you can get into if you take your eye off getting a job. You decide to learn something, or make a new project, but then 2 months later you still have to get a job. That new knowledge and/or new project or time doesn’t change the number one reason why getting a job will be a grind: that you have no experience being paid as a developer. But now you are months further from the curriculum that may not have been sufficient but was designed to get you a job.
What I saw from the people who fell into this trap is that they ended up thinking they could learn a new skill that would suddenly make getting the first programming job easy. It won’t. In fact you are in danger of misinterpreting the people with benign motivations whose business it is to help you learn (and thus must present new knowledge with a bunch of enthusiasm or worse people bragging on StackOverflow) as ‘Oh no, I must learn X (the newest way of doing React, blockchain, lambda, etc)’ or I won’t get a job.
Knowledge is not your problem, experience is.
- Spend some time crafting a narrative
One question you will get when interviewing is why you got into programming. Or what you like about programming. There are a lot of soft skills questions that people will ask you. Some people are really good at this, but a lot of the engineers I’ve interviewed from bootcamps obviously spent more time worrying about whether they know how to optimize an operation where you iterate through an array of 10 elements than they did coming up with answers to questions you definitely will be asked. Do not forget about this. My advice is to look at your past experience and figure out a narrative around it.
My narrative was this: I was a designer who wasn’t happy with my career and I built a website for a project to get me better design jobs and found as much creative fulfillment from the programming as the design. Thus I quit my job and went to a bootcamp. Do not lie in your story, this must all be true. But do look at your past experience and figure out a way to tell someone who you are that puts you in a good light.
- Look at your project from the perspective of an employer (or new user) and fix all the stuff that a new user doesn’t know
Most likely you have a final project. I’m not sure how you feel about it, but there is no way you have any perspective on it. You likely see a few missing features or how some feature isn’t implemented in the way you think it should be implemented. Don’t worry about that.
Instead, if you are going to spend any amount of time polishing your final project, do so smartly. Watch a web-savvy person with no experience with your site navigate it. See what they don’t understand and fix those things. I often click through people’s sites and projects. I log in and I usually do 1-2 CRUD operations. That’s about all I have time for. Make sure that stuff works.
- If you are going to make a new project, pick either from passion or something that is significantly different from what you’ve already done
I am of the opinion that the project you should do now is finding a job, any job. Even a bad job will teach you more than you can learn on your own and will put you in a better position to getting a job you want (though obviously try to get a job you want now). But if you are going to start a new project, either do one where you have a passion for or that is significantly different than the ones you just did.
Obviously, this my opinion, and everyone has a different story. However, this advice would have helped me, and I hope it helps you too.