What Android technical directors should do

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

Hot Article Guide |  Click on the title to read

Android Architecture Advanced Learning Roadmap

so cool! 74 APP complete source code!

How can a programmer advance to become a god?

Author: Red Orange Darren
Link: https://www.jianshu.com/p/3c51fe0b5860

 How many times I dreamed that year, I wondered if I could achieve that level in the future, or if I didn't need to work and command and command, I could easily get money, and it was super high. It turned out that it was two completely different things. If we can't make adjustments in a short period of time, I can guarantee that we will not be exhausted. With a multi-person development team and multiple business lines, you can get on with what others can’t do anyway. The key is that there are still people digging holes for you. If you don't do it, no one will do it, and if you don't resist, no one will resist. The following are some personal routines, the number of teams is different, the nature of the company is different, it may be different. The routine is such a routine, but you can refer to it


training

Sometimes delegating power, the result is that people vomit blood. If you have to do everything yourself, it will be very tiring, but if you don't do it yourself, you will always feel uneasy. At this time, we'd better choose to train one or two people, depending on the team members. Brainwash them and share all the current experience and knowledge with them, preferably so that they can surpass me, replace me or even let me go. Why not all of them, just like the four masters and apprentices in Journey to the West, many of them are monks Sha, don't tell me about values, sense of mission, and after, I like to go to get off work on time, get off work on time, and get paid on time, and benefits can be shared with me Don't talk to me about anything else. You need to spend a lot of time for this, and a lot of it is determined by experience and habits, which is embarrassing, but it will not work without them in the team. So when the project is not very urgent, one-year interview experience and three-year experience are no different to me. It depends on your learning style and attitude, and your pursuit of knowledge, because I don’t need you to do anything at the beginning.

  In order to improve efficiency and stabilize team members, 20% of the working time needs to be devoted to training and communication. As a code farmer, you can tell me about the system, the punishment, and a lot of it, which can’t replace our line-by-line writing code. The most direct The method is to let them do it faster and better. If the development cycle is shorter than IOS and the program is more stable, they will be very happy. Of course, these require the accumulation of knowledge and experience. We usually do three things during these times: task completion, technical implementation discussion, study and lectures.

develop

As long as you are a team member, then you should not leave the code and document writing, but only make the architecture diagram or let others replace you, not to mention what others think of you, just take the system as an example, when the fire needs to be put out later, others will leave work I'm gone, how can I help you? As the person in charge of the system, he must personally lead and participate in the construction in order to have enough ability to take on this responsibility. So in the beginning, you have to spend half of your time in development work, so the first thing to do at work should be to put the phone in the drawer to physically isolate it, then open the IDE and start coding. Of course there is no need to write everything:

1. Design and build the structure

This is the most important step, and it is very tedious. The technician who writes the code without drawing the design drawing will get worse and worse as he goes to the back. Of course, if you like to sew and mend, and you like to work overtime every day, it’s fine, I will It's strange that you don't believe so many things you can keep in your head. For other members, the architecture plays a decisive role in the division of labor and cooperation, improving the quality, increasing the speed of development, and soothing the developer's mood.
  You can pay more attention to the code architecture. Many people like to focus on the runtime architecture. Of course, the runtime architecture is indispensable. The code architecture is a more stable design solution. Once there are some small changes in requirements, the running architecture will definitely change, but the general direction often does not change frequently, so we can organize the code and divide the modules according to the general direction. So this can't be messed up. Once it's messed up, no matter how you adjust it, there will still be problems.

2. Difficult and key development
  
  For some difficult-to-implement codes, we still have to do it ourselves. In some small and medium-sized enterprises, if we let others do it, we will end up looking for trouble for ourselves. The code below the quality will cause failures and bugs, and once there is a problem later, it will consume more time and cost. Originally, the manpower is tight and the fire fighting will be everywhere, which will lead to overtime work every day and can't get out of the project. There are also some members who often do not have that ability. If you ask them to implement it, it may lead to the function being realized, but the controllability is not high. Once the demand changes slightly, there will be various problems. The problem is nothing, the key is that he does not know How to deal with it. In large companies, the quality of team members is generally relatively high. This phenomenon rarely occurs, but it is better for us to handle the core code ourselves.
 
3. Various fire fighting

The code of the architecture is often the code that is most prone to problems. With the continuous change of requirements, it sometimes needs to be adjusted. In serious cases, there may be bugs. Sometimes it is necessary to prevent members from copying your code and starting anew. When you change the code, you need to change more. A place is also more troublesome. The code written by other team members also has bugs from time to time, and often he cannot solve this problem by himself. You have to help. Of course, the process of finding problems can also improve the technical level. The key is to let yourself and the team members learn to use various diagnostic tools, learn to think and analyze problems.

management and learning

1. Code review
  
  : The team needs to realize that code review is to improve the ability of the whole team, not to check the "checkpoints" set for the individual. In addition, code review itself can improve the ability of developers to learn from their own mistakes and from the ideas of others. If developers are resistant or disgusted with this process, this purpose will not be achieved.
  If a problem is found in the code review, it is not recommended to use this method to punish the person who was found. Bugs are inevitable in software development, and being overly demanding is counterintuitive. To make matters worse, code reviews have no value and meaning if participants are afraid of taking responsibility and undermine motivation.

2. Progress review and task assignment

Task distribution is a big problem, and it is also a powerful job. When members face a task, they often cannot arrange their time correctly and reasonably. If you can't come out, it will give you several reasons, such as being busy, causing the task to be delayed or working overtime, and finally causing the entire project to be delayed. How to avoid this situation? We can't let the team members do their own work. We must have a set of task decomposition, task description and time allocation principles, risk management and planning leeway. First, we can do things well by ourselves, and then we can share them with others. team member.

3. Interviews and various meetings

Prepare a differentiated written test question. There are many unreliable people who claim to have many years of experience. But if you ask him to write a countdown, he often can't write it, and we have sent many people away for such a topic. The boss didn't pay me to chat with them, so I usually ask about four aspects, source code, design patterns, optimization, and NDK. For fresh graduates, I usually don't pay special attention to technology, and I don't need him to implement various functions at present. I can write many things myself and let you adjust them. Therefore, I am more concerned about learning attitude, self-motivation, listening to arrangements, and not causing trouble. HR is often more accurate than us in this regard.
  We can boycott some meetings, and we won't go if we can. In particular, departmental communication can be avoided as soon as possible. It is a bullshit's paradise. Tests, products, and design are far more bullshit than programmers. If there is still a function waiting for you to write, you will be very painful. At this time, you can send someone to go there, and come back and let him tell you what happened.

4. Studying
  
  We basically die as soon as we stop studying. Putting our mobile phones in the drawer is also for us to study in our spare time. I usually choose to write more articles, participate in more technical salons and communicate with others, and choose to read other people's framework source code on weekends, etc. Anyway, everyone basically understands my status, and I will share with you live broadcasts on Saturdays and Sundays. Only in this way can you improve yourself, and the project can be controlled. Only in this way can you influence team members instead of relying on words. Of course, what should be said is still to be said.


Although we have not yet achieved that level, it is very important to learn to think like a technical director, a positive and optimistic attitude, study, think, work hard, altruistic, day day up!

If you have a good article that you want to share with you, you are welcome to contribute, just send me the article link directly


Finally, everyone is welcome to join our knowledge planet. The second phase is in full swing, and nearly 1,000 people have joined the study :

Everyone is welcome to join as soon as possible. This period ends on March 10, 2019, so the sooner you join, the better. The current entry fee has been raised from 89 yuan to 99 yuan, and the fee will increase by 10 yuan for every 100 people ~ when the number of people reaches 1,000 It will go up to 109 yuan, so get in the car!

640?wx_fmt=jpeg

Scan WeChat or click the QR code above to get Android\Python\AI\Java and other advanced resources

For more learning materials, click "Read the original text " below

640?wx_fmt=gif

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325342271&siteId=291194637