Foreword: Yesterday a friend called me and asked me that his child has graduated from college and has not found a suitable job. He knows that the Internet industry has been relatively popular in recent years and the salary is also high, so he also Do you want your children to work in the Internet industry, but don’t know what positions are available in the Internet industry? Which technology should I learn? I directly suggested that he learn PHP development work, because he has no foundation and has just started working. He might as well start as a programmer and slowly find the direction he is interested in. It is easy to get started with the PHP language, jobs are easy to find, and the overall salary level is not bad. Below I will analyze the specific conditions of each position in detail!
First of all, where does the demand come from?
Customer’s project
If you are doing a customer's project, the demand will of course come from the customer. Most of the customers are novices in software development, but I have also seen customers who are excellent software talents. It is difficult for them to clearly describe their real business requirements. At this time, someone needs to make a grand appearance: a business analyst. For large companies, business analysts are full-time, while for small companies, project managers or development backbones just bite the bullet. Business analysts need to clarify the requirements and hand them over to the architects behind for design.
If a business analyst works in a certain industry for a long time, he will become a business expert. For example, if you have done all the core system projects of major domestic banks, how familiar are you with banking business? You may even be more valuable than a specific person in the bank. At this time, you will be extremely valuable. Not only can you analyze the business, but you can also help the bank optimize its business. Do you think you are good or not?
Q: Do business analysts need to know technology?
Answer: It is best to understand that what you analyze needs to be implemented by programmers. If you do not consider the existing technology and blindly cater to users, you will definitely be scolded by programmers. die.
If you are a business expert who grew up as a programmer and are technically proficient, then just sit back and count your money.
Company’s products
If you are making products, such as WeChat, QQ, Taobao, World of Warcraft, Journey, Westward Journey, then the demand is actually your own company’s defined by people.
There is now a fashionable profession that defines this requirement: product manager. For example, Zhang Xiaolong is the super product manager of WeChat, and Shi Yuzhu is the hardcore product manager of Zhengtu.
Product managers mainly design products based on user psychology and experience so that everyone can use them happily. Good product managers are very popular now and are in short supply.
Q: Does a product manager need to know technology?
Answer: Yes, it is best to grow up as a programmer and know how difficult it is to design and implement a product. Otherwise, if you only care about yourself, you will be scolded by programmers.
Design and Development
Architect
Sounds like a very high position, but it requires strong technical strength and profound technical accumulation. The growth of an architect requires experience, technical breadth and appropriate depth. Designing an elegant, flexible, and scalable architecture is the architect's main job.
You can’t just pursue the latest and hottest technology, you also need to consider the capabilities of the existing team and the maturity of the technology.
Personnel requirements: ★
Difficulty index: ★★★★★
web back-end programmer
Back-end program Members mainly implement business logic and provide interfaces for front-end use.
Java is of course the most used, but there are also other relatively niche ones like Python, ruby on rails, etc., and PHP, which is simple and crude and commonly used by small and medium-sized websites. No matter which one, it is difficult to learn. It's hard.
The demand for personnel in this area is relatively large.
Personnel requirements: ★★★★★
Difficulty index: ★★★
web front-end programmer
Mainly Javascript, CSS, JQuery, etc. In recent years, everyone has paid attention to the browser-side user experience, and the browser-side has become more and more dazzling, so it is also very popular.
Personnel requirements: ★★★★★
Difficulty index: ★★★
Mobile terminal programmer
Mainly Android and iOS are very popular now due to the development of mobile Internet, and the demand is huge. Relatively speaking, the threshold for iOS is higher and there are fewer programmers, but the salary is higher.
Personnel requirements: ★★★★
Difficulty index: ★★★★
System programming programmer
Some requirements It's very simple. Some requirements are very complex and need to support massive users and massive concurrency, like Taobao's "Double Eleven" and WeChat's Spring Festival red envelope grabbing.
Needs cloud computing, virtualization, distributed processing, and supports horizontal expansion of the system. For massive data, big data analysis is also needed to extract valuable information, such as Hadoop. Since it is necessary to customize the development of operating systems, databases, and server-side systems, or even make their own, small companies generally do not have such technical capabilities, and companies like BAT are mainly doing this. The demand for personnel is not very large. For programmers, they need to delve very deeply into a field and have relatively good technical stability.
Personnel requirements: ★★
Difficulty index: ★★★★★
Security
In the Internet age, your information It may be stolen if you are not careful, so safety is becoming more and more important. Therefore, it is not enough to simply implement functions and meet performance. Many companies, especially BAT, attach great importance to security. Of course, this direction also requires in-depth study of technology.
Personnel requirements: ★★
Difficulty index: ★★★★★
Test
This does not have too many technical requirements High, but it also requires testing-related knowledge, being able to design test cases, prepare test data, and execute tests.
Agile development is now popular, and testing also requires knowledge of development, and at least the ability to develop some automated scripts. Many girls later moved to testing positions. I think it is mainly because girls are more careful. I have met a very good tester at IBM: not only can she complete the assigned work well, but she can also participate in design and development discussions. She can often ask questions that developers have not thought of from a testing perspective, which greatly helps improve Software quality.
Database Administrator
Almost all projects require database support. For large and very large projects, there will be a position called DBA. He is extremely proficient in database knowledge and manages the database on a daily basis. During development, he can help the development team design the database, identify performance bottlenecks, and perform performance tuning.
Artist/Documentation Art
Mainly beautifies the interface. Generally, the artist will first create the interface prototype. After everyone discusses, modifies, and confirms, the artist will generate various Interface elements, like icons, buttons, etc.
Now there are certain technical requirements for artists, not only to draw the interface, but also to make HTML templates, so artists need to know HTML, CSS, and even some Javascript. After the programmer gets the html template, he can just add business code to it.
Documentation Writer
Small projects are usually done part-time by someone in the team. For large projects and products, someone will write documents full-time. I participated in Shanghai in 2003 For the project of the stock exchange, I saw a full-time document writer writing the Word document. It was very professional and beautiful, and it was completely ready for direct publication. I copied it and wanted to imitate it, but I couldn't do it the same way.
Project Management
The project has started. Business analysts, architects, developers, testers and other people are like hungry wolves, and they are bound to tear the project apart. Crush. But how can so many people collaborate? How to manage? Can the progress be completed as required? This requires the project manager to take action.
Project manager, to put it bluntly, leads everyone to do projects. He mainly deals with people and needs to coordinate the relationships between all aspects to ensure the smooth progress of the project.
Question: Does the project manager need to know technology?
Answer: Of course, it is necessary. It is best to have a development background, otherwise you will not understand what those programmers are saying, and you can only float on the surface, unable to go deep into the project, and others will not accept you. Team It must be a bad one.
Operation
If you are developing your own product, you will encounter a problem immediately after the development is completed. How to promote it?
In the Internet age, the world is fair and competition is extremely fierce. If a good software, app or website lacks operation, no matter how good your technology is, it will not work.
Operation is actually trying to find ways to make your product known and used by others. The water here is very deep. For example, how to write a soft article? How to market on social networks, WeChat, and Weibo? How to count, analyze, and accurately position?
In this regard, Xiaomi before 2014 is definitely a model. Lei Jun’s 7-word formula: focus, perfection, reputation, and speed. "Sense of Participation" by Li Wanqiang is a classic.
Good Internet operation talents are in short supply, and of course they are very popular. Students who are not interested in programming may wish to take a look at this direction.
After talking about so many career directions, you will find that most of them require knowledge of certain technologies, so what I actually want to say is: when you first join the job, you might as well start as a programmer first, and then slowly work your way up to Find the direction that interests you.
[Related recommendations]
1. 2017 PHP development trends and ten suggestions for the development direction of PHP programmers
2. Avoid detours, an old programmer talks about PHP career development plan
3. How to become an excellent full-stack engineer through self-study?
4. What are the future development prospects of php? Is there any future for learning PHP?