You took the plunge and here you are, a newly minted code bootcamper. You've endured the brain inundation of information and the inherent stress of not knowing what you're doing. Congratulations, you're here now and you're still asking yourself, "What do I do next?", I have no idea what I'm doing. You're here though, thanks Google.
As a developer, our job 90% of the time is to figure things out and create solutions using the resources we have available. You are a developer, you are just unemployed and finding a job is kind of the same process. It boils down to utilizing the available resources and creating your own solutions.
I've been in your shoes. I quit my secure job in a laboratory and decided to switch from Molecular Biology to Programming. I heard about bootcamps on NPR and felt like it was the best option given my student loan debt wasn't going to pay for my next degree. Drinking magma from the center of the Earth sounded better than another 4 years in college for a CS degree.
After finishing the bootcamp I wasn't sure where to go next. Most of the developer positions in my city had been occupied by the previous bootcamp cohorts and finding a job was proving to be more difficult than originally advertised. I have compiled all the lessons I've learned along the way and hope it helps you on your journey.
You graduated and by the end of the week you'll have your dream job in the bag. Better yet, your bootcamp will magically find the job for you. Cue turntable stopping abruptly. Some bootcamps may guarantee job placement but that doesn't translate to working in a desireable company or project. Alternatively, other bootcamps will refund you some portion of what you paid if you don't get a job after a period of time.
Technically, you are not guaranteed a job nor are you entitled to one. Some bootcamps help with the employment process by relaying available positions but you risk starting your career somewhere you shouldn't start at. You may very well find yourself unemployed 5 months after having graduated. I'll discuss this further in the next section.
Finding a job is akin to speed dating- it takes effort. You put on your best outfit and go to the interview with the hope of impressing them while getting to feel them out. Don't forget, they're doing the same thing too. The relationship should always be mutually beneficial.
Every job will have have its own set responsibilities, company size, and culture. Before you start applying, sit down and think of what your ideal first job would look like. Do they participate in code reviews? Will they ask you to learn .NET and evolve into a customer support guru? Are they a TDD (Test Driven Development) shop or do they ship code lightening fast? Do you prefer working for a giant company or a startup?
What is important to you? Not sure yet? That's fine too because even if you land a not so great job, it's experience nonetheless and you'll discover what you like or don't like. It may take kissing a couple frogs.
Not everyone is a fan of bootcamp grads. Every bootcamp is different in how they present the curriculum and the scope varies greatly. You are not vetted and you lack the industry experience. Not all bootcamp graduates are good programmers and not all bootcamps prepare their students to be hireable. Combine those two and you have companies that have been burned from hiring bootcamp grads. If they consider hiring you then know that they are taking a risk on you. You are an investment and you are promising a return.
Some companies say they ain't got time for that and prefer hiring a mid or senior developer. Others offer internships or contract-to-hire gigs as a form of test trial before actually committing which can be advantageous for both parties. Then there are progressive companies that understand the value of building a diverse team of all backgrounds and levels of experience. These companies have mentorship and personal growth entwined in their company culture and they take it to heart despite the challenges.
If this happens, just power through. Even if money gets tight and you need a temporary job to pay the bills, remind yourself why this is temporary. Use your lunch breaks to catch up on podcasts or that JS book. Make sure any kind of free time is sacred and reserved to either studying or sleep.
If you have the luxury of staying at home for a couple months while you find a job, don't waste it. Seeing your reflection on the black screen between Netflix episodes sitting on the couch covered in cheeto crumbs at 2 pm is no bueno.
To avoid this, keep yourself accountable and productive by building your own 'work' schedule. This is what mine looked like until I was busy working 3 different side gigs:
- Wake up between 8:30 - 9 am - Exercise - Breakfast & shower - Finding jobs, applying, & phone interviews - Lunch - Optional: Go for a walk or switch activities as a mental break - Work on projects, portfolio, OSS - Dinner - Go to meetups or keep coding if there are no meetups that evening - 10:30 pm bedtime (avoid 3 am interweb voids)
There's more than just searching on Indeed. Freelancing builds your portfolio, you can find small projects on Upwork, Fiverr, and Craigslist. Leverage your connections and let them know you're in the market, they might know someone. Recruiters are a great asset because you don't need to pay for their services, they get a cut from the Company that hires you. If you do this, make sure you are specific on what you're searching for. Give the recruiter your website or GitHub profile so that they can get to know you. Do some research on nearby shops and check out their careers page, not all of them post on job sites. Don't forget to check the city government jobs and language specific job boards.
Do your research on the company interviewing you, it shows you're interested in their product, values, and history. Get the basic interview questions down, practice makes perfect. I went to interviews for jobs I knew I'd turn down if I received an offer because I knew it was good practice.
Now for the sound of death: pair programming interview. This can be nerve wracking especially for a junior developer yet it can be a blessing in disguise. How? Well, this gives your prospective employer a litmus test of where you are as a developer. You can avoid unrealistic expectations and it's okay to admit when you don't understand a concept. Remember, your attitude under stressful situations says more than the code you're writing.
Last note, if you're a bootcamp grad, you probably became an expert in another industry. Don't neglect the fact that you had the courage to change career paths and the grit to learn a completely new discipline. You may not have all the experience right now but you have tenacity and other qualities that are equally valuable to an employer. You bring an unique experience and contribution to the table.
Open Source Software is valuable for everyone. When software is reviewed by hundreds of developers, it's hard for bugs to go unnoticed and the quality of the code is better than that of a 8 person dev team. Companies are jumping onboard the OSS train and nonprofits can use all the help they can get. As a developer you benefit from seeing how others create solutions and it's nice to contribute to a greater something. You can find the trending OSS projects on GitHub here and start pushing code.
People are going to be doing their homework and looking you up. Let's face it, you're working in the tech world now, you should probably step your game up. Please do the following:
- Use one (professional) email address for consistency.
- Invest in a good headshot & use it across all your social media accounts. A white or brick background, good lighting and iPhone can do the trick.
- Tidy up your resume and tailor it to the job you're applying for. Save yourself the trouble and have multiple resumes. (Ex- Retail resume, Developer resume, Marketing resume, etc)
- Don't skip the cover letter. This is your opportunity to show off your writing skills and explain why you're a great hire they can't pass up. It also sets you apart from those candidates that aren't writing them.
- You should have a LinkedIn and it should not be empty. Later it will come in handy to stay connected with the professionals you meet and you can search for jobs here too.
- Push all your projects to GitHub.
- Don't be lazy, write those ReadMe's. Without proper documentation, a user won't know how to use your app and has no where to go find answers. If you leave developers with just a directory structure, it's not only useless but a fool proof way of having them leave your repo.
- Have your own domain where you link to your resume, GitHub, LinkedIn and other mediums like Twitter. This is a great place to exhibit your skills when asked about your experience.
- Clean up your online profiles. Google yourself, remove embarrassing tweets and delete those questionable Myspace photos.
Getting stuck in code at home is horrifying because it takes hours to get unstuck. Being around other developers can make a huge difference. Check Meetup.com for tech groups in your city and don't be shy. Meetups offer a safe environment to learn new topics through their lightning talks, the ability to present your projects, receive constructive feedback, and lose the speaking jitters. Meetups organize fun hackathons and it's a great place to get your networking on. Let me tell you when it comes to jobs, it's all about who you know.
Finding a coworking space in your area is paramount. You'll be informed of what is going on in your city's tech ecosystem, meet ambitious people, and even find out about positions with the local startups. Everyone here is busy hustling and simply being in that environment is better than trying to work from home or the loud Starbucks. These people like to work hard and play hard. The opportunity of making amazing friends along the way is real. Surround yourself with people that inspire you.
Never leave your home without your business cards and a positive attitude. If you don't have any, you can order some on Vistaprint or Moo. Your card should include your contact information, the title of the job you desire (ie- Backend Developer), and your GitHub account. Design your card to be an extension of yourself, people will remember you. There should be no room for missed connections, always do your due diligence and follow up with an email. A friendly smile can go a long way. Be the person that introduces themselves or starts a conversation with the person sitting by themselves.
Something I learned while working for Techstars was the value of giving first without the expectation of gaining anything in return. I can't stress how important and rewarding this is. You can be of service to others in a variety of ways:
- Share advice in the form of tweets, a blog or a podcast. Sit down with someone who is interested in programming but is unsure. Sharing your experience even if you're not where you want to be yet can actually be inspiring to others.
- Show what you learned at a meetup or at a brownbag lunch. Some schools host hackathons for children or have chapters of Girls Who Code and they're always in need of helping hands. You don't need to be a seasoned developer to explain how the DOM works or how CSS can add style to a page. When you support your local YMCA or code group for veterans, you are spreading knowledge while solidifying these concepts. The one who does the talking, does the learning.
- Can't find any interesting meetups nearby? Create your own! I won't lie, it will take some planning and preparation on your end during the beginning but after that it gets easier especially after other organizers join. My bestfriend and I organized the first RailsGirls (a Ruby on Rails introductory hackathon for women of all ages) in San Antonio. We had a successful 30+ attendee turnout and I coached my own group without knowing a line of Ruby or the Rails framework.
- Join a non-profit organization like Code for America where you can tackle civic problems for the greater good. You can always be of assistance remotely.
Offer your time free of charge. When you help out the local girls soccer team by designing their logo, you are freeing their budget to allocate funds elsewhere. You've become a contributing member of the community and when someone asks if anyone knows of a good designer, you have people that will vouch for you organically. Your name comes up everytime someone compliments their jersey.
Organic leads aside, let me tell you the most satisfying part. Knowing you've made a difference in someone's life. After the Rails Girls event, an older woman came and grabbed my hands to thank me for organizing the event. She said she never would've imagined that she'd be able to create an application from scratch. The majority of women who attended had never touched a line of code previously but left exhilarated and ready to continue learning because they knew it was achievable. I strongly recommend combining your passion with helping others because it's more fulfilling than you'd think.
This journey can be a long one with unexpected twists and bumps on the road. I've given you all the pointers on how to hustle hard but I must also touch on personal wellbeing. I've asked you to be kind and of service to others but that should also include yourself. You might have moments of self doubt, frustration, anxiety, and I need you to know, I had those moments. If you know within yourself that this is what you want but you don't have the answers to everything else, that's okay. These difficult moments taught me how to be comfortable with being uncomfortable. These moments shape you. Have patience and trust in your struggle- even if those around you don't.
Circumvent outside noise. If you feel like your fire is being distinguished, listen to inspirational podcasts, read and watch autobiographies that amaze you. If you're feeling exhausted, listen to your body. Get a massage to relieve some tension. Go for a walk, watch a movie or go to bed early. Feed your body, mind, and soul. This trek is challenging but if you apply yourself, you'd be surprised at the things you can accomplish in a year. If there is a will, there is a way.