Lemon brother sorted out 50 computer related e-books, pay attention to the public number “back-end technology School”, reply “1024” I send to you, reply “into the group” pull you into the reader technology exchange group.
March and April are the peak recruitment period, often referred to as the golden three silver four golden recruitment period. At this time, the last year’s summary is finished, the bonus is received, and the workplace begins to plan the big drama of job hunting at the beginning of the year. As one of the high-paying industries, the IT industry, programmers also start to frantically send resumes to their favorite companies.
As IT people we want to play their own professional expertise, how to find a satisfactory position from a variety of recruitment online? I have analyzed the C++ recruitment information in Beijing, guangzhou and shenzhen, three first-tier cities. Due to space limitation, this paper only takes out the data analysis of Beijing and shenzhen, so as to let us have a look at the recruitment status of C++ positions and how to improve the success rate of recruitment scientifically.
At the end of this article, share the hd chart of this analysis, if you need to help yourself. At the same time, I share source code for learning and communication. If I am interested in other positions, I can run source code analysis by myself.
Demand analysis
Through the analysis of recruitment data released by recruitment websites, we can get the position distribution area, salary level, educational requirements, key skills of the job demand, and the characteristics of matched talents. In order to help candidates improve their own ability, make up the short board, targeted response to the school recruitment, to achieve the ultimate goal to obtain the desired offer.
The software design
Data analysis is Python’s forte, and the project is implemented in Python. The software is divided into two modules: data acquisition and data analysis
Detailed implementation
Data acquisition
The Request library constructs requests for data
1cookie = s.cookies
2req = requests.post(self.baseurl, headers=self.header, data={'first': True.'pn': i, 'kd':self.keyword}, params={'px': 'default'.'city': self.city, 'needAddtionalResult': 'false'}, cookies=cookie, timeout=3)
3text = req.json()
Copy the code
Data is stored in CSV format
1with open(os.path.join(self.path, 'Recruitment _ Keyword _{}_ city _{}.csv'.format(self.keyword, self.city)), 'w',newline=' ', encoding='utf-8-sig') as f:
2 f_csv = csv.DictWriter(f, self.csv_header)
3 f_csv.writeheader()
4 f_csv.writerows(data_list)
Copy the code
The data analysis
Field preprocessing
1df_all.rename({'Job Title': 'position'}, axis=1, inplace=True) # axis = 1 representative index; Axis = 0 on behalf of the column
2df_all.rename({'Detailed links': 'url'}, axis=1, inplace=True)
3df_all.rename({'Place of Work': 'region'}, axis=1, inplace=True)
4df_all.rename({'salaries': 'salary'}, axis=1, inplace=True)
5df_all.rename({'Company Name': 'company'}, axis=1, inplace=True)
6df_all.rename({'Experience requirements': 'experience'}, axis=1, inplace=True)
7df_all.rename({'degree': 'edu'}, axis=1, inplace=True)
8df_all.rename({'welfare': 'welfare'}, axis=1, inplace=True)
9df_all.rename({'Job Information': 'detail'}, axis=1, inplace=True)
10df_all.drop_duplicates(inplace=True)
11df_all.index = range(df_all.shape[0])
Copy the code
Data processing display
1from pyecharts.charts import Bar
2regBar = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))
3regBar.add_xaxis(region.index.tolist())
4regBar.add_yaxis("Area", region.values.tolist())
5regBar.set_global_opts(title_opts=opts.TitleOpts(title="Work area distribution"),
6 toolbox_opts=opts.ToolboxOpts(),
7 visualmap_opts=opts.VisualMapOpts())
8
9from pyecharts.commons.utils import JsCode
10shBar = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))
11shBar.add_xaxis(sala_high.index.tolist())
12shBar.add_yaxis("Area", sala_high.values.tolist())
13shBar.set_series_opts(itemstyle_opts={
14 "normal": {
15 "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ 16 offset: 0, 17 color: 'rgba(0, 244, 255, 1)' 18 }, { 19 offset: 1, 20 color: 'rgba(0, 77, 167, 1)' 21 }], false)"""),
22 "barBorderRadius": [30.30.30.30].23 "shadowColor": 'rgb(0, 160, 221)'.24 }})
25shBar.set_global_opts(title_opts=opts.TitleOpts(title="Distribution of the highest salary range"), toolbox_opts=opts.ToolboxOpts())
26
27word.add("", [*zip(key_words.words, key_words.num)],
28 word_size_range=[20.200], shape='diamond')
29word.set_global_opts(title_opts=opts.TitleOpts(title="Job Skills Keywords Cloud map"),
30 toolbox_opts=opts.ToolboxOpts())
Copy the code
The data analysis
Regional distribution
C++ jobs by region, Beijing VS shenzhen
The number of C++ positions in Beijing is more than that in shenzhen, which is supported by the capital and distributed in haidian district and chaoyang district. Zhongguancun is located in haidian district, and houchang village is located in wang town in the northwest of haidian district. Internet giants such as Tencent, didi, baidu, sina and netease are clustered together, which can naturally provide more positions.
Shenzhen post is concentrated in nanshan district, guess goose C++ factory in the southern district contributed a significant share, the second actually in baoan district.
The degree distribution
C++ position education distribution, Beijing VS shenzhen
In terms of educational background, the proportion of undergraduate degree in the two cities is more than 80%, and the proportion of postgraduate job demand in Beijing is similar to that of junior college. It can be seen that most of the positions of undergraduate education can be competent, may be able to graduate entangled examination not to take an examination of your some reference.
If your degree is a junior college, you need to work twice as hard because there are not many positions left for you. At the same time, according to the chart data, the job demand of Shenzhen is 10% for college students and only 2% for masters. Maybe shenzhen is friendlier than Beijing, EMMM… For reference only.
Salary distribution
C++ position salary distribution, salary unit K. Highest salary VS lowest salary in Beijing
Highest salary VS lowest salary in Shenzhen
There is nothing to say about salary comparison. People just want to say that the Imperial capital is really rich.
Skills reserves
C++ key skills word cloud, Beijing VS shenzhen
First of all, programming problem solving ability is the most important before leaving development and entering management position. It can be seen that “programming” ability accounts for the largest proportion in the skill word cloud.
Job skill word cloud can be seen that most positions require higher “algorithm, data structure, Linux, database (storage), multithreading (operating system)” computer basic literacy, so whether you are school students preparing for school recruitment or workplace elderly preparing for job-hopping, need to reserve these computer basic ability.
At the same time, in addition to the requirements of core skills, there are also requirements on soft power of candidates. For example, we prefer candidates with “team, collaboration, learning and communication” skills. While improving technical ability, we should also pay attention to the cultivation of these soft power.
It is interesting to find that both Linux and Windows have C++ development positions in demand. Compared to Linux, C++ development accounts for more and the word cloud is larger. If you do not have a preference for these two platforms, then learning to develop in Linux will probably increase the success rate of recruitment.
Reply “Work” on the public account “Backend Technology School” to get the full source code of this article and hd analysis chart.
More highlights
I used big data to analyze the recruitment needs of more than 1000 posts in first-tier cities, tell you how to find a job scientifically
Original is not easy, see here move a finger, your “three even” is the biggest support for my continuous creation.
More and more
Wechat can search the public number “back-end technology school” reply “1024” to get 50 computer e-books, reply “into the group” pull you into the reader technology exchange hundred crowd, the article continues to update every week, we see next period!