So you just graduated from a coding bootcamp. Congratulations!
You're not alone.
Many graduate from online courses and in-person coding bootcamps (aka code schools) every year. This glut of talent may sound like bad news.
You, recent graduate, may be feeling pessimistic. There seems to be too much competition for junior positions. And it's getting worse by the (demo) day.
But I welcome it.
I believe that adding new talent to an ecosystem with room to grow actually increases opportunity overall. Startups that would have otherwise thrown in the towel for lack of talent feel emboldened to venture more. Larger enterprises gain the confidence to start new projects. Careers are advanced at all levels.
But my optimism for this new software industry landscape isn't shared by everyone. I've witnessed, both in-person and on Slack, many bootcamp grads struggling.
That struggle arises partly from imposter syndrome, which I'll address at the end.
But it's also about not being sure what steps to take now that your job training program is complete.
Junior devs are the foundation of a strong industry. We need you.
So here are some tips for those wondering, "Now that I'm done with my coding bootcamp, what should I do next?"
What should you do as soon as your coding bootcamp ends?
The day after your training ends is not a good time for a vacation.
Your last day of bootcamp isn't really your last day. It's actually the beginning of a new journey.
Your final project is not the capstone you finished just in time for your big presentation. Your final project is getting a job.
Work on this new project with as much intensity as your final days of class.
A coding bootcamp doesn't get you there. It just points you in the right direction. It's a career accelerator. If you take time off to recover from your training, you'll lose momentum.
When a junior dev asks me for career advice, the first question I ask in return is usually "How are you taking advantage of the career services offered by your school?"
Use them all.
- Set up career counseling meetings with their staff.
- Ask them to review your résumé.
- Schedule mock (practice) technical job interviews.
- Attend events held in their space, including the graduation of subsequent classes.
- Use all the resources they provide for local tech networking and job opportunities.
In particular, make sure your bootcamp does a good job "training employers".
Bootcamps should do more than attract applicants to the front door. They should also be growing and grooming a hiring partner network out back.
Your school should be preparing companies for talent like you by managing expectations and playing up their reputations. If you apply to a company that has never heard of coding bootcamps, or never heard of your program in particular, ask your school for help.
Do all these things even if your school doesn't have well-defined "career services". Push for it. You deserve to get your tuition money's worth.
Many recent coding bootcamp graduates start their post-training lives with a review. Not having every lesson memorized stokes anxiety. So they delay the start of their new careers to return to lesson one.
Sometimes that's worthwhile. If you're suffering from imposter syndrome, it can be a confidence boost to go back to some early exercises from the course and realize how something that confounded you a few months ago now seems so trivial. All your tech problems haven't gone away, but at least they've changed - they're bigger and more complex now. You've made progress.
But don't linger on basic coding exercises. You don't need to master every lesson to get a job. You just need to know enough to build things.
Instead of returning to Codecademy lesson one, create something. You'll learn more from a good project than from a review of fundamentals. And projects look much better than "badges" on a résumé.
Many bootcamp grads stop coding after graduation.
Some dedicate all their time to the job search, but none to honing their craft.
Some, after a long unsuccessful job search, lose hope and stop everything.
Some, even after successfully landing a job, find themselves in a role that appreciates technical knowledge, but doesn't require writing code.
Some alumni, both successful and not, attempt to return to coding weeks or even months after graduation, only to find their dev environments aren't working anymore.
Don't be like those people. Don't stop coding after graduation.
The most successful graduates treat their post-bootcamp time with just as much discipline and seriousness as the course itself.
Like the bootcamp did for you during the course, set up a daily schedule. Show up on time, not for class, but for yourself. Make a plan. Block out the entire day.
Many people attend in-person bootcamps because they lack this kind of discipline. Otherwise they would have opted for a cheaper, fully-online, self-paced course. If you're one of those people that can't get moving without an agenda, here are some tips.
Start with something simple, like making at least one public Git commit or pull request every day.
Try publishing one short blog about a technical topic every few days.
Then, over time, make your agenda more complex.
A coding career is like a video game. The early levels that seemed so difficult are a piece-of-cake now. But there are many harder levels coming up.
Like many games, the secret is to be leveling up daily. Every line of code you write is another experience point. And every point you earn gets you closer to the next level of your career.
ABC - always be coding
You may not have done your best work during bootcamp. Maybe you passed the course, but you skipped a few projects or assignments. Right after graduation is a good time to finish your homework.
Employers may call your school for a reference. They may ask how well you did in the program. A good way for a busy teaching team to jog their memories is by looking up your scores. Leave a good impression in the gradebook.
Everything feels rushed during a coding bootcamp. That's the point of rapid skills training.
Unfortunately, students feel like there's never enough time to work on their pet projects.
Weirdly, after bootcamp ends, students rarely return to those same projects. Many startup MVPs are sitting open-sourced in the GitHub repos of coding school alumni.
Right after graduation, but before the crunch of a new job, is the perfect time for highly effective project-based learning. Your old code doesn't yet feel like a distant memory and you finally have time to fix those rough spots you had to plaster over for your final presentation. You can even create a prototype of that startup you were envisioning before you started the course.
Instead, students find any excuse never to return to the hackathon-quality code they rushed out for their demo day. They'll spend all their time applying to jobs. Or they'll try to earn as many online training "badges" as they can.
But, as a junior dev, nothing shows off your skills better than a good portfolio of projects. You'll learn more, and more quickly, from projects than from re-watching old lectures.
If you can't think of something to build, here are some project ideas you can use for inspiration.
Improve the final project you worked on for your demo day. You can also return to earlier projects from mid-course and make them portfolio-worthy - or, if it's not worth the effort, delete them from your GitHub.
Make your projects unique. Everyone in your class probably built the same stuff. Add something that makes your app stand out from your peers.
Find the skills employers want, then build something using those skills.
Try to re-build an employer's product. For example, if you're interested in working for a health IT company, built a doctor's appointment scheduling app or a prescription drug tracker.
If you're interested in design, mockup a new homepage for an employer's site or a landing page for one of their new products.
If you're interested in devops, try to launch a basic site on the company's preferred cloud provider.
Not only does this kind of work demonstrate a passion for your target company's niche, but it also makes you appear like a potential competitor - one that an employer would rather have working for them than against.
Freelancing is intimidating for junior devs. Imposter syndrome kicks into high gear when money is on the table. I just (barely) learned how to do this! How can I justify charging people money for it?
Just like that grade school myth, juniors tend to think there's a "permanent record" that'll be marked in bright red if they fail to deliver on a freelancing gig. Your career could be over as soon as it starts.
Instead, new bootcamp graduates should consider freelancing another step in their educations. This time, however, instead of paying to learn, you're getting paid to pick up new skills.
It's not going to pay much. Often junior devs agree to fixed-price projects that, given the number of hours and inevitable scope creep, turn into effectively less-than-minimum-wage gigs. But that's ok for your first time. And it's not forever. And, even if it turns out badly, you'll still have learned something.
Also, though this may sound hard to believe, there are plenty of low-skilled coding opportunities available - usually the kinds of things professional freelancers wouldn't consider worth their time. A little HTML/CSS can go a long way, though not usually very profitably.
And don't forget you're not alone. If you get stuck on a freelance project, reach out to your alumni community. You may be surprised to discover how many Wordpress admins there are in your web-dev course's alumni base.
There may be a Code for America chapter in your city. If there is, and it's anything like the one in Miami, there are probably a bunch of open-source projects for you to work on.
Well-meaning devs start-and-never-finish public service apps all the time. It's volunteer work, so life (e.g. paying rent) sometimes gets in the way. Nonetheless, it's still a great place to gain experience with gracious local government agencies and non-profits.
If you're lucky, your project may even get press and attract the attention of an employer.
A hackathon is a time-limited competition, usually in-person (sometimes virtual), that takes place over a weekend (sometimes longer), where teams come together to quickly build apps on a particular theme or using a particular technology.
Some participate to win. If you find yourself on a good team, cash and prizes await.
Junior devs should be using hackathons to learn. Many companies use hackathons to introduce or promote their products, so use it as an opportunity to take a guided crash course in some tech and possibly create a project to add to your portfolio. Some hackathon winners even go on to form startups.
More importantly, hackathons provide an opportunity for hours of networking with both highly-skilled local talent and sponsoring companies - sponsorships that are typically motivated by recruiting.
As you work on these projects, keep your GitHub profile clean. Your
GitHub project portfolio may be more important than your résumé. Specifically, remove any half-done app repos and unnecessary forks. Make sure the projects you keep have good
READMEs describing what the code does and how to use it, particularly to a relatively non-technical audience (e.g. someone in HR at a tech company or a technical recruiter).
Despite the flood of junior devs into the market, coding remains a niche skill. Few people know how to do it. Some of what you've learned to do seems like magic to other people.
Companies hiring devs aren't necessarily techy themselves. You may not know much, but you don't have to know everything to apply to a job. You just have to know more than the person on the other side of the interview table.
You've essentially learned how to take information you found online, usually for free, and sell it to people. Use that grift to your advantage.
You may not know the answer to every interview question. That's ok! Knowing the answer isn't what marks your progress. It's knowing how to find the answer that makes the difference.
Your pre-code-school self didn't understand what the questions meant - tech jargon is a foreign language to non-coders. The you-of-a-few-months-ago wouldn't even know where to begin to search for answers or even recognize the answer when you found it.
You don't have all the fish. But you know how to fish. You know where StackOverflow is and what it does. Most people don't.
No matter your seniority level, there will always be things you don't know. Not knowing the answer isn't your bootcamp's fault. Not knowing how to find the answer is.
Searching for a job is similar to building a startup. Find a problem a company has, then turn yourself into the solution.
But that's ok. Every new line of code you write still counts, even if you don't use all those skills in your next job.
There are companies hiring coders who have never heard of coding bootcamps. Of the companies in-the-know, some don't recognize your particular school.
Your city's entire tech scene didn't attend your demo day. The few that did don't represent your entire local tech ecosystem. Don't expect them to notify other companies about your awesome presentation.
Your school isn't going to hand you a list of every potential employer in your city at graduation. They may not even be able to. The companies that need your skills may not be on anyone's radar yet.
Get out there and find them.
Around a decade ago I learned about a company that had just won some local tech business award. They weren't well known. They didn't even have any open positions posted. But I introduced myself anyway. And I got that job.
Companies make news because they want attention, both from investors and talent. Check your local tech news daily to find companies that may be open to considering you.
Focus on businesses that have just raised funding. Investment doesn't go to companies that just want to sustain. It goes to ventures that want to grow, which usually includes growing a team.
Your local tech scene may seem intimidating and unwelcoming to newcomers. There are many events on Meetup and Eventbrite, but you may not be familiar with all the tech jargon in the descriptions.
Find the courage to attend anyway. Go with a group of your fellow classmates if necessary. Because being on the guest list has advantages.
You may be granted access to the other names on the attendee list. Scan it for interesting people, both before and after the event. Add them to your target list.
Focus on meeting people who work at the companies you're interested in.
Then stalk your prey, which I mean in the nicest possible way!
Specifically, every time one of your targets attends a networking event, try to be there, find them, and say "hello".
Connect with them on LinkedIn, Twitter, and Facebook. Join every meetup that they've joined. Monitor event attendee lists. Then keep showing up, over and over.
If you've already applied for a job at that company, make it impossible for them to ghost your application.
Make them want you on their team even if they can't yet think of a role for you yet. Be persistent.
Just don't be creepy about it. Don't show up at someone's wedding uninvited. Keep to networking events and respect boundaries.
The tech job meant for you might not look like what you expect.
There are people who get paid to enter data into forms and spreadsheets all day - the copy-pasters. Some people get paid to communicate - make phone calls, write emails and text messages, schedule appointments, etc.
There are many jobs that can be made easier, even obsolete, with the right app, especially if you have the skills to use and customize the software.
Steal those jobs, build those apps (or discover them online), and replace those people.
When you're done, refer your newly unemployed former coworkers to your coding program to be trained for the new tech economy.
Just take the interview.
You'll never know everything a company wants. Companies understand there's no such thing as a "perfect candidate".
Instead be a "perfecting candidate". If an employer wants you to learn something new, create a training plan for yourself. Make a list of all the resources you'll use to ramp up, both before and on-the-job. Include not only online training courses, but also people or Slack communities you'll reach out to for help, including your school's alumni.
Just take the interview.
Take it, not because you're ready, but because it shows respect. The people who work at companies are human. They can get hurt feelings if you turn down an interview request because you're "not ready yet". And making a company feel bad is a quick path to rejection.
Just take the interview.
Take it even if you don't want the job. Make it an informational interview. Find out what skills they're looking for and learn about the company culture. Add your name to the applicant pool. A quick introduction will give you an advantage if you later change your mind.
Just take the interview.
The worst that can happen is you don't get a job you want. But the interview experience is still valuable.
Find out why the company didn't select you. Or ask someone who works there, staff from your school, or an alum to find out for you.
Then focus your learning on those missing skills to improve your chances for the next opportunity.
Given the tremendous growth in the tech-education industry, bad bootcamps are to be expected. They all get bad reviews, but some get more than others.
However, saying "My school sucks, but I'm still a good hire" is not a winning interview strategy.
I'm not saying don't write a bad review or share your story with other prospective applicants. Please continue to do that. It helps.
I'm saying that a job interview isn't the place to vent your frustrations about your training.
First, complaining about your training is similar to complaining about previous employers. If you're hired and later leave, the company may assume you'll complain about them at your next gig. That underlying "bad feeling about this" can be enough to bomb your hiring chances.
Second, you're hurting your classmates. A school's reputation is built on its alumni. Coding bootcamps don't produce curriculum. They produce junior devs. You are the product. What you do reflects on the entire program.
By complaining about your bootcamp in an interview, you're hurting the school's reputation and, more importantly, hurting the employment prospects of any classmates who don't share your opinion.
Instead, if you found your training lacking in some way, talk positively about all the things you did to make up for it. It's ok to sell yourself as a better candidate than your classmates. It's not ok to sell yourself as better than the school itself.
Unlike college, most coding bootcamp students don't attend straight from high school. Many are career-switchers. Some may even have a prior non-technical degree.
But even if your old job was working retail or bussing tables, don't run away from your past. Career-switching coders are good because of where they came from, not in spite of it.
Don't hide your old career. Those skills still count - they may be transferable.
Specialized coders are valuable. There are lots of med-tech companies who want to hire former pharmacists or medical billing specialists. Restaurant and hospitality-tech may appreciate a former cook or waiter who now knows how to code. Pitch yourself as a combination of your old life with your new skills.
The phrase "unemployed coder" is an oxymoron. If you can code, there should be a job out there for you.
But "underemployed coder" is quite common. There might not be a full-time position open for you at this time.
However, there are many small gigs available. There's always someone willing to pay you to make things happen on the magic mystery machine.
That's not to say full-time is necessarily better than freelancing. There are plenty of crappy FT jobs too.
But there are no "dead end" coding jobs. Because, as a junior, every line of code you write levels you up. Even the worse junior dev gig is still getting paid to learn, which is a step up from paying to learn at a bootcamp. And that learning, even in poor circumstances, opens up new opportunities.
So take whatever job you can find and start building experience.
A bad job isn't a life sentence. You can leave whenever you want. And, if the environment is toxic, you should ASAP.
But if you're just mildly unhappy with your new role, keep at it, while continuing to search for a new gig on your off time. Keep looking for something better even if you've just accepted the offer.
I've heard from many new devs who balk at the idea of leaving a job too soon after starting. They feel disloyal - like it'll appear on their "permanent record". Or like they're cheating on a spouse. So they "stick it out" way past a job's natural expiration date.
But a job isn't a marriage. You really can leave whenever you want for almost any reason.
So, if it's not too much trouble, keep at it. If you don't enjoy the job, it'll only take a few months of experience to unlock better opportunities.
In the future, the way we talk about coding will sound weird. It'll be an assumed part of basic literacy.
For example, saying "I learned how to code! Now I want a job as a coder." is going to sound like "I learned how to write! Now I want a job as a writer." Almost every job requires some writing skill, regardless of whether the word "writer" appears in your job title.
We've already seen it happen with basic computer skills. Even auto mechanics use a computer to order parts these days.
We're beginning to see it happen with coding skills. Many administrative jobs now have a "Nice to Have" section for things like basic web design skills, HTML/CSS, or even WordPress.
You may officially be called an "office administrator" or work in marketing or sales. But being able to, for example, keep the company's website up-to-date gives you an advantage. You're more productive than the coding illiterate masses.
Someday those "nice to have"s will turn into requirements. Later they'll just be assumed of any computer-literate applicant.
You're ready for that future now. Don't be afraid to take those jobs. As long as you're coding, even just a little, you're improving, even if your job title doesn't contain the words "coder", "developer", or "engineer".
A few months (even years) into a job many alums still refer to themselves as "junior". Stop doing that. Just tell potential employers your experience and let them decide where you stand at the company.
Imposter syndrome is real. Everyone has it, even senior devs. But for newly-minted coders, it's particularly acute. You'll feel, even after finishing the course, what the critics have always argued about coding bootcamps: that a few months (or however long your course was) isn't enough to prepare you for a job.
But don't let feeling like a phony get in the way of your career. Confidence, particularly during an interview, can make a difference.
You may not think you're ready, but you're better than you think you are. Here are some tips to help you overcome imposter syndrome.
If your school is doing its job, the most recent graduating class should be the best one ever.
First, you should have the largest alumni network of any prior graduating class. That network should include people with influence on hiring decisions who will vouch for you.
Your network should also be well-known. Potential employers should understand that, by hiring you, they're also hiring the alumni who support you. You should never feel stuck or alone on the job.
Second, you should be the best-trained class ever. Good coding bootcamps improve the curriculum between every cohort. You should have learned topics that previous alumni were never exposed to. That gives you an advantage.
Computers aren't magic. They are simple machines that go very fast.
You know how to use the hammer. Don't worry so much about whether the hammer is metal or wooden, long or short, heavy or light.
If you've learned, for example, Ruby, it's actually not a big leap to switch to Python, .NET, or Java. Many languages look the same (i.e. almost all of them look like C).
Once you've got some programming fundamentals down, you can figure out the rest as you go.
If you ever need a confidence boost, try talking to some of your non-tech friends and family about what you've learned. If they stare at you like you're speaking a foreign language, then you must have learned something.
Then imagine competing against those people for a tech job. (Because, sometimes, that's actually what's happening).
People are going to stand in the way of your new career.
Devs with multi-year CS degrees may be jealous you got a job after a few months of training.
Employers may take advantage of you during salary negotiations because you're new to the industry.
Devs who use other technologies are going to disrespect the tech stack you learned.
Haters gonna hate. Don't let them win. They're all just trying to overcome their own imposter syndromes. They're pushing you down to lift themselves up.
No amount of advice can conquer imposter syndrome. Even if you power through all your anxiety to successfully land a job, you'll still live in fear of being fired every day - as if, at any moment, they'll discover your "true identity".
So my last bit of advice is based on my anecdotal experience with alumni who have been let go from companies. Usually, they don't get fired because they can't code.
Companies understand they have to invest time in juniors to ramp them up. What they don't like to see is when a new hire stops caring - when they get so frustrated that they stop asking for help and quit improving themselves. That's the most efficient path to the exit.
Since imposter syndrome can't be defeated, you have to fight it every day. You fight it by continuously and incrementally improving yourself, whether it's through online learning or simply asking for support from your teammates or community.
- Advice from an Old Programmer
The coding bootcamp you just finished isn't the end. Don't think of it as a goodbye. Think of it as an orientation for the rest of your career.