This article was written by ResumeJob, which helps you review your resume, conduct mock interviews, and redesign your career. Our team has interviewed hundreds of engineers and reviewed thousands of resumes at domestic and international companies, aiming to help programmers find their right jobs. If you want to know where your resume is wrong or if you want to conduct a mock interview before the interview, please feel free to contact us. For more details, please visit resumejob.

Job search series:

  • How can a programmer write a better RESUME
  • How do programmers prepare for technical interviews
  • Programmer’s Guide to job hunting abroad
  • System Design Interview 101
  • Recommended books for programmer interviews


An overview of the

One of the first things to prepare for an interview is your resume, which is a pain to write from scratch because it’s so important and time consuming. Job seekers are now frantically searching their computers for resume templates and example sentences without knowing where to start. If you write too short, you don’t feel sincere. If you write too long, you don’t know how to start. The bottom line is that most job seekers don’t have experience as an interviewer or read other candidates’ resumes, so they can’t learn from others how to improve their own. Some candidates don’t even have the heart to look at their resume after they write it. They send it out with typos and typography confusion, resulting in no chance of an interview. Add to that the high median salary for programmers, a large number of talent transfers from other majors, and the competition is fierce, so how to stand out from the crowd of resumes and win an interview is very important. This article will share our experience and answer two common resume questions.

  • Common mistakes in resumes
  • How should I write my resume

Common mistakes in resumes

1. Too much information and not enough focus

A common manifestation is a list of dozens of lines of skills, and I’ll give you a gory example:

Another problem with long lists is that HR may start to question a candidate’s technical abilities when they scan several lines for very basic skills. Imagine it’s your weekend off and you’re looking for a relaxing movie to watch. Search the Internet and come up with a list of the 20 best comedy movies. If you quickly scan through several items and find that they are not funny at all, you may start to suspect that there is something wrong with the comedy list and stop reading it. The same goes for HR’s skills list. The longer the list, the more doubts and questions you may have. ** What about the list of skills? Since the HR may be an engineer or a non-technical employee, the list of skills should also be short and clearly formatted, allowing laypeople to quickly locate skills. ** I recommend this (in descending order of proficiency, but without emphasis on proficiency) :

Backend framework: Django, Flask, Scrapy

Front-end frameworks: Vue, React, jQuery

Databases: Redis, MySQL

Others: Docker, Jenkins, Git

Foreign language: CET-6, able to read English documents fluently

That’s how brief it is, allowing HR to quickly pinpoint the skills of the candidate and make a decision about whether to follow. Also, this list of skills should come after the introduction, which we’ll cover later.

2. Meaningless description

The second common mistake is to describe a project experience in meaningless terms:

XXX platform

According to the requirements of the project tasks, the crawler module and the front-end display module are completed, and the functions of data sorting and storage are completed.

HR is not able to draw useful information from such descriptions, nor can they judge the candidate’s technical abilities. Need to

  • What is it: building IP proxy pools, optimizing crawler policies and anti-masking rules
  • What tools to use: Develop asynchronous crawlers using Scrapy
  • The result: 200% faster webpage crawling

Three points to modify, preferably with data to prove it.

XXX platform

Build IP proxy pool, use Scrapy to develop asynchronous crawler system, optimize crawler strategy and anti-shielding rules, and improve 200% web page grasping speed.

Using Vue framework to complete the background management system, to achieve custom paging, third-party login and other six main functions.

Responsible for data cleaning and storage to MySQL database, using database index to reduce data query time by 50%.

I understand that most candidates don’t have the interviewer’s experience, haven’t read many resumes, and it’s hard to even recall projects, let alone write them out in detail. So we’ve prepared some examples of introduction/work experience/project experience that you can use on your resume. Here you can modify them to suit your situation.

  1. Have a good code style, improve code readability by adding comments, pay attention to code quality, read several open source projects, learn to improve code robustness and extensibility.
  2. Good coding habits, good communication and collaboration skills, good professional ethics and a strong sense of responsibility.
  3. Understand the principles and simple implementations of processes, threads, deadlocks, virtualization, and file systems in operating systems.
  4. Experience in architecture design and development of large-scale Internet distributed system, embrace new technology and have strong learning ability.
  5. Have solid computer theory foundation, good algorithm and data structure foundation, understand computer basic principle and common mechanism. .

If you don’t know how well you’ve written it, you can also ask us to Review your resume or conduct a mock interview. The important thing is to start counting now and get into the habit of measuring first and optimizing later. Also try to find performance bottlenecks by showing CPU or memory load data even if no query time has been counted, or at least stating what major functionality has been accomplished as in article 2.

3. Typesetting is messy and there are many wrong words

Resume 3 typos are absolutely zero tolerance, even their own resume is not important, HR will not pay attention to. Here are two favorite examples:

Familiar with iOS release and launch process.

Familiar with mysql database, understand the basic principles of mysql

Others have tiny fonts (too much text and two pages) and small margins that make it hard to read. The space between Chinese and English is mixed, there is no obvious separation between modules, so that HR can not find the information they want. And some job sites don’t render PDF files exactly right. (For example, a large blank space appears when a PDF file is turned.) I found two real examples to put in the following, some job seekers very strange why so many companies have not responded, you say such a resume how to look.

** When you’ve written your resume, be sure to review it yourself, and then ask a friend to review it for some pertinent advice. ** In terms of typesetting, I suggest you write in HTML and then convert it to PDF. HTML has better style and version control than Markdown and Word. Interested readers can use our free and paid HTML templates (both tested by popular job sites) to ensure that their resume will be better presented to HR.

How to write a better RESUME

** A resume can be divided into 6 modules: Basic information, personal profile, skills list, work experience, project experience, education, etc. ** This sequence allows the HR to quickly understand the strengths and skills of the candidate from shallow to deep. School information can be placed after the basic information if it is a key school or a cute new engineer who has participated in the school recruitment.

The basic information Work experience Experience in project Education situation other
The name The name of the company The project name School name Interests and hobbies
email jobs Project introduction professional Volunteer work
The phone The main duties and responsibilities The main duties and responsibilities School year
Making/blog Working time Project time awards
Personal profile Experience in project
Skills list

The basic information

Name/Phone number

Fill in according to the facts, it should be noted that, before sending a resume, you can check whether the company is legally registered here. Some headhunters or training firms will simply name themselves and accept resumes and then contact applicants to sell them, betraying privacy.

email

On the forums, there are occasional discussions about which email with the suffix looks more powerful. Some people suggest using Gmail, thinking it can highlight your English ability. Some suggest using Outlook or 163 to receive emails stably in China. Also have despise QQ mailbox, feel too private and appear not professional. While I can’t speak for all HR people, some do have an impact on their initial impression of a job candidate based on the ending of an email. However, only if a candidate’s resume is unimpressive and disorganized will HR dismiss them for such minor details. ** It doesn’t matter what email ends as long as you demonstrate your strengths on your resume.

Making/blog

Post a Github or blog link only if it highlights the candidate’s programming skills, and don’t include it if Github has not contributed to open source projects and has committed several times a year. If you write a lot of technical blogs, you can put them up there, and some job requirements include these as well.

objective

This is a detail that many job seekers overlook. An HR person may accept a resume for a different job. If the position is not listed on the resume, the HR person will not know how to determine whether the candidate is a good fit. So you have to be clear about your target position, like front-end engineer, crawler engineer.

Other information

Other information includes political affiliation, gender, age, photos, etc. If you want to invest in a state-owned enterprise or public institution, the political status of a party member may help, but other factors do not matter much. Together, the basic information section could look something like this:

Yang Yong

Email: [email protected]/Phone: 133-5555-6666

Github: github.com/abc/Job Objective: Reptile Engineer

Introduction to the

The profile is very important and is the first step for HR to get to know the candidate. When you don’t know where to start, you can refer to the job requirements of the target position, and when you see several target positions require familiarity with multithreaded programming and you don’t know much about it, it is a very good opportunity for tutoring, this interview is absolutely test ah. Here we assume that the job description and requirements of a company that the candidate likes are as follows:

Python crawler Engineer

Job Description:

  1. Responsible for crawler system architecture design and development;
  2. Participate in the design of system technical solutions, core code development and system tuning;
  3. Participate in special technology research, new technology introduction, etc.

Job Requirements:

  1. 2 years or above experience in Python development, bachelor degree or above, computer related major;
  2. Love computer science and Internet technology, proficient in Python language, familiar with regular expressions, familiar with MySQL database;
  3. Familiar with Python network programming, able to design and maintain high-performance event-driven framework programs based on TCP/IP protocol;
  4. Strong thirst for knowledge, excellent learning and communication skills;

First of all, I will analyze the requirements of this position. I need to develop crawler system, have Python development ability, and have an understanding of network protocol. With these points in mind, we can write a brief description of the job:

Two years of Python back-end development experience, familiar with Scrapy framework, participated in the design and development of several projects as the main engineer, responsible for the development of system core modules, automatic testing and deployment. Familiar with HTTP protocol, TCP/IP protocol, regular expression, XPATH usage, Redis, MySQL database and Linux system common mechanism and principle. Have excellent learning ability and team communication skills, often share technology with the team, can grow together with the team.

** Keywords in profile/work experience/project experience should be in bold. ** The first article here highlights my development experience and briefly introduces my previous main responsibilities (crawler development, automated testing and deployment experience). Second, present a list of professional knowledge and skills that meet the requirements of the position. Third, list soft skills. Take technical sharing with the team as an example to highlight the ability to work in a team.

If you are a non-academic or new engineer, try to highlight your abilities in terms of personal projects, learning abilities, and soft skills.

Two years of independent Web project development experience, understand the project development process and automatic deployment, design and develop todo-list, blog and other projects, realize browsing, comment, like and other functions. Familiar with HTTP protocol, TCP/IP protocol, Redis, MySQL database and The common mechanism and principle of Linux system. Keen to learn computer technology, self-taught computer system, data structure and other computer courses.

** Non-professional engineers should compete with professional engineers, preferably having done projects similar to their positions. ** Quality individual events are also a plus. Blogs, crawlers, and todo-lists are all too common, and I’m not saying they lack technical content (check out Python author Guido van Rossum’s crawler), but too many job seekers do very simple things without digging into the fundamentals. If you can complete some distinctive projects, you can attract the attention of HR. There are many interesting projects in 500Lines. If you feel that you can’t keep up, you can follow several MOOC courses, which also have some interesting projects to implement, such as browser, search engine and social network. It seems difficult, but it has step-by-step instructions and sample code. I’m sure most developers can learn a lot from this. Imagine if the blurb above read:

Two years of Python backend development experience, familiar with Scrapy crawler framework, designed and developed a simple browser, syntax parsing, compilation functions. Developed a search engine and social network to realize the search, follow the function. Familiar with HTTP protocol, TCP/IP protocol, regular expression, XPATH usage, understand MySQL database and Linux system common mechanisms and principles. Keen to learn computer technology, self-taught computer system, data structure and other computer courses.

Doesn’t it make a big difference that HR is willing to give opportunity to someone who is special? In fact, the process of writing a resume is also a process of self-reflection, from which you can know where you lack, timely remedy and learn, in order to get a good offer.

Some engineers have the misconception that they will only attract traditional, boring companies if they follow the rules. I’ve met a lot of profile writers who love freedom and love life, and I think most people love freedom. Simply writing about love of freedom doesn’t show true love. The best way to prove it in the field of computing is to use free software and contribute to open source projects.

Congratulations, the first step of the introduction is complete. You’ve caught HR’s eye, and the next thing you need to do is show them what you can do.

Skills list

As I pointed out in a common mistake, HR will simply search the resume for keywords, and if there aren’t any, they will simply sift them out. Therefore, the skill list can be listed according to the type of tools you are best at, because the familiarity of different opinions, so do not write, or use a progress bar to express:

Backend framework: Django, Flask, Scrapy

Front-end frameworks: Vue, React, jQuery

Databases: Redis, MySQL

Others: Docker, Jenkins, Git

Foreign language: CET-6, able to read English documents fluently

Work experience

If this resume is for internships, this module can be skipped. One thing I should pay attention to is the completeness of my work experience. When I went to Tencent for an interview (I often go for an interview and refer to how to prepare for a technical interview), they asked me why I did not include my complete work experience, because they required that there should be no blank period between graduation and now. I replied that one is to keep the resume short, and the other is that recent work experience is relevant to the position. This is one of the only times I’ve ever been asked to fill out a full job history, so my advice is to include the most recent 2-3 companies on your resume, and if you’re asked about previous jobs, be accurate and connect all the time points so that you don’t give the impression that you’re hiding anything. Work experience should be listed in reverse order of most recent employment, which can be divided into four points:

The name of the company

Write the full name of the company or, if the product is well known, the name of the product:

Unique Angle Technology Co., LTD. (EngineGo, Thankyou-OpenSource)

Position/Working time

Note that if the position is data analysis engineer, then crawler engineer and data mining engineer are different for HR, and the words of senior engineer should also be added. Additional on-the-job time should write according to the time of social security pay, some factories can do background investigation.

Unique Angle Technology Co., LTD. (EngineGo, Thankyou-OpenSource)

In June 2014 – June 2016 | advanced Python development engineer

The main duties and responsibilities

The main responsibilities highlight the responsibilities in the job and what benefits they bring to the company. Different from the following project experience, there is no need to write the technical stack and project details in detail, but only need to outline them. Here is an example in our example:

  1. As the group leader, I was responsible for designing and developing distributed web crawler system, optimizing crawler strategy and anti-shielding rules, and improving the efficiency and quality of web page crawling.
  2. Analyze and design feasibility of solutions according to industry requirements, test and optimize project codes, assist in continuous integration and automatic deployment, and improve system availability.
  3. Responsible for the preparation and maintenance of the company’s technical documents, review the team’s code regularly, and learn and grow together with the team.

Experience in project

Project experience can be included in the corresponding work experience, and each company can choose 1-2 projects to focus on. ** needs to describe in detail the modules mainly developed or maintained, what tools are used and what effects are achieved. Here, take EngineGo crawler system as an example, pay attention to concise and prominent data, do not make meaningless description, and the keywords should be bold.

  1. Communicate with product manager, use Scrapy framework to reconstruct crawler module, increase crawler speed by 200% and reduce server CPU load by 20%. Improved crawler strategy to reduce the number of blocked requests by 40%.
  2. As the main engineer, I designed and developed property module and activity module, realizing 10 functions such as registration and instant notification.
  3. Redis database is used to realize distributed crawler and data cache, reducing 50% data query time.
  4. Cooperate with other engineers, use Docker to split and restructure the project, reduce resource coupling between business modules, and realize continuous integration and automatic deployment.

In most cases, it’s not recommended to include an image of the project. It’s better to include a link to the project.

Education situation

Schools will write, we should pay attention to a few points, if you study 211/985 and other schools can put the school in the front, after the introduction. In addition, I encountered a lot of candidates to change their major directly do not write the original major, I think this is unnecessary. HR is not stupid either. It is better to write it down honestly if you know it is not a major. I know the developer of Tencent who majored in psychology as an undergraduate. High GPA/high marks in specialized courses/scholarships/awards in competitions can be selected as important plus:

XXX university | computer science

From 2013 to 2017

Computer Systems (85 / Rank 18/100), Data Structures (90 / Rank 10/100)

Gpa: 3.7 | a country pursues a scholarship

Won the first prize of American College Students Mathematical Contest in Modeling in 2015-2016 academic year

Won the second prize of guangdong Province “Lijian Cup” Science and Technology Innovation Competition in 2013-2014 academic year

Okay, what if my school is mediocre and my major doesn’t match. We used the article to figure out what parts of a resume HR is looking for — from a good school, from a good company — and, needless to say, completing a course like Udacity or Coursera. Job seekers can present their education like this.

XXX university | civil engineering

From 2013 to 2017

Introduction to Udacity | machine learning engineer/Coursera | computer/operating system

From 2016 to 2017

I can’t say that in the domestic environment, this will definitely add a lot of points, after all, most companies value a college degree. Still, some of the more open companies like employees who are constantly learning. Plus, at least you won’t lose points.

Others (optional)

Optional, may also become extra points, domestic less value this point, but I still pay more attention to:

Volunteer work

Assisted in organizing the translation of Flask, Requests first version of the document, and translated more than ten technical articles (good foreign language skills are highlighted).

Teach junior high school students to learn Python from scratch and design and write their own games.

Cherry, an open source project on Github, got 200 stars.

Interests and hobbies

Computer related or hands-on interests should be listed, not singing or traveling.

combined

Combining the above points, a good resume should look something like this, with templates from here:

conclusion

As long as you carefully modify your resume, the HR will feel it and stand out from many applicants and get more opportunities. Sometimes the opportunity is often not hard to fight for the above. I hope you can write better resumes and get more opportunities after reading this article. (This article describes Resume skills for domestic companies, if you want to apply to foreign companies, it is not easy to translate directly. Readers who are interested can refer to the Resume, which provides a lot of useful information.)