Essential tools for the job search

Here are a few tools some friends recommended to make the job search suck a little less. They were extremely helpful in helping me manage my hectic job search life, so I want to pass it on to future hunters.

Streak

Streak for Gmail – This tool deserves its own article. It puts together so many wonderful features that will streamline your hunt.

Streak automatically monitors my inbox for emails companies and groups them accordingly – multiple people who may contact you on behalf of the company (recruiter, tech lead, engineers) will show up in the same group so you can look at past events and never miss a detail or mix companies up.

It also offers bins for your email correspondences. I organized mine into six categories: Reach out, phone screen, technical interview, code challenge, onsite, offer. When I first message a hiring manager or employee you met at a networking event (you are following the guide on networking, right?), I tagged the email as ‘reach out‘; as you progress through the process, you can move the group forward, which provides a good estimate of how many coding challenges you should plan for between your onsites in the near future.

One of my favorite features is email tracking – Streak silently tracks all of your messages using an embedded image so you can see exactly when and where someone has viewed your emails. If you see a hiring manager checking out your email several times each day, you’re probably a good candidate with quite a bit of leverage; if it’s been a week and your email hasn’t been opened, you could definitely send a follow-up.

Rapportive

Another Gmail plugin, Rapportive hooks up to your LinkedIn account and gives you the credentials for people in your subject line. That means if you aren’t sure what a company’s email username format is, you can quickly guess and pray for a rapportive hit. jsmith, johnsmith, john.smith…

MailMerge

All the tools mentioned previously are Gmail tools, but it’s also helpful to have a copy of Microsoft Office purely for its MailMerge capabilities. This makes automating cold-emails a breeze – you enter email addresses and a companies (maybe an industry if you’re feeling creative!) and MailMerge will fill in a template you provide and send it to all of the contacts!

Meetup

If you’re living in a fairly techy city, there will be dozens of free tech Meetups. Not just free, pizza and beer included. Not only will you get to hear interesting talks and network with the hosts (people active in the community are excellent contacts to have), you’ll also get to check out a lot of swanky tech offices in your city!

Budgeting for a bootcamp

The $15,000 or $18,000 price tag advertised on a bootcamp’s website can be misleading when you’re trying to sort out your finances. Make sure you understand exactly how much you need to save before quitting your job and committing to a new career. Getting this step correct will avoid so much stress, as you’ll know exactly how big of a runway you have.

Most people will calculate living expenses for the 12-week duration of the bootcamp and forget to factor in the job search period which can be just as long.

Tuition

This is the big number most people have in their heads when considering a bootcamp program, generally between $10K and $20K for a good program. Some programs charge upfront, others have a deferred tuition model where you pay based on your starting salary.

If you opt for a deferred tuition program, read the contract very closely – the bootcamp may require you to perform your job search in the specific city of the bootcamp for 6 or 12 months – this additional time should be factored into your living expenses.

Housing ($7,000 – $15,000)

Most bootcamps worth attending are able to brag about their placement rates because they train students in a market that is thirsting for people. This usually means you’ll need to move to a city with astronomical rent prices like SF or NY. You’ll not only be living in one of the most expensive rent markets in the world, you’ll also want to live relatively close so the commute doesn’t eat up 4 hours every day. Six months in these cities can cost as much as the bootcamp tuition. Make sure to add 10% for utilities and internet.

Food ($2,000 – $5,000)

If you are not an avid cooker already, you probably won’t make any huge changes during the program. It doesn’t help that you’re moving to a city with some of the best and most accessible restaurants in America. Plan to eat out twice a day for at least 12 weeks. After the core curriculum is done, you will have a bit more time to plan out your meals and make better life choices (I didn’t).

Soylent is made for these programs. An entire day’s nutritional requirements in prepackaged bottles. No prep, no cleanup, and you can ‘eat’ while studying. Try it out for a week before committing – it’s not for everyone.

Transportation ($750 – $1,400)

Hopefully the housing accommodations you chose are close enough to the bootcamp that you can rely on public transit. Having to pay for parking or scour the city streets looking for an open spot drains precious time and money. Forcing yourself to study which days you can and can’t park on a certain side of the street takes away coding time. Besides, public transit is the best place to review materials and study algorithms.

Entertainment ($700)

Beers with classmates, a museum ticket to keep yourself from going insane, a night to go see the latest Avengers movie, your Netflix subscription. The process is a grind and you need a few nights out to keep from hating your life.

 

Ways to save

Depending on the program you selected and how cushy you want your bootcamp lifestyle to be, you should try to save $20 – $40K before enrolling.

If you already live in the area, consider tolerating a longer commute so you can stay with parents or a relative rent-free. Don’t waste the commute by napping or browsing Facebook, use it to do some offline studying (your recall will be really good when you practice with no internet!). If you do this, use the bootcamp’s address on your resume – companies are more likely to take a chance with someone when they’re local.

Opt for the deferred tuition model. On paper, a 23% commission of an average starting salary of $110K is much higher than a $15,000 flat fee. But that’s $25K you’re paying while you’re working versus $15K you’re spending before you have anything to show for it. Programs have more vested interest in your success when they offer a deferred tuition model, and they will hire more career coaches to get you employed and out the door.

If you have any other tips, feel free to leave a comment!

Job application flow

This is part 2 in the ‘job hunting’ series. Check out ‘Things to do before starting your job search‘.

Getting a job after graduating from your bootcamp is part luck, part skill, and 100% concentrated power of will mostly a numbers game. You can polish your personal portfolio until it sparkles, but you can’t stop companies from seeing ‘attended coding bootcamp…’ on your resume and instantly place it in the discard pile.

The process is a grind. It can take hundreds of applications and months of waiting before you land a suitable gig at a company worth working for. The monotonous process is magnified tenfold by the fact that you just spent 12 weeks learning exciting and novel things every day, and now you’re copying and pasting the same cover letter into job application templates.

To get through these next few months without losing your mind, I’m sharing the routine that I followed. It involves sending applications, following up on leads, and enhancing your programming skills.

To save yourself some time in the long run, make sure to read ‘Things to do before starting your job search‘.

The unemployed life is super comfortable – roll out of bed at whatever time is most convenient, check your emails, browse Facebook while sipping coffee. It’s a wonderful lifestyle for those who want to stay unemployed.

Bank hours

Be active during business hours. You want to be prompt in your responses to companies. If they email you at 9 AM asking for interview availability, get a time slot as soon as possible. I’ve seen people put off requests for a few hours, and when they finally replied, the company had filled its interviewee quota. You don’t need to wait an adequate amount of time before replying to their messages, this isn’t Tinder.

Job Applications

As a bootcamp graduate, you will send literally hundreds of applications before getting an acceptable offer. The process is most definitely a numbers game, and you’re competing with the classmates sitting next to you as well as the graduates from the bootcamp across the street.

Your resume, your portfolio, your cover letter – no matter how much work you put into these items, you still look more or less like every other bootcamp grad out there. They’ll receive a hundred identical applications each day and randomly pick five for interviews. By applying to as many places as possible, you’re increasing your chances of being in those five applications selected for a phone conversation.

Set a number and try to hit it every day. Find companies on your job board of choice (Indeed, Monster, LinkedIn are good ones to get started), and attach a copy of your resume. Five a day is easy mode; ten is hard – but doable.

I found it easiest to knock this out early in the morning. I filled out as many job forms as I could stand; as soon as I felt the fatigue of job applications, I moved on to…

Coding Challenges

As a junior developer, companies will often want you to dedicate 5+ hours on a coding assignment before a hiring manager will even speak to you. It’s a flawed and aggravating system, but we’re in no position to change it. You’ll usually be tasked with implementing one of the company’s API services or building a data structure.

These code challenges are not only a way for the company to evaluate whether or not you’re an asset worth spending engineering time on; it’s also a great opportunity for you to think about how much interest you have in the company. Before accepting the code challenge, take a look at the company’s Glassdoor profile. If you have multiple coding challenges from more promising companies, feel free to turn down the ones you’re not interested in. Do it politely:

It was wonderful speaking to you today and learning about the engineering position at <company here>. I’m extremely impressed with how <company> is <whatever company is doing>. I wish I had time to complete this coding challenge, but I’m preparing for final interviews with a few other companies and I’m afraid my timeline might be too short to go through the screening process at <company>.

Many companies will say “good luck” and move on to the next chump, but I have had a few companies call me within 30 minutes of sending that email with an interview invitation. Extremely YMMV; don’t play this card on a company you’re actually interested in.

When you’re doing a coding challenge, use clues from your telephone conversation to figure out what’s most important. Did the recruiter mention TDD four times in the phone call? Might be a good idea to write some tests. Is it a front-end job at a media company? Better have solid CSS. Once you’ve committed, don’t half ass a coding challenge – you’re already spending the time on it, might as well take the extra few hours to make it stand out.

Continuing improvement

Software engineers need a deep knowledge of algorithms and computer science concepts to pass the ever-so-common 5-hour whiteboarding interviews. If you’re set on a career at a big 5 tech firm (Google, Apple, Microsoft, Amazon, Facebook), dedicate several hours each day to computer science. Learn all of the concepts covered in Cracking the Coding Interview, practice Leetcode problems every day. Grab a few classmates and quiz each other on a whiteboard. Check out this post for some computer science concepts not covered at a coding bootcamp.

Web developers should spend more time learning the nuances of their language-of-choice and pros/cons of emerging web technologies. If you love the web and want a career as a developer, learn the in’s and out’s of hot technologies. At the time of writing, this means becoming a master of React and understanding why it’s better than Angular or Backbone. Practice with SASS. If you’re a Rails developer, learn Node. If you’re a Node developer, learn Rails! Employers love to ask about what you’ve worked on lately, and “job applications” is not the correct answer.

If you are not confident about anything covered during the bootcamp curriculum, go review it (many people have forgotten SQL by this point. Did you?)

A stunning portfolio

Continue building projects. When an employer opens up a bootcamp grad’s profile, they see a fullstack CRUD project and a javascript application. Look around your classroom, the instructors copied and pasted 50 identical students with identical portfolios. You could spend the extra time polishing your fullstack project, but you hit the point of diminishing returns very quickly.

Set aside two hours each day to work on something new – try to combine your passion with popular tech. If you’re considering a frontend role at a company with lots of big data applications, build something beautiful using D3.js. If you’re applying to a lot of backend jobs, find some publicly available data and turn it into a clever API. As always, these projects should have good styling and a strong readme.

While you’re working on these projects, commit your code frequently to Github. Collect those green squares. Recruiters may not know how to judge code quality, but they can tell who’s been rigorously polishing their portfolio.

But my watch only has 24 hours…

Start with a template like this every day:

9:00 AM – Start working on applications. Your goal is 10 completed applications by lunchtime.
12:00 PM – Eat lunch, take a walk, work out if you’re into that stuff.
1:30 PM – 3:30 PM – Algorithm & whiteboarding practice. Schedule a few mock interviews with classmates and friends.
3:30 – 7:30 PM – Work on code challenges or personal projects

When you reach the point where interviews eat up most of your day, feel free to shift things around. But at that point, you won’t need this guide much longer, anyways. 🙂

Stop applying to jobs on weekends and holidays, but follow approximately the same schedule.

Still no results?

If you’ve been searching for 3+ months and haven’t generated any interest, think about a few issues…

  1. It’s you. Go look at your resume / github / website. Compare it to your classmates’. If you still have no idea what’s wrong, send it to me. I’ll let you know where to focus your time.
  2. It’s the market. Maybe it’s time to leave New Mexico and move to SF or NY for more job opportunities?

 

Don’t burn out

Seriously, don’t. There will be so many occasions where the process feels hopeless. But these coding bootcamps exist because it’s a proven model – grads get jobs.

You will have loud classmates announcing their interview success to the world. You will see people disappear as they begin their new careers. You will get dozens of rejection calls and emails. Worst of all, you will watch as the next group of students graduate from the bootcamp and directly compete with you for positions.

Take a few hours off each day, hit the gym, grab a drink. Just don’t get too relaxed. After all – you’re still unemployed.

Things to do before starting your job search

Do these things once, but do them very well. If you knock these out of the park at the beginning, you’ll save yourself a lot of heartache later in the process (you’ll probably get a job sooner, too!).

Before you start the process, make sure your tangibles are pristine. Recruiters read hundreds of resumes and cover letters each day, and if you’re the only one with a typo in your ‘experience’ section, guess which resume is going in the trash? Have a few developer friends look over your resume and take their feedback very seriously. It’s important to do this now before you’ve sent 50+ wasted applications.

Writing cover letters? You should have a template where 80% can be repurposed for whatever company it’s going to (If you’re starting from scratch for every company, you’re probably wasting a lot of time). Make sure the boilerplate is free from spelling and grammatical errors. Tip: have a friend proofread it.

Make a personal website and use it as a portal to your various projects. Use squarespace if you’re not confident in your abilities as a designer, you just want a page where employers can browse through all the wonderful things you’ve made. Link to the live demo as well as the code (and have a good readme). Set up Google Analytics to watch traffic. It doesn’t affect your chances of getting hired, but it can be encouraging to see all the people looking at your projects.

Everything employers might see should have solid styling. This demonstrates your attention to detail and reflects the kind of employee you will be (one who doesn’t cut corners). If you’re applying to front-end positions this is doubly true. “But it’s just a simple-” – wrong. If it’s not worth styling, it probably isn’t worth adding to your portfolio.

Check your voicemail greeting – chances are you’ll miss a call at some point during the job search and you don’t want a message you recorded in college to kill your chances with an employer.

Reach out to friends – look at your LinkedIn, look through your Facebook. Don’t be shy. If you see a friend who works at a company where you’d like to interview, send them a message. If there is a job opening, an employee referral is many times more likely to yield an interview. Often, recruiters will even skip several stages in the hiring process because you had a current employee vouch for you.

Sign up for Triplebyte. Their mantra aligns perfectly with the bootcamp model – resumes and whiteboard problems don’t demonstrate your skills as a developer. They recruit for companies seeking talented developers who might not have “10 years of React experience” on their resume. They have a great practice test for evaluating your fundamentals. If you’re able to pass that, Triplebyte offers a rigorous 3-hour live interview after which you’ll get very good feedback on where you should spend your time. If you can’t pass (most bootcamp grads won’t!), the experience is definitely worth the time and shows you where to focus your studying efforts.

Once you’ve done this, check out the next post: Daily workflow for job hunting

Bridging the gap of CS skills as a bootcamp grad

If you ask hiring managers why they refuse to interview bootcamp grads, they’ll say “computer science fundamentals like data structures and algorithms.” If you ask them what else, they’ll stumble around for words and say something like “four years of immersion.”

It’s not feasible to self-study four years of unrelated coursework and heavy drinking, but it’s not impossible to supplement your bootcamp education with a very strong understanding of computer science fundamentals.

CS Theory

Pointers, memory allocation – Chances are your bootcamp will use a language with dynamically-sized arrays and automatic garbage collection. No matter what language you studied, The C Programming Language (book) is a great guide that will help you read more strongly-typed languages and learn the concepts of memory allocation.

Big-O notation – This concept comes up during every interview at any company worth working for. It’s a quick exercise to determine if the candidate has any knowledge of software engineering beyond the [React / Angular / Node / Rails] world. Know the time and space complexities of your favorite algorithms (more on that later) and be able to look at code and figure out the Big-O complexities.

Data Structures

Learn data structures. Drill them every day until you can talk about them at length with your interviewer. Know its characteristics, time complexities of common operations, and be able to provide several examples of when the data structure is useful. Know how the data structure is implemented (for example, adding the (n+1)th element to a statically sized array of length n).

You should be very familiar with at least the following. I’ve had each of these appear several times during my technical screens and interviews. If you have time, implement these data structures in your language of choice.

  • Arrays
    • Statically sized
    • Circular arrays
  • Linked lists
    • Singly and doubly linked lists
  • Stacks
  • Queues
  • Hash maps/sets/tables
    • Know how they’re implemented – SUPER common questions here
  • n-ary Trees
    • BST
    • Know how a self-balancing BST works
    • Heaps
  • Bloom filters
    • It seems obscure, but I’ve had this come up several times in interviews
  • Graphs
    • This topic is seldom covered in bootcamps, making graph algorithms a favorite for interviewers

Algorithms

Bootcamps have gotten much better at incorporating algorithms into their curriculum. The program I attended taught simple sorting algorithms even before the course began. Like data structures, know these basic algorithms inside-out – be able to implement them automatically and recognize when you might use them.

Cracking the Coding Interview is widely regarded as the tech bible in terms of preparing for a variety of algorithm-related questions. Know the concepts, but don’t bother memorizing solutions since most engineers have read this book.

  • Binary search
  • Comparison sorting
    • Bubble sort
    • Insertion sort
    • Selection sort
    • Quicksort
    • Mergesort
  • Non-comparison sorting
    • Counting sort
    • Bucket sort
    • Radix sort
  • Linked list
    • Reversing a linked list in place
  • Graph/Tree
    • BFS
    • DFS
    • Topological sort
  • Recursion / Dynamic Programming
    • You usually won’t get a problem harder than “maximize the value of this rod” or the “stair step problem”, but dynamic programming requires some logic that isn’t taught at bootcamps. Spend some time watching this guy’s Youtube videos to get a better feel for how to approach these problems.

Design

The only way to get better at this part is real-world experience, but we’ll have to make do with practice. Interviewers will typically ask you to design a generic computer game or a URL-shortening service. More important than your ability to separate concerns is your ability to ask the right questions. Your goal is to show your interviewer how you think about problems and where you believe the biggest hurdles will be.

The Internet

You need to understand how the internet works. A trite question is “what happens when you type google.com into the address bar and press enter?” There are countless guides on the internet about this. Bonus points if you go into caching.

Additional resources

Class 1-5 of UCSD’s Data Structures and Algorithms Specialization on Coursera have very good video lectures and programming assignments covering many topics on this post. It’s a much more structured way to learn than googling every concept on this page.

Leetcode – Tons of algorithm questions and answers. Spend a few days before your algorithm-heavy interviews practicing on this site. Have a friend practice whiteboarding with you using some fo these algorithms.

Google Interview University – A guy’s journey to become a Googler. This Github repo has hundreds of hours of great material – awesome if you’re beginning preparation a few months in advance. Good for skimming if you’re on a bootcamp interview timeline.

The Algorithm Design Manual – If you refuse to work anywhere besides Google/Amazon/Microsoft/Facebook/Dropbox, it’s probably useful to pick up this book to supplement your algorithm knowledge. It’s hugely praised on Hacker News and Reddit Computer Science communities.

Computer science vs Coding bootcamp

Before putting down a deposit to attend a bootcamp, the first thing you’ll google is probably “computer science vs coding bootcamp”. Is there an answer to this pervasive question?

tldr: it depends.

Think about where you are in life and what your goals are. There are a lot of considerations for each decision.

Employability

Myriad articles on the internet stress the superiority of a CS grad over a bootcamp grad, and there are many companies which refuse to hire from the latter. No matter how hard you drill CS fundamentals after graduating from a bootcamp, employers will always prefer the degree.

A computer science graduate usually has very good job prospects after college – they’ve done several internships at amazing companies and recruiters are fighting for the ones who have spent a summer at Google or Facebook. Competent students receive a full-time offer at the end of their last summer and enjoy their senior year of college relaxing.

Getting a job after a bootcamp is a grind. Many graduates spend more time sending resumes after graduation than they spent learning the bootcamp curriculum. Even if you graduate at the top of your class, you will spend hundreds of hours sending resumes, completing coding challenges, fielding questions from recruiters, and whiteboarding for employers.

Time Commitment

Attending a coding bootcamp is a difficult decision if you’re at the crossroads where you’re considering a 4-year computer science degree. A computer science degree requires four years of study. This includes dozens of classes completely unrelated to the field meant to broaden your horizons. Although there are many awesome scholarships available at the top schools, the opportunity cost of 4+ years is very real.

On the other hand, even if we consider the time spent job searching after graduating from a bootcamp, the time from start to employment is often less than six months. That means before the computer science student has taken a single course related to their major, a bootcamp grad is beginning to receive real-world experience. Maybe instead of asking “Bootcamp vs CS”, we should ask “Bootcamp + 3 years vs. CS”?

Earnings Potential

Coding bootcamps have not been around long enough to compare the long-term earnings potential against degree holders. Many universities publish statistics for new graduate salaries, and I have to say – several bootcamps boast comparable average salaries.

In defense of CS degrees, university statistics usually involve the entire population (low performers included). In comparison, bootcamp statistics need to be taken with a grain of salt, since they massage the data using restrictions on who is counted in the ‘average starting salary’ pool. This isn’t to say the earnings potential isn’t there – the graduates I’ve seen have destroyed the bootcamp’s “average salary” guidance.

I would argue that as long as you make a conscious effort to stay hungry and supplement your practical developer skills with CS fundamentals, coding bootcamp graduates can have the same earnings potential as a degree holder.

TTL (Time-To-Live)

MIT & Stanford Computer Science graduates will leave their alma mater with deep knowledge about how computers work and how to solve problems using the fewest processor cycles. They go to companies like Google and Microsoft that have extensive new-hire training programs in order to get acquainted with the software and dev environment. Six months later, these graduates are ready to commit to the production servers.

There are tens of thousands of companies that don’t have the resources to incubate new hires until they can be productive. Startups want employees who can quickly digest the codebase, create a solution, and move on to the next task. Bootcamps focus heavily on practical skills – the objective is to create a team member who can be productive on day 1.

Filling the Gaps

During my interview process, I’ve done hours of research looking for exactly which areas bootcamp graduates are lacking in an attempt to fill those gaps in knowledge.

I’ve seen a lot of people mention “analyzing code efficiency” and “computer science theory”, but in my experience more and more bootcamps have begun incorporating these topics into the curriculum. If you’re considering a bootcamp, ask the interviewers about their respective program’s coverage on data structures and algorithms.

Worst case, you’ll be stuck learning these concepts yourself. Check out the next article for an in-depth guide on how to fill those gaps.

How to get the missing CS skills as a bootcamp grad

Final project: A good README is more important than a pristine codebase

Your README.md is where you flex your technical guns.

Recruiters (usually) aren’t coders. They hand your resume to an engineer to approve or reject for an interview. The difficult part here is that engineering time is extremely valuable. Make it as easy as possible to see your best code. Don’t make the engineer navigate through app/frontend/components/profile/userprofile.jsx:line 147 to see a code sample. Put any clever database schema decisions in your readme, add snippets of fancy queries to your readme, add code samples you’re proud of to your readme.

This highlights your best code. Having seen some code snippets, an engineer is far less likely to browse your repository and stumble on your garbage code. Note: go refactor your garbage code.

If you added a cute feature that probably won’t be seen by employers (for example, a text box that changes a post’s font size after a certain character count has been reached), turn it into a .gif and add it to the readme.

I went all out with the readme for my final project. Yours probably doesn’t need to be as ADD with the animations, but feel free to take some inspiration from it.

Choosing a final project that stands out

You’ve had an idea in your head ever since you enrolled at ${bootcampName}. And now that you’ve completed most of the curriculum, you also have the skills needed to execute. Your bootcamp is giving you two weeks to build a full stack website and it seems like the perfect time to implement your idea and change the world, right?

Hang on. Now is not the time – although your project might be the next decacorn, you’re looking for something more short-term. Although your idea could hit the front page of TechCrunch and gain five million users during your final weeks of bootcamp. it’s more likely you will have only a few users – a ‘login as guest’ account and any other fake personalities you seeded your database with.

A company will spend less than a minute playing with your app. It’s your job to ensure they see the best demonstration of your abilities within that first minute.

Choose a project that is universally recognizable and painfully obvious. The objective of your final project is to demonstrate your newfound developer skills to employers. You want visitors to log on to an interface where the experience is already engrained into their memory (and you want to replicate that experience as closely as possible). When a user scrolls through their Twitter feed, it should fetch more Tweets automatically; when a user creates a new Medium posts, they should see a rich text editor instead of a vanilla <textarea>. While using your app, users should think “hold on, is this the real Facebook?”

When using LinkedIn, we expect it to be inherently broken; we also expect every single action we make to be broadcast to our entire network through email and push notifications.

Leave your founder and designer hats by the door. Sites like Facebook and Meetup employ hundreds of designers who scrutinize every element of a page. Moving a single element one pixel to the right comes from dozens of meetings and A/B tests involving hundreds of thousands of users. Color palettes are decided by committees and design studios who charge astronomical fees for consultations.

Recruiters are the wall you’re trying to scale with this app.

A company’s first line of defense is its team of HR professionals. They look at hundreds of applications a day, tossing resumes out at a whim. If your project impresses the recruiter, speaking to an engineer is almost a given.

Recruiters have no idea which parts of a website were technically challenging to make. They open your page and think about how the actual page should behave, creating a test post and concluding your app is functional. They have no idea what kind of fancy joins or prefetching you’re performing on the backend to eliminate N+1 queries. As a result, you need to pay your CSS dues. If the app has a cute animation when you like a Tweet, implement it. If the app uses a loading spinner, implement it (and then add a delay on the server so users can admire it).

Only after a recruiter signs off on your resume do you get a chance to demonstrate the technical aspects of your project to employers.

Choose a final project that is familiar to anyone who stumbles on your portfolio.

Are paid bootcamp prep programs a scam?

Coding bootcamps have made so many waves in tech that acceptance into a top-tier bootcamp is akin to receiving an admissions letter from an Ivy League college. In the spirit of capitalism, courses have popped up offering introductory lessons designed to get you through the application process at competitive bootcamp programs. These classes cost anywhere from $200 – $4,000 USD and are available as evening and remote sessions. I believe these courses are completely unnecessary, and anyone motivated enough to complete a rigorous bootcamp program should be able to pass the technical interview with no issues.

Bootcamps are a for-profit business in a finite market – this means the odds are in your favor. Bootcamps want you to enroll at their program – each student brings in $15 – $25K in revenue, and a rejected student will simply walk across the street and enroll in another equally recognizable bootcamp. You are the customer. No matter how prestigious or selective a bootcamp looks, they need as many students like yourself as possible to remain profitable. If you show any aptitude for programming, you will get in with no issues.

Everything you learn at a bootcamp preparation program can be learned by yourself.

In fact, this is true for both bootcamp prep and the bootcamp program. All of the resources you need to learn to code are freely available on the internet. However, it’s much easier to reach the proficiency guaranteed by a bootcamp preparation program (20 – 40 hours of work) than to teach yourself the entire curriculum of a bootcamp (1,000+ hours of work).

A friend recently reached out to me asking for advice prior to interviewing at a very selective program. He had no previous coding experience, and the following was enough to pass the technical interview. Follow this curriculum and you’ll be in great shape to enroll at a top bootcamp. Everything is FREE – if you’re asked to enter a credit card, you’ve gone too far down the rabbit hole.

Which language do I learn?

Some bootcamp programs will require that you interview in their primary language. At the time of writing, JavaScript is king (many programs are teaching an entirely JS stack). If you need to learn a different language, it might be worthwhile to use the following guide anyways – the logic is all the same, only syntax and built in functions change.

Bootcamp Prep Curriculum (20 – 40 hours)

  1. Complete the Codecademy JavaScript track.
    • Really understand loops – bootcamp interview processes can’t be too difficult (they are looking for almost beginners, after all), so many of the interview questions are simply testing your loop logic.
    • Same as above, but with conditionals (if, else if, else, etc.).
    • Don’t just look at the hints and type what’s shown on the screen. Try to understand when to use each function.
  2. Complete selections from the FreeCodeCamp Front End Development Certification. Don’t bother with their estimated time-to-complete – you should be able to speed through these tracks in a few hours.
    1. Basic JavaScript
      • Much of this will be review; don’t get cocky – do it anyways. Sometimes seeing how multiple programs explain concepts can solidify the knowledge in your mind.
    2. Object Oriented and Functional Programming
    3. Basic Algorithm Scripting
    4. Intermediate Algorithm Scripting
      • When you’ve reached this point, you’re ready to ace the admissions interview. Don’t worry too much if you can’t solve these problems, many (bad) programmers struggle to implement these solutions efficiently.

I hope you’re able to get into the bootcamp of your choice. Keep in mind – although a bootcamp’s name may carry some weight, most results come from how hard you grind during the program.

About the author

I have a B.S. Petroleum Engineering from The University of Texas at Austin. I worked in the oil & gas industry and had a blast while oil prices hovered above $100/barrel; however, the supply crisis in 2015 – 2016 led to massive layoffs in the industry. Hundreds of thousands of petroleum professionals lost their jobs, including myself.

I always had a love of making things on the web. I had made Youtube jukeboxes using jQuery and small visualizations in D3.js. Around the time I lost my job, a friend sent me an article about the newest fad in education – coding bootcamps that promised to turn people with little experience in computer programming into web developers making six figure salaries.

Of course I was skeptical, but I didn’t see oil prices coming back anytime soon so I went for it. I enrolled in App Academy in October 2016 and graduated in January 2017. Four weeks after graduation I started a job at fubo.tv, exactly one year from the day I left the oil and gas industry.