Original: Taste of Little Sister (wechat official ID: XjjDog), welcome to share, please reserve the source.
Breadth and depth are the extremes of one and the other. For programmers, the evolution from a beginner to an ultimate form is a tug of war between these two forces.
When torn by these two forces, do not know what to do, we call it the confusion of the future.
Programmers easily reach career ceilings (most). The structure is formed over ten years. This is not showing off, but the sad reality. So it’s not hard to be an architect, it’s hard to be an architect.
Businesses need nails. How to make a more valuable nail is what many people pursue. This article introduces a common path to programmer evolution. The route of each company is not quite the same, so there will be some deviation in my map, you can refer to it.
The development route
There are three development routes, one is focused on technology, one is to go to the end; One is to focus on the business and become an industry expert. The other path is to become a manager.
Junior programmer
Beginning programmers often have the illusion that they can do anything. I know everything, and I can talk about everything in a sensible way.
At this stage, it’s easy to fall in love with one of the development languages, pursue some very detailed knowledge points (that’s right), and try to scour the Internet for information.
As a junior coder with little working experience, there was even a written test during the interview. The investigation is mostly limited to basic knowledge and algorithm content.
After entry, responsible for some background page development tasks, or deal with some daily affairs, will often send a “interview rocket, entry screw” sigh.
Client development
Out of love, or have a certain aesthetic ability, some students will choose android client development after basic development.
This part of the work will focus on app development, H5, or game development. This is another branch, and we’re not going to talk too much about it.
Client development is hard work, not because of the work itself. The client-side development framework, compared to the back end, changes faster and is tiring; Because the results are directly visible to the eye, unreliable requirements require frequent rework :).
But there’s a thrill and a sense of accomplishment in innovation that many backend developers don’t experience.
Web development
The SSM is where Web development comes in contact with the most, and it’s also where training is hardest hit.
Many people’s cultivation of technology ends here. Ten years of service, two years of experience. Usually hang in the mouth of the words is: “there is only so much traffic, learn some advanced technology, what use?”
Therefore, if you have been doing Web development, you must choose a business that can be deeply cultivated and deepen your understanding of the product. Or go the technical route and get more exposure to complex systems.
The whole development of the stack
There are so many small companies these days that programmers do everything from front end to back end to operation and maintenance to save money. Jack of all trades, jack of all trades.
Unfortunately, as companies grow, the full stack either evolves into the old guard or is eliminated for the next round of the full stack.
Full stack is mainly used for agile development, which can quickly verify products and adjust strategies in real time.
Sounds great, but don’t get too excited. Unless it makes a great contribution in other ways, most full-stack development will end up as cannon fodder because it’s too easy to replace.
Of course, there are more full-stack options, including enviable freelancers. You can also blow some bull X at the right time.
The project manager
Some people who are articulate and enjoy dealing with people will choose this path.
Most jobs are meetings, statistics, and coordination, more like a chore, with a little power in the hand.
Project managers love certificates, which many companies use when they go to pick up projects.
There are plenty of well-structured companies that don’t need project managers, and that kind of work is done on the side. So project managers, in some companies with complicated personnel and tricky clients, or outsourcing companies, are still more desirable.
Like the hard work of the code farmers, will be more repelled by this line of development, so this also count each in the right place.
Everyone used to be a project manager. Now everyone is a product manager.
You’ve got to the point.
Business professionals
Business experts do not design products, but have years of experience and insights in a vertical industry to help make decisions.
Business experts can understand the key points and risk points in the business system, give consideration to business attributes in technical design, and can do micro innovation.
Business experts usually exist in stable industries, such as banking, insurance, telecommunications, etc. There are fewer job opportunities, but there is a hope of moving up. But do not be delayed by pseudo business life, not all business has the value of deep cultivation.
If you are the air currency boss, there are P2P business experts and IM system business experts two candidates, you will give priority to engage in P2P. That said, the barriers to many businesses are high, and so are the costs for business experts.
Technical experts
That’s where most of the research and development is going. But unfortunately, with the promotion of cloud environment, the demand for this part is also less and less, and in the foreseeable future, the demand will be more depressed.
But within some of the biggest companies, the opportunities and gaps are huge. From IAAS, PAAS and SAAS to the current Serverless and mid-stage concepts, technical experts are reluctant to upgrade themselves, and the overall route of the technical community is getting narrower and narrower.
Technologists have a strong aura of technology and use “universal” techniques that don’t require much business attention and can be adapted to almost any company.
Business architect
In small and medium sized companies, where pure business architects are rare and require specific technical implementation, we can think of business architects as upgraded versions of business experts who can weigh gains and losses and come up with solutions.
You’re a business expert and a technical expert, but the company doesn’t pay you two salaries. So you get a technical business Architect title.
Technical architect
Technical architect is also a tradeoff that is hard to find in small companies because there are not as many requirements.
Technical architects often compare multiple technical products in depth and choose the most appropriate one. There are many factors that affect it, such as the company’s technology stack, product type, management, cost, schedule, etc.
The difference between architect and advanced development is that development can implement one solution, while architect can weigh multiple solutions.
Both business and technical architects need to find an optimal way to coordinate from a large number of conflicting resources, focusing on solving problems rather than being tied to a particular language or personal preference.
CTO
1. Need to consider the overall development strategy of the company and define the evolution direction of the technical team. Think strategically.
2. Communicate with THE CEO in “human language” for the superior, and ensure the stability of the system and the progress of the product for the subordinate. Good communication skills.
3. Building a competitive team involves a lot of management work. Have management experience.
4, have industry influence, bring halo, have added value to the enterprise.
End
Every road is covered with thorns. When you get to where you want to be, you’ll suddenly realize you’re 35.
Xjjdog is a public account that doesn’t allow programmers to get sidetracked. Focus on infrastructure and Linux. Ten years architecture, ten billion daily flow, and you discuss the world of high concurrency, give you a different taste. My personal wechat xjjdog0, welcome to add friends, further communication.