Do you think Python is really good? Maybe you saw this in the publicity of the sky:
a simple grammar close to English;
The development environment is simple, and you can write code by typing.
Numerous third-party libraries;
Explain execution without compiling;
Cross-platform, easy to transplant;
But as a responsible fake program, what you want to tell you is: Even if you have a simple language, you have to learn. Don’t be good, really good or bad, how to learn how to learn Work hard.
So, let’s get down to business, let’s take a look at the magical language of Python.
Part 1: Languages used in various fields.
Everyone looks at this content. In fact, you obviously find out that in fact, each language has its usefulness. We can say that Python is the most widely used. But for the time being it can’t be said that it is all-powerful, because he also has its shortcomings, but for the average small company and small projects, it is a rare all-around.
There is a very strange phenomenon now, that is, everyone has a Python myth. Python as a language does have his strengths. However, it is recommended that you learn the second language while learning the language, so that the future will have a good development for everyone.
The second part: What is the positioning of Python engineers in the enterprise?
Four important positioning: verification algorithm, rapid development, test operation and maintenance, data analysis.
1. Verification algorithm: It is the verification of some common design algorithms or formulas of our company, and the formula is coded.
2. Rapid development: This should be familiar to everyone, rapid development, is to use a mature framework, less code to develop the website, Python has a large number of mature frameworks in front and back of the website, such as django, flask, bottle, tornado, flask and django Many domestic websites developed with Python include: Zhihu, Douban, Scallop, Tencent, and Alibaba;
3. Test operation and maintenance: Students in the operation and maintenance should be aware that the daily operations in the Linux operation and maintenance work cover monitoring, deployment, network configuration, log analysis, security detection, and many other aspects. Python can write a lot of scripts to make the “action” behavior the ultimate. At the same time, Python is very rich in server management tools, configuration management (saltstack) batch execution ( fabric, saltstack) monitoring (Zenoss, nagios plugin) virtualization management ( python-libvirt) process management (supervisor) cloud computing (openstack) … and most system C libraries have python bindings.
4. Data analysis: Python has three artifacts: numpy, scipy, matplotlib, where many of numpy are implemented in C language, so it is very fast. It can be used to participate in various mathematical modeling contests, which can completely replace r language and MATLAB. Spark, Hadoop has opened a Python interface, so using Python to do big data mapreduce is also very simple, plus py support for the database is very good, or similar to sqlalchemy orm is very powerful and easy to use.
Before ending this section, do you have a question: Why is the reptile not focused on it?
In fact, let’s focus on it here. If you want to learn Python, just stay on the reptile, this is very unreliable. Python’s tutorial on crawling worms is a lot of online. As everyone knows, many people who are new to Python use it to write crawlers. Small enough to grab a small yellow map website, big to a commercial application of an internet company. Getting started with Python is relatively easy to learn. You don’t need to master too much knowledge at the beginning to get started. You can quickly get results, which is very suitable for Xiaobai to make a point to see. The sense of accomplishment of things.
In addition to getting started, crawlers are widely used by companies, platforms, and organizations that need data to achieve some business value by capturing publicly available data on the Internet.
Of course, the reptiles of these players are much more powerful, and they need to deal with many problems including routing, storage, distributed computing, etc., and Xiaobai’s small yellow program, the complexity is many times worse.
Part III: Python’s position, salary, and skill requirements
What are the Python posts? The main posts are these:
Python full stack development engineer (10k-20K)
Python operation and maintenance development engineer (15k-20K)
Python Senior Development Engineer (15k-30K)
Python Big Data Engineer (15K-30K)
Python Machine Learning Engineer (15k-30K)
Python architect (20k-40k)
Currently the most widely used: full stack development, data analysis, operation and maintenance development, we know what their respective requirements are?
Let’s look at three job requirements:
Position 1: Requirement
1. Bachelor degree or above in computer or software related major, more than 3 years working experience;
2. Familiar with Python, JS development language;
3. Have MySQL database design and optimization capabilities, familiar with mongoDB, mc, redis, etc.;
4. Familiar with Linux/Unix, can perform shell programming;
5. Have good learning ability, time and process awareness, communication skills, teamwork
Job definition: Python operation and development
Position 2: Job Requirements
1, familiar with Python programming;
2, familiar with the Linux system;
3, familiar with shell programming;
4. Understand one or more of the django/web.py/flask frameworks;
5, have a certain experience of Web back-end development, familiar with the development mode of front-end separation
Familiar with the use of relational databases and basic design optimization methods, understand common NoSQL databases such as MongoDB, Redis, etc.;
6, good coding style and test habits
Open source project on GitHub
Job definition: Python full stack development
Position 3: Qualification
1. Experience with Python development data processing software;
2, proficient in Python, master numpy, scipy, matplotlib, pandas and other data processing commonly used third-party python library;
3, familiar with at least one Sql database (mysql / sqlserver / oracle);
4, love programming, with a good code style;
5, work is organized, has a good ability to self-learn, analyze problems and solve problems.
Job definition: Python data analysis
Then, let’s take a look at the basic requirements of these three positions, what are the commonalities and differences?
The first layer: Python’s basic syntax and standard library
Since you are going to develop python, the syntax base and libraries are the most basic.
The second layer: Linux basics
Full stack and operation and maintenance involve the operation of the Linux server, which requires the basic capabilities of shell programming and basic Linux operations. Data analysis does not have this layer, it involves data collection, which is reptile. The full stack requires less basic linux, and the operation and maintenance needs more. It also needs some DNS/DHCP and so on. Many enterprises also need certain operation and maintenance years.
The third layer: database operations
Database operations: SQL, Nosql, data storage and processing, is a common addition, deletion and change.
The fourth layer: web front end
The fifth layer: the basic python framework and library
The basic python framework and libraries do various implementations, need to develop a website or do an automated operation and maintenance monitoring, and the data analyst is based on a library of visual libraries and data analysis.
Sixth level: algorithm design and job search preparation
The core of learning a technology and advanced is algorithm design, the most important thing is: job search
The last part: talk about salary and city
National python employment situation analysis: recruitment benefits, wages 20000-29999 accounted for the most, up to 40%. Experience requires that 3-5 years of work experience requires the largest proportion, reaching 71%; academic requirements, undergraduate degree requirements account for the largest proportion, up to 76%. This data is for reference only
Python salary is calculated according to work experience, including 0-2 year salary ¥13060, fresh graduate salary ¥4210, 3-5 year salary ¥15220, 6-7 year salary ¥23860, 8-10 year salary ¥25220, more than 10 years Salary ¥14170, the data is for reference only.
The above is an analysis of Python professional needs, salary positions and common positions, welcome to leave a message and discussion.
In order to facilitate everyone to learn, I have established a Python communication group. At present, there are already 350 small partners in the group. Learning lonely friends may wish to play together~ Group number: 475035830
If you want to learn more about learning the Python knowledge system, you can look at the hundreds of knowledge points that we spent over a month on hundreds of hours: