How to Write an Effective Technical Resume: A Developer's Guide

technical resume tipssoftware developer resumeresume highlightsproject experience formatavoid resume mistakes
Published·Modified·

This article is shared by a V2EX user and provides a comprehensive summary. It is reposted to offer reference and help to those currently or soon to be job hunting. (Content has been condensed)

Background

I am primarily a backend developer (PHP + Go), with some frontend skills (Vue stack), and currently learning Swift (to recruit iOS developers). I am currently a technical lead at a small company, so I am responsible for recruitment.

HR personnel often lack technical knowledge, so for efficiency, they frequently require me to personally screen resumes directly from platforms like BOSS Zhipin and Zhaopin.

Self-Introduction

Basic information needs no elaboration. The key point to note is: avoid including a photo. As a developer, not including a photo is fine; including one can cause emotional fluctuations, distract the reader, and lead to unnecessary speculation.

Personal Introduction & Skills

I prefer to write this section before project experience, giving the reader an intuitive sense of the candidate. My approach is to leave an impression that the candidate is "someone who likes to learn new things, enjoys tinkering, and has a geek spirit." This section should have "highlights"—unique points that show your personality. If you don't have any, you should reflect on this and start accumulating them now.

This is often where everyone writes similarly, so I look for highlights in the middle. Even one or two can influence my decision, giving you stronger competitiveness.

Here are some points to avoid:

  • Do not write subjective statements like "hardworking," "good at learning," etc., as these cannot be verified. Speak with facts instead, e.g., "Proficient in multiple languages, familiar with PHP, and can use Golang and Python," which implies you are "good at learning."
  • Do not write skills everyone should know that lack technical depth. Examples include "parsing JSON/XML data formats," "installing extensions with Composer," or "proficient in using Git."
  • Do not write unverifiable claims. Stick to facts:
    • "Familiar with ThinkPHP5 framework" VS "Read part of the ThinkPHP5 source code, familiar with the flow and implementation of components including routing, container, and logging."
    • "Proficient in Linux commands" VS "Can use TcpDump for packet capture, and use Strace and lsof to troubleshoot I/O bottlenecks."
  • Do not write about using tools that are common knowledge unless specifically mentioned in the JD or if there is significant technical depth. This includes but is not limited to "LAMP environment setup," "using Alibaba Cloud," "integrating WeChat/Alipay payments," or "integrating JPush SDK or Umeng Share SDK."
  • Do not believe or directly copy resume templates (e.g., https://github.com/resumejob/awesome-resume). Your competitors are likely doing the same, making your skills section lack highlights. Use them as a reference, not a copy. If you are unwilling to think for your resume, others may assume you dislike thinking, which is a critical trait for programmers.
  • Do not include non-technical skills like "knows PS," "has a driver's license," "knows Office," "can reinstall systems," or "can plug in network cables." Hobbies and special talents can be added at the end of the personal introduction as a supplement.

About Highlights

Given that most people (including me) do not have 10k+ stars on GitHub, haven't written open-source frameworks, or published books, many feel they lack highlights. I disagree.

For example, I consider "proficient in using VIM (with plugins like EasyMotion, CtrlP, YCM)" and "proficient in managing servers with zsh + Tmux" as highlights, as only a few people enjoy tinkering with VIM, suggesting a geeky nature.

Other possible highlights include:

  • Participated in open-source projects or written open-source components.
  • Have a personal blog (real, effective, original content, not reposted, with in-depth summaries of tricky problems or pitfall experiences). I usually check these.
  • Proficient in multiple programming languages.
  • Have a habit of reading source code.
  • Have researched new extensions, tools, or open-source projects.

This varies by person, but it should at least show a love for coding. If you don't have any, consider accumulating a few.

Work & Project Experience

I prefer mixing companies and projects together, for reasons explained below. Everyone knows to list them in reverse chronological order.

HR generally focuses on stability (how long you stayed at a company). As a technical lead, I focus on projects to determine if it was an outsourcing company. Mixing company and project info reduces reading workload. If mixed poorly, it requires careful verification, and some candidates don't even write project times, listing everything at once, which is a turn-off.

I recommend the following format:

XX Company  Position: Senior Developer  2017.05-2019.05
    One-sentence introduction: As a Leader, responsible for xx development, managed 3 people, designed the XX project architecture. Keep it brief.
    If there are highlight achievements, list them separately, e.g., server performance optimization, single-machine QPS increased from xx to xx, website response time reduced by xx ms...
    
    Project A:
        One-sentence project introduction: The project is mainly community information flow + e-commerce part; I was responsible for the xx part.
        Technologies used: XX extensions, XX frameworks, XX design patterns, etc.

XXB Company ...

Issues to avoid:

  • Minimize non-technical content. Do not write generic tasks known to everyone across multiple companies, such as "responsible for application software development coding, writing technical documentation, improving performance, providing technical support..." Summarized: "I wrote code." This does not need to be on the resume.
  • Project descriptions should help judge technical complexity. Do not write marketing slogans. For example, instead of "The purpose of project X is to promote peace and love, we facilitated users via platform xx, promoted world peace, and increased national GDP," which leaves the reader confused, write "Used Laravel framework (including Queue, Event, Service), used open-source extension Laravel Telescope..." even if the user base is small.
  • If there are many projects, select a few key ones. Do not write about "admin panels" unless they are particularly impressive.
  • Avoid流水账 (chronicle-style) introductions. Some write this section like a diary: "We started in xx year, experienced xx, then xx happened, during which xxxx..." hundreds of words without line breaks, causing mental fatigue.
  • Do not fabricate projects. They should be relevant. Generally, a company's main business is limited. If you did novel business, travel business, and P2P lending at the same company, I would think the projects lack continuity, making them less likely to be responsible or completed properly.

Details

Product managers know to "polish" their work. Your resume is your most important competitive tool against hundreds of other candidates, so it must be carefully polished. Pay attention to details, especially for programmers. If you focus on details and reflect rigor, it leaves a better impression, as this is a requirement for the role.

Common issues like spelling errors or awkward phrasing are obvious and should be avoided. These are negative points.

Here are some less obvious examples:

  • Capitalization. e.g., "ios" VS "iOS", "mysql" VS "MySQL".
  • Nature of technology. e.g., "Familiar with Ajax framework" (Ajax is not a framework), "Familiar with ES6 language" (ES6 is a standard, not a language), "LNMP language" (LNMP is a stack).
  • Document format. Some recruitment sites allow custom formats; try to use PDF. Many developers use Mac, and Word documents often have compatibility issues there. PDFs also open faster than Word.

Anyway, a resume is a document where every inch of land is precious; every word deserves careful consideration. Also, tailor it slightly for different company positions to increase competitiveness.

Wishing every developer can find their dream job, sincerely.

Final interpretation rights belong to the author. Original source: Answer: How to write a technical resume?