Advice for New Developers on a Good Job Application
Cantilever was hiring recently, and I got to manage the hiring process. I learned an incredible amount that hopefully will make its way into a few blog posts, but today I wanted to talk a bit about new developer applications.
We were hiring for a (fairly) junior role, which is great for newer developers looking to make some headway in the industry. I got one (and exactly one) request from a candidate that didn’t make the short list for feedback on their application, and whether he wanted it or not, he basically got this blog post in his inbox. Sorry about that 😐
He seemed to appreciate it, which was great, and so I thought I’d reformat it for an actual blog post so it could be linked elsewhere, so here it is:
First, many of the applicants that we got for this position are straight out of code school, whether that’s college or something less formal like Udemy or Flatiron School. Most of the candidates had very similar portfolios with very similar looking Github accounts. They had a simple website with a few portfolio items, almost all of which were in-class assignments.
This isn’t bad, per say, but it makes it very hard to stand out from other applicants. Web development is a field that’s largely defined by trial and error. The more you build websites, the more you run into problems with implementation. The more you run into problems, the more you build skills around fixing busted stuff. And really, web development is a lot of trying to make a bunch of busted software work nicely together.
Applications stood out when they included:
Freelance or Corporate Web Work
Have you built sites before? Whether that’s for your local Tae Kwon Do dojang, your father’s art, your mother-in-law’s small business or any other example of a website that’s shipped, been updated more than once and has some miles on it. I use those examples specifically, because those sites (dojang, dad’s art, mom’s small business) are EXACTLY the projects that me and the other people at Cantilever cut our teeth on. We’re all freelancers that started off doing small-time projects and eventually found our way to each other and to bigger clients.
Evidence of Learning
It’s great that you’ve got a few class or personal assignments up on your portfolio, but if you’re going to stand out as an applicant, employers need a little handholding to see how you’ve grown as a developer on the assignment. Nothing on the web has cachet like a website that people use. People don’t use assignments. They don’t have actual users. So if you’re going to post assignments, you’re going to have to show employers why we should care.
Give each of your featured projects its own page, document the specific technologies used, any open source software that you referenced (as in took inspiration from) or used (as in libraries you incorporated, and very importantly WHY), and then use the bulk of the page to blog about the project.
- Why’d you build it?
- What was hard about it?
- Did you nail everything on the first try, or did your struggle with parts?
- Looking back on it, is there anything you’d do differently?
- What roadblocks did you run up against and how did you overcome them?
- Most importantly, why does this make you a developer I want on my project.
Let’s say you build a weather widget that shows the current weather conditions for a given location. I know implicitly that you had to connect to a weather API to get that data, but tell me about that.
- Which API?
- Was it OpenWeatherMap?
- Why’d you pick that one?
- Is it because it’s free? That’s a fair reason, and you can state that.
- Did you have any trouble implementing OpenWeatherMap?
- Did you run into that bug a few months back where the 2.5/weather route stopped accepting zip as a query parameter, and you had to switch over to 2.5/data?q=[zip code]?
See, the reason I ask is that I did, and it took half my day to fix, but if you can relate that back to an employer they’ll know that not only have you worked with an API hookup (and which one), but you’ve also done troubleshooting on APIs before, and that’s a skill set that not every developer has. That sets you apart from other developers.
How’d you do that troubleshooting? Did you use any special tools? Do you now have a borderline unhealthy relationship with Charles (https://www.charlesproxy.com/
Professionalism and Attention to Detail
There are lots of chop shops that will ship websites at 90% complete. The reality is that 90% is really only half-done. Getting the details right sets you apart (and takes a heck of a lot of time). There’s really basic stuff that covers basic implementation. Have a favicon. Have proper titles and meta descriptions. Get your Google Analytics set up properly. Things not working in the most recent set of browsers isn’t OK. It doesn’t have to work on IE9, but it sure better look decent in Chrome, Edge and on my phone. Having an image on your website is great, but when it take two and a half screens on my phone at mobile width, that’s an issue.
Have you ever heard the adage that the the cobbler’s kids go barefoot? When you’ve got a job, it’s fine (and honestly inevitable) that your personal website starts to look a bit neglected. Mine sure does. You’re busy doing real work that pays bills. We get that. But if you’re not actively working and you’re sending your portfolio website out to prospective employers, ESPECIALLY if your personal website is really the only site you’ve worked on, it better be nicely done. Pay a friend with design chops $50 to comp it for you (and then give them a shoutout on the site so THEY can use it in THEIR job search). Get all the details right. Include the blog stuff I mentioned before. Essentially, when you give a prospective employer your portfolio website, you’re basically saying “I’m going to ship websites that look like this”. If “this” doesn’t look like the quality that employer wants to sell their clients, they’re not going to look to get excited about your portfolio.