If you want to switch careers as a programmer, how should you choose a development language? Which position pays the highest?

This article is mainly aimed at students who want to understand or change careers to engage in development positions with zero foundation.

We collected previous graduate students and some students who are consulting, and found that in the early stage of study, the most questions or concerns about switching to Internet development can be roughly divided into several categories:

Which language is hotter now?

What language should I learn to get a job?

Is the XX language saturated?

...

In fact, there is no distinction between good and bad language, only inappropriate. Today, we will introduce to you the development posts in different languages, hoping to help you change careers and learn.

01  Development posts are mainly divided into two categories

There are a lot of popular science on the Internet about how to choose a programming language and the characteristics of each language. Here I briefly introduce that programming is mainly divided into two categories: front-end development and back-end development.

Front-end development ("front-end" is the part that directly interacts with users):

If you do web front-end development, you need Javascript plus HTML and CSS. If you do APP, there are ios and android. For IOS development, it is object-c and swift language. For Android, it is JAVA and the new kotlin.

There are also current applets, web apps, and hybrid apps that are also very popular, so I won’t introduce them here.

Backend development:

Java: The king of the application development field, the heyday of JavaEE and Android makes Java rank first in the rankings. JAVA jobs are in great demand, and it is relatively easy to find a job.

C: It has unparalleled advantages in operating system kernel and embedded development. The recent surge in the share of C language may be related to the recovery of the Internet of Things.

C++: Suitable for server-side development, game development and other fields that require high performance and efficiency. Not a very easy language to learn.

C#: .net development, desktop application development, and Unity3D game development.

PHP: There are quite a lot of job opportunities, suitable for building the background of small and medium-sized websites.

Python: The most popular language at the moment, it can be used as the backend of the website, and can also help with data analysis. Practitioners in many other positions will also choose this language to improve their skills and help improve work efficiency.

02  Programmer's salary

As we all know, the salary of programmers is relatively high, which is one of the reasons why many students want to switch to development.

Taking Shenzhen as an example, let’s take a look at the approximate salaries of different development positions:

Web front end

Create a Web or App interface to present to users, and realize product interaction through HTML, JavaScript, CSS (compatibility considerations) and other technical frameworks and solutions;

With the outbreak of small programs, H5, and APP, there has been a large demand for talents. There is a certain threshold for front-end entry, and the current market supply exceeds demand, so employment/industry selection is seriously involved.

java development

It can be simply understood as a back-end engineer who is dedicated to writing various types of code. He must have a clear logical judgment on the application and be proficient in database and other technologies. The languages ​​include Java, Python, C++, PHP, etc.

The development prospect of the back end is very great, whether it is B/S or C/S, whether it is Web or native or smart hardware, all take it all; the entry threshold for development is relatively high, but it is also the group of people with the highest salary.

UI design

To some extent, the best development direction of UI is UE (interaction), or go in the direction of user experience optimizer; avoid becoming a mechanical tool person of Party B, because none of my colleagues can stay long and frequently change jobs What a misfortune.

data analysis

In the era of big data, it is self-evident that enterprises attach great importance to data analysis, and data analysis that is more technically oriented is even more sought after. Data analysts are required to master SQL, Python or R, and some companies also require the most basic programming skills, have a certain business sensitivity, and have certain ideas and suggestions for the business;

Therefore, from my perspective, data analysis is more suitable for professionals with a certain technical foundation. It is best for beginners with 0 foundation to bypass it, so as not to be futile.

Test Engineer

Mainly responsible for the testing of project products to ensure the quality of the application under test. The work content includes writing test plans, test cases, test reports, user manuals, etc.; Give it to software engineers to solve it in time.

Compared with the above types of work, test engineers have a lower threshold to get started, so they have recently attracted the attention of many novices. However, in the same way, under the situation of oversupply, the employment choice industry is gradually increasing. Remember to improve your differentiated competition Power, speak with strength to get a high salary.

Operation and Maintenance Engineer

It is necessary to take into account both software and hardware systems, such as being familiar with the computer market conditions, formulating computer assembly plans, purchasing hardware equipment required for assembly, rationally configuring and installing computers and peripheral equipment, installing and configuring computer software systems, etc., to maintain and ensure the entire software High availability of system services, while continuously optimizing architecture, improving deployment efficiency, optimizing resource utilization, and ultimately improving overall ROI.

software engineer

This is a relatively broad concept, which includes a series of positions such as software designers, software architects, and engineering administrators. The work content is closely related to software development, and it is a relatively basic occupation in the IT industry. (Enterprises are often not regarded as a single type of work)

cloud computing

Cloud computing is a kind of distributed, which decomposes the big data computing processing program into countless small programs through the network "cloud", and then processes and analyzes these small programs through a system composed of multiple servers to obtain the results and return them to the user.

03  Programmer's career development path

In the IT industry, the growth of most technicians can be roughly divided into:

The first stage: Xiaobai enters the industry, is familiar with theoretical knowledge, deeply studies technology, masters at least one tool, allows the theory to be applied in practical work, and is familiar with the working environment and working methods, and the way people cooperate.

The second stage: Participate in project development and become the technical leader or system analyst of the project team, learn to understand software and technology from a system perspective, learn to communicate with users, and enrich other non-IT industry knowledge, such as the transportation industry, How industries like the financial industry work.

The third stage: This stage is generally a high-level programmer. Usually, career development will change a lot. Generally, there are the following paths:

Become a senior engineer and take the position of chief engineer of the company; become a pre-sales support engineer and become a master at negotiating with users, defending, and writing project proposals;

Become a project manager and gradually learn to manage the team; you may also become a technical salesperson; or become the company's CTO and move towards a career as a professional manager.

Of course, the above are only approximate situations, and are not completely applicable to the career development path of every technician.

You just need to know that the so-called career planning is to set a goal for yourself before the start of each stage, and to keep moving forward and working hard towards this goal.

04  Why do most people think programming is difficult
 

Why are many people who are not computer majors able to learn programming skills through IT training institutions? I don't think programming is difficult.

The content of courses studied in training institutions is developed according to the needs of enterprises in the market. Learning is work, and learning is realized through work.

And the teaching syllabus is step-by-step, from shallow to deep. The first thing to do is to cultivate students' interest in programming and gain a sense of accomplishment from it. It is interest-oriented, step by step, and interspersed with practical projects at each stage of the course.

Teachers will arouse students' interest, encourage them to explore unknown areas, actively learn and absorb knowledge, develop skills and accumulate experience.

Solve the difficulties they encounter in the learning process, give timely pointers, and help students establish a "positive" interest cycle in learning.

Therefore, even if many people are not computer majors, they can learn programming in a very short period of time.

Programming is not difficult at all. Use a language that the computer can understand and tell it to help you do what you want. As long as you study hard, anyone can do it.

The difficulty lies in the difference between "learning to test" and "applying what you have learned"; remembering is different from creating; learning a subject well is different from understanding the world.

Of course, it is not necessary to completely deny exam-oriented education. In China's ecology where educational resources are extremely uneven and the economy and culture are torn apart, education for the purpose of examinations provides a set of very clear criteria for judging and screening and dividing student groups through the explicit indicator of scores. The social elite may be the fairest choice at the moment.

It’s just that the times are constantly developing. Whether it is a school, parents or children, they should reflect on the current form of education they receive, how to give full play to each of their own personalities, and let them grow into better people—the process of learning programming will give you the answer.

Guess you like

Origin blog.csdn.net/bdqn_zyjy/article/details/129821088
Recommended