Advanced process: the independence of programmers to do projects

Stage 1: Coding Machines

This is the lowest level, where the programmer gets the detailed design document, where many method interfaces are defined. Refactor some code, write some implementation, call some established API, and spend a lot of time testing it in various scenarios. Judging from the work done, this is not a programmer, at most, it is just a code farmer with excellent coding skills. Because it kills almost all creativity, but it is very common, such as in some Japanese outsourcing companies, it is the case.

Stage 2: Independent Implementers

What the programmer gets is just a rough design document, maybe a list of external interfaces, as well as the API of the framework and infrastructure. The requirements have been clarified, and the next thing to do is to use ingenuity to design the software implementation and code the code. Well written, the test passed. This work can be done in a quiet and independent environment, because nothing is not clear enough, the parts that are not clear, the project manager, architect and product manager have already done. In such an environment, many programmers with excellent OO design and clear and concise code can be born, but this is always just a incomplete project. Many novice programmers start at this stage, but if a programmer can only design, code and test at the code level, he is not a complete programmer, maybe not even half of it.

Phase 3: Project Communicator and Controller

Programmers need to clarify requirements with requirements engineers and even customers to analyze feasibility; they need to analyze technical difficulties in design projects by themselves; participate in decision-making and management of iteration cycles and schedules; organize and participate in operation tracking meetings within the project team. Things other than coding take up some time, and most of that time comes from the cost of communication. If the importance of communication has not been clearly seen in the first two stages, then at this stage, a programmer who cannot communicate well will become a bottleneck for the operation of the project team. At least half of the programmers of software companies in China should be at this stage.

Stage 4: From project to product

From doing a project to a product, it is easy to think, but difficult to do. Doing a project requires more listening to user needs, but making a product pays more attention to thinking. Thinking about the pain points of users and the positioning of the product is far more important than listening to users’ expressions. From the perspective of the project cycle, doing a project focuses on the process of obtaining requirements and realizing delivery, but making a product requires more energy to be spent on product definition, design, and long-term product maintenance. As a product programmer, you must communicate with customers, maintain your own software, and get feedback from users and the market, so that you can understand what functions are urgently needed and how to implement technology, business, and actual products. Combined.

Stage 5: Witness to Product Growth

Maybe very few people can participate in the process from scratch, through ideation, market analysis to product design, and a lot of time will be spent on product exploratory work before it is clear what to do. Maybe a lot of product prototypes are made, maybe some versions and features are abandoned after A/B testing, and some products disappear before they become popular, or die quickly in the hands of plagiarism and copycats. The replacement and replacement of products are always arduous, and the visible part is often so simple, but who knows how tortuous its history is?

 

The article is original by me, please keep the integrity of reprint and indicate that it is from "The Nag of the Four Fires"

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327059014&siteId=291194637