In a recent job as a senior developer, I helped interview and hire many of my employer’s development team members. This is a brain dump of my advice based on those interviews.

I’ve followed a lot of it myself in interviewing for recent positions as a candidate. And I recommend these approaches to my friends when they’re applying to development positions.

How to write an enticing initial email or cover letter

Start with a good hook

Hi Stacy,
I saw your post looking for a Full-Stack PHP Developer. Well your search is over!
I recently completed a project that also uses Laravel’s Queue Workers and Task Scheduler. I’ve been through a lot of troubleshooting hours with these, and I’m sure those skills and my experience below will be very valuable to your development team.

Whether you’re writing an email or submitting a cover letter, the opening lines need to stick. The one above accomplishes a couple of things:

  1. The first sentence shows some enthusiasm for the position. Exclamation marks work great for this, but don’t overdo it either. Make it natural.
  2. The first paragraph goes right into showing the proof in the pudding, as they say, by referencing a past project that relates to the job. By relating your experience to the job, you’re immediately showing them the value you can bring to their team.

To write that message effectively, take some time to thoroughly read the job description and company information to figure out what the best projects will be to showcase right away.

Show off your passion

I see you guys utilize Elastic Search, which is something I really enjoy working with. I’ve been working on a public project that helps users get started with Elastic Search. The project is a Laravel boilerplate setup, which extracts RSS feed data and automatically indexes the data in an Elastic Search server using the REST API for PHP.
I’m working with a team of 2 other contributors on this project, and we’re planning on releasing v1.0 next week. You can check out the repo for it here.

Are you working on some interesting side projects? Do you have any interesting accomplishments that relate to development? Add them here to show your passion for development. Bonus points if you can relate it back to the job.

People want to be around others who are passionate about something and are working on cool projects. The person hiring you feels this way, since they’ll probably be seeing and communicating with you quite a bit if you get the job. From their perspective, it helps to hire someone interesting that they can talk to and learn from.

I would keep this section short and concise — 1–3 items at most. You want to be impactful but not lengthy.

Give them more of the good stuff

Finish off by adding in your portfolio and GitHub links, and you’ll have them excited to go and check those out.

I always felt as if a weight had already been lifted off my shoulders whenever I read a great developer application. That’s the feeling we’re aiming to create for the person who’s reading yours.

Now let’s figure out how to approach presenting your portfolio.

Add precision to your portfolio

EuMA9YNHJ6VUZKoPW-MsNbYnKONfSmG0c45q
An example of a project-focused portfolio by Timmy O’Mahony

Focus on specific projects

Your portfolio should be as project-focused as possible. As soon as I visit your site, I should be able to see where the projects are.

Choose quality over quantity by showing the projects that relate to the job. I would recommend moving around the order and even removing/hiding some projects depending on the job you’re applying for.

It may even hurt you to have a ton of projects, especially if they vary wildly in technologies. This is because some employers aren’t crazy about generalists. So it may be a good idea to show specialization within the stack they’re looking for in that scenario.

Make sure the portfolio site is finely tuned

LaXBufUu6H092w9ZLkMPJc80Ldo0h13IkzfM
This is what they’re doing to your portfolio site (Image from makewebcomics.com)

The first thing any developer does when they see a site they’re evaluating is resize the browser window back and forth. This is to make sure you have enough responsive skills for the position. Make sure everything resizes nicely on all devices by using Chrome’s device toolbar, and remember to test it on multiple browsers.

This really goes for any site you’re creating. But this is the first thing the developer hiring you will play with, and first impressions matter.

Get creative with it

Get creative with the layout and design of the portfolio, even if it’s not a front-end position. Seeing something different will always stand out.

Try not to use CSS templates as much as humanly possible. Some people will tell you not to use Bootstrap or jQuery at all on your portfolio site, since the employer may want to check out your raw CSS and JavaScript skills.

If you’re applying as a front-end developer, that advice is great. But I personally don’t think it’s important what you use, as long as it’s creative and user-friendly.

If you don’t have an eye for design or enough CSS skills, try taking the simple and clean approach. You could also reach out to a front-end developer friend for help.

Below is an example of a simple and clean portfolio site. Nothing too fancy happening, but it still sends a very professional and creative vibe.

PbRhCAVzTD1-VN4YQya4l22JrCWMsqNnQW9C
A simple and clean portfolio site by Sacha Greif

Pro tip

Don’t put rating scales (like 80% Ruby, 95% JavaScript) in your portfolio. I’ve seen this before, and it’s confusing to the reader since they won’t have any idea how to interpret it.

BaGsPjQoi9t2IR6xym4Fisu7qKReVYOkX4ZV
Don’t put these or anything like them in on your portfolio site.

Let’s move on to sprucing up your GitHub profile.

Spruce up your GitHub

hq4MOLqKCEjuQ0oelT6SsHB0ZqSpajKTZ4ys
A good example of a active GitHub profile — John Nunemaker

Getting started with public repos

As a developer working a full-time job, it can be tough to find the time to contribute to and create public projects. But it’s one of those things where you just have to suck it up and do it.

These days every developer needs some public code available. It makes it much easier for the person hiring you to quickly glance through your code to see if it’s a good fit for them.

If you don’t have any public contributions yet, try adding one of your existing projects that you wouldn’t mind being public. It’s also never too late to start contributing. You can contribute to existing projects already out there, or start one on your own. There’s a ton of ideas to choose from, but try building something small, fun, and in your line of work. No need to create the next Facebook here.

Making your GitHub profile presentable

The first thing someone sees when they get to your GitHub profile is your projects and commit timeline. The number of green boxes there is a good sign to the employer that you’re actively contributing and collaborating.

If yours isn’t as green as you would like, try setting a commit challenge for yourself such as committing everyday for the next 30 days. That could motivate you to steadily keep working on some public projects.

Make a good README for the projects your presenting

After clicking on a project, the employer will see your README file. Make sure it’s informative and shows the user exactly how to use your code. I highly recommend hosting a version of your live code so you can link to it within your readme file. Showing off working versions of your code will add points to your application.

p7A1yPpsASgieBhQkYugXpoONHqI0c1OO5jm
Example of a well documented README (Laravel 5 Feeds)

Clean up your code

The next step is of course, the code itself. Making sure your code is formatted well and is easily readable is key. If it isn’t clean, consider going in and re-formatting it or refactoring it.

This is a great practice, especially if you just added a project that wasn’t previously version-controlled. Going back in and making changes to it will help build your commits which means more pretty green boxes and activity.

Make good commit messages

Chances are you’ll probably be working on a team with other developers where you get hired. For this reason, they may look at your commit messages for your projects. Clear and descriptive messages are best, since you could be collaborating with a team. The example below shows some descriptive messages.

v2DoBNcBJAUoxsb1Ia1Md9N09-U6ue6tvMIV
Example of descriptive commit messages (Laravel Collective)

Collaborate

Going back to the thing about teams. It really helps if you can show collaborations with other developers on your public code. That goes a long way towards showing the employer that you’re comfortable working on a team code base.

So again, either make some public contributions or ask a friend to help you on one of your small projects here and there.

Your Résumé

This section is more of a tip. As a person hiring other developers, I’m going to spend much more time focusing on your actual projects and code than I will analyzing the time line and bullet points in your résumé. I also couldn’t care less about what school you went to. Those details may be great for other industries or companies, but I honestly don’t see much use for résumés in the development world. Here, your actual work and code speak the loudest.

Next time you’re applying, instead of just polishing up your résumé, try spending more time on the points above and you’ll be sure to stand out among the crowd of applicants.

Feel free to reach me on twitter for any questions and visit Remote Hacker where I assist developers in landing remote development work.

Thanks for reading!