How to start work if I become a technical manager

                                                                 Software Architect He Zhidan

How to start work if I become a technical manager... 1

1 General... 1

1.1 Introduction... 2

1.2 The tasks of the technical manager (director)... 2

1.3 This position highly matches me... 2

2 Terms, concepts, assumptions... 4

3 Planning... 5

3.1 The core elements are different at different stages... 5

3.2 Organizational Structure of R&D Department... 6

3.3 Specifications... 8

3.4 Focus... 9

4 Planning... 10

5 Training and assessment... 11

5.1 Training...11

5.2 Assessment...11

5.3 My assessment... 12

5.4 Promotion...12

6 Requirements and testing... 12

6.1 The pros and cons of different personalities at different stages... 12

6.2 About the required personnel... 13

6.3 About testers... 14

6.4 Requirements confirmation or arrangement... 14

6.5 Requirements decomposition, task tracking... 14

7 Single-person code walkthrough... 14

7.1 Development stage of code walkers... 15

7.2 Benefits of code walkthrough... 15

7.3 Time required for my code walkthrough... 15

8 Specialized division of labor and establishment of company public library... 16

8.1 Specialized division of labor... 16

8.2 Setting up a company public library... 16

8.3 About technical research... 16

 

 

    1. Sum up

Since its establishment, the company has been in a state of rapid development and will also develop rapidly in the next few years. Rapid development means: easy to fall. If you fall, if you are lucky, keep running and grab some leftover cold juice; if you are not lucky, you will be out. They had to run, and when the repairs were completed, they found that there was no way to run: the incremental market had been robbed.

      1. Introduction

The classic plot of the computer game "Double Point Hospital": "The hospital that makes money suddenly suffers a huge loss, and the symptom is: all departments are overcrowded." The solution for newcomers is to build more departments and recruit more doctors and nurses. The newly recruited doctors and nurses are novices and their efficiency is low, so the blockage is more serious. The fundamental reason is: those intractable diseases take up too much time of the staff, and the patients who are intractable (less than 10% of the total patients) are invited back, and they quickly turn around. Corresponding to software development, less than 10% of the demand makes the entire team exhausted and loses money.

     Putting it into reality, this problem cannot be solved by the directors of various departments and types of work. If there is a technical director in the hospital, it shall be resolved by the technical director. Most hospitals do not have a technical director, so they can only be solved by the principal and deputy deans. If the deans are technical, managerial, market-oriented, and not financial, there is no solution.

 

      1. Tasks of technical manager (director)

Core tasks : control the progress and quality of the entire product development process, including:

  1. Adjust the department structure according to the core demands of different products and different stages.
  2. Allocate resources (mainly manpower) among departments, products, and types of work, and apply for resources from superiors.
  3. Coordinate the positioning of various products to serve users at different levels and analyze whether there is a fault.
  4. In response to the problem of high incidence, establish adequate systems and norms.
  5. Deal with inter-departmental conflicts and coordinate inter-departmental cooperation.

Daily tasks

  1. Communicate with each other, understand the company's business, strategic direction, and formulate corresponding plans. Familiar with management knowledge to facilitate communication with superiors.
  2. Communicate with friendly departments to cooperate with each other. Understand market knowledge to improve communication efficiency.
  3. Check the code, requirements documents, and test results to maintain an understanding of relevant employees. Continue to supplement demand knowledge, be familiar with main product business knowledge, and understand secondary product business knowledge.
  4. Check the results of various departments (the self-examination of departments is often incomplete) and find bottlenecks. Communicate with demand analysts, pre-sales and after-sales (even customers, users) to estimate the effect of demand. According to the causes of defects, classify statistics or summarize defects to find development team and even individual bottlenecks. Compare the defects found by the code walkthrough with those found by the testers to estimate the bottleneck between the two.
  5. Process applications from lower-level departments.
      1. This position closely matches me

The key to "the progress and quality control of the entire product development process" is to read and write documents. Only by reading documents can we make correct decisions; only by writing documents can we facilitate decision-making by superiors and other stakeholders. This happens to be my specialty, and most architects have this specialty.

        • I am the perfect combination of theory and practice

As a sophomore, I was a senior programmer (now a software designer) who passed the soft exam. In 2014, he passed the software architect. The theory has been combined with practice. The experience of starting a business made me realize the importance of channels; Guangzhou Dingfeng made me realize the importance of communication; my last job made me realize that "less is more": tasteless demand (needs with little effect) cut The later demand (not available in the early stage, but useful functions in the later stage) is suspended.

        • Overall view and technology accumulation

The perfect combination of overall view and technology accumulation eliminates risks in the bud. It is easy to accumulate technology if the same industry and the same company stays for a long time; companies of different industries and different sizes are easy to form an overall view. Accumulating technology first, and then cultivating the overall situation, is obviously more appropriate than seeing the overall situation first and then the technology. Large companies (Wuhan Kaimu, Southern Digital), medium-sized companies (Zhongshan Pole 3D), and small companies (Guangzhou Dingfeng) have all stayed for 4 years. Large and medium companies are easy to learn technology, and small companies (often without rules or regulations) are easy to find non-technical problems that cause project failure. Entrepreneurship exposed almost all of its flaws (especially technical flaws), and succeeded in supplementing relevant knowledge in the following years.

        • Public library

Directly use the components I have accumulated to reduce costs, shorten the construction period, and improve quality. I have encapsulated multiple libraries (dll) in my entrepreneurial and spare time, mainly three: SN.dll general functions, not dependent on any library (including STL, MFC) and operating system. SNMFC.dll, further encapsulates mfc and Windows api. SNStl.dll, further encapsulates stl. It has been verified by two commercial software and several small software. The source code can be shared by me and the company. Typical category: a few lines of code to establish server and client communication, if you don't use a class library, it takes dozens of lines, dozens of lines are enough to kill novices. And it automatically handles unpacking and sticking.

CAD secondary development library. From 2017 to 2018, when Guangdong XX developed CAD drawing master, it packaged a CAD library, which belongs to Guangdong XX. I am now looking for a job while repackaging the library. Compared with the library of Guangdong XX, it has a wide range of applications, but the performance is slightly worse. Typical class: a certain adapter class shields the subtle differences between versions after CAD2010 and before CAD2010.

        • Develop high-quality software

Develop high-quality software to improve user experience. For example, the software has almost no crashes, and maintainability (the difficulty of adding new features or major changes, the biggest difference between architects and software engineers) is high.

        • Strong learning ability

Strong learning ability to solve new problems. This is the result of adapting to the working environment. Previous job positions were: Software Engineer, Architect in the Public Group. Out of work needs: often complete various pre-research work. He served as the major moderator of CSDN topic development in March 2003, and was the major moderator of CSDN VC/MFC version in July 2003 for many years.

        • Training ability

Strong training ability facilitates team building. Online training 6 people, 4 people go to work (at least 2 people get a high salary), 2 people (junior high school education) start a business.

If possible, train one or more public programmers and code walkers, only one at a time. Skilled public programmers and code walkers can greatly improve development efficiency: novice public programmers and code walkers will severely reduce development efficiency: defects in public modules mean that all modules are defective. Novice code walkers will find a large number of minor defects, and they will be embarrassed by the walkthrough: changing it will affect the construction period; not changing it will violate the system.

        • My character

Dare to speak frankly and not form cliques

Focusing on technology and light on business makes the efficiency of my work in a company similar, so I dare to speak out.

Practice is the only criterion for testing theory

There is no preference in the choice of the scheme, and it is adjusted according to the actual situation. If someone else has a better solution, then adopt someone else's solution.

Just enough to stop

This is related to my recent work experience. My salary is much higher than the average salary of small and medium-sized companies. Small and medium-sized companies have no fault-tolerant capabilities. If it messes up (or no progress for 6 months), it will be out. If it is done (or basically completed), the company has to leave without a job that can earn my salary.

Generally speaking, the company’s early-stage technology is important, and later-stage technology is relatively secondary. This means that the output of the later technology department is lower than the profit. At this time, I am willing to leave. In fact, many technicians are also suitable for the early stage. They are also willing to leave in the later stage, and they are very aggrieved.

Good at summarizing

Written summary of important content for easy reference by those who come later.

        • This position is not suitable for technical managers from a major

Those who come from a subject are strong in theory, but they are likely to be divorced from reality (persistent on quality and ignore working hours and costs). Even if the minimum standard CMM3 is used, the ideal state will take 3 months, and many tasks will be suspended for this 3 months. The fast-running team stopped for 3 months and wondered if it could continue to run. Even if it is done, the running speed is greatly reduced, which is not conducive to seizing the market.

        • This task is not suitable for self-taught technical managers

Self-taught people have strong practical ability and have the courage to try. But when developing at a high speed, the cost of trying to fail is too great.

 

The complete document has been uploaded:

https://download.csdn.net/download/he_zhidan/10899611

Guess you like

Origin blog.csdn.net/he_zhidan/article/details/85983380