Looking for a sense of accomplishment in programming: which programming position is suitable for you?

Time:2021-2-26

Looking for a sense of accomplishment in programming: which programming position is suitable for you?
Each of us has unique talents, skills and interests. Finding a position that can give full play to these can bring us great motivation and sense of achievement. But often, we find ourselves in a very ordinary position, which leads to a vicious circle of job hopping, career change and dissatisfaction. If you want to change your career (or start a new career), you will find that there are all kinds of programming jobs, because the number of job types or “Majors” has increased dramatically in recent years. Even if programming is an essential skill, it is no longer just a “build” role.

Do a good job planning, planning and then apply for a job, you are not only looking for a job, but a suitable occupation

The advantage of doing so is to match your own interests and advantages, making it easier for you to find a suitable job, and your strengths and passion will be displayed. Here’s a breakdown of the most common titles related to programming skills and what they usually contain.

(Note: this list is not exhaustive, as job titles and functions depend on the company and its culture. This list is based on my personal observations in an engineering position at a network technology company.)

_

A

_

Software / Product Engineer (network / full stack / back end and front end)

The excitement of being able to build new technologies is a big attraction. You may be immersed in algorithms and need to be skilled in writing clean and optimal code. Depending on the company, these positions will have more branches. For example, the front end and the back end are usually very different, and the front end post is more visual / UX oriented. There are the same methods in the whole stack. It’s a good way to enter this kind of position before finding a suitable job.

Ideal situationYou are the Builder – you like to build new technologies and systems

_

B

_

Data Engineer

A more professional form of back-end engineer. This is appropriate if you find that you prefer information systems to product features. You will facilitate data infrastructure and analysis by building and maintaining database systems. This is a great position for builders who prefer to be data centric rather than product centric.

Ideal situationYou like to design and build models and systems

_

C

_

Data scientist / Analyst

The position focuses on analysis rather than construction. Therefore, if your goal is to expand the influence of the enterprise rather than build products for customers, then this may be a good choice. Because of its purpose, the position may have more exploratory aspects, usually with business intelligence functions. If you are the kind of person who is keen on seeking knowledge and solving puzzles, then this can bring you a sense of accomplishment. Unlike data analyst, data scientist usually needs machine learning.

Ideal situation:You are a math expert, creative and like to find answers

_

D

_

Data visualization

This position is very common in data journalism, which is considered to be the combination of front-end engineering and data analyst. You need to be creative, aesthetic and enthusiastic about data. With more and more data in the world, the need for effective visual communication (called “storytelling”) becomes more and more obvious for enterprise users every day. This type of work is often one aspect of many data science / analyst positions.

Ideal situationYou have creativity, empathy and strong design ability

_

E

_

Domain specific experts (Security / IOS / Android / ml / VR / AI, etc.)

These are software engineering jobs that focus on specific areas. Usually, you need more extensive experience and knowledge in specific areas to take on these positions. If you like to delve into a technology (think depth first rather than breadth first), then in essence, it’s perfect for you. Therefore, if you want to have multiple choices, it may not be for you. The disadvantage of this position is that your choice may be more limited due to its poor versatility. At the same time, due to its low degree of generalization, you may have high revenue generating potential.

Ideal situationYou are a builder and want to be an expert in your field of expertise

_

F

_

Quality Engineer

This position usually involves using frameworks such as selenium, jmock, and pytest to write test suites. The purpose of this position is to ensure that the developed software works as expected without errors. Although you will not use the product directly, your task is crucial before you actually release any product features. Quality testing is not for everyone, of course, but if you like to test technology carefully to find problems rather than solve them, it may be very suitable for quality testing.

Ideal situation:You pay attention to details, like testing and are good at finding problems

_

G

_

Website reliability / Infrastructure Engineer

This position usually involves using frameworks such as selenium, jmock, and pytest to write test suites. The purpose of this position is to ensure that the developed software works as expected without errors. Although you will not use the product directly, your task is crucial before you actually release any product features. Quality testing is not for everyone, of course, but if you like to test technology carefully to find problems rather than solve them, it may be very suitable for quality testing.

Ideal situationYou pay attention to details, like testing and are good at finding problems

_

H

_

Website reliability / Infrastructure Engineer

For web based services, you will ensure that the service runs smoothly. For SaaS, downtime or performance issues can be costly, so it can be an incredibly high-pressure job. If you grow up in such a challenge and like to use network technology, then this will be very suitable for you.

Ideal situationYou can keep calm and grow up in a high pressure environment

_

I

_

DevOps

This is a bridge between software development and it operations. You may be responsible for designing access to code bases, tools, etc., and helping developers design environments. The position may involve building internal tools and improving processes. You may work closely with developers and need to be a good communicator to thrive in this position.

Ideal situationAre you interested in developer tools and processes

_

J

_

Developer advocate

This kind of post, like the ambassador of the developer community, is a social post, focusing on promoting engineering tools to developers. You may often go to activities, demonstrations or follow forums to answer questions. If you like to explain / teach technical concepts, it is very suitable. In a social role, you usually socialize only within the developer community.

Ideal situationYou are good at communication, like mathematics and participate in technical activities

_

K

_

Technical support engineer

This is usually the next position in customer support where you can use programming skills to solve technology upgrade problems. Depending on the company, you may be able to deal with a variety of day-to-day problems, which is very useful for those who pursue diversity. Sometimes, the work may be investigative in nature, which is beneficial to many people. But this kind of position requires empathy, because it’s usually a customer-centric position. With the growth of SaaS, this position is undoubtedly becoming more and more important.

Ideal situationYou like to help others, be compassionate and enjoy all kinds of work

_

L

_

Sales / enterprise / Solution Engineer

You’re usually not solving day-to-day problems like entry-level engineers, but working with customers at the entry-level and designing solutions for them to integrate the company’s products into their systems. This is ideal for people with social and excellent communication skills, as this position may involve a lot of presentations to non-technical customers. You will feel that you are doing a consulting job, and you will have a deep understanding of the business in the communication with new customers.

Ideal situationYou are eager to integrate people and technology in your daily life and work

All in all: we see that there are so many categories of technicians, which is very good, because you can now use your programming skills in many ways, not just in one job. Whether you like to solve puzzles or are willing to help others, there is a suitable position for you. Through a deeper understanding of yourself and your actions, you can create an eternal sense of achievement in your career.

Link to the original text:

https://medium.com/swlh/findi…

The above information is from the Internet, compiled by the official account of Jingdong cloud developer.

Does not represent the position of JD Zhilian cloud