2020- My Technology Path: R&D effectiveness and Technology empowerment in Startups

In 2020, there are many difficulties, and we are all forging ahead. In this year, I also experienced ups and downs in terms of technology, products and industry cognition. I constantly deepened my understanding of the industry through setbacks and struggles, integrated into the manufacturing team, polished products, and built smoother experience and delivery ability. From the perspective of technology and products, my core concerns for 2020 are as follows:

  • Research and development efficiency, with as small a technical team as possible to ensure the whole line of products online on time, delivery. Our products cover the typical industrial Internet /MES/CRM/ e-commerce system, across the Web/ mobile terminal/small program/desktop terminal and other touch points, to serve customers at home and abroad (need to maintain cross-regional public/private cloud and edge nodes).
  • Technology empowerment, mining and driving business development, single point breakthrough and full penetration go hand in hand, to match, to win. We need some product points to impress customers, but if we can’t provide complete solutions to customers, we won’t get the best recognition.

Be a friend of time: Eight systems over thousands of words of technical notes

As heaven and earth travel backwards, time flies and years fly by, I feel more and more urgent. Every time I look back on my career in the past ten years, I feel confused when I think of how much I have learned and done, but also how much I have forgotten. Icu /books, hosted on Github: github.com/wx-chevalie…

This year I will write a special introduction for each series, hoping to share what I have seen, learned and written down with as many people as possible.

Can both assemble and build wheels: templates, repositories, project deposits

Experienced different large factories and entrepreneurial teams, for the technical personnel need to have a strong mobility, flexibility; In a small startup team, you can’t follow the rules, processes, systems, and technical architecture of a big company. On the other hand, just because you are a small team, you should not neglect to adhere to architecture, programming specifications (e.g. Lint), refactoring (e.g. Code Review), etc. Otherwise, the rapid increase in technical liabilities as the business grows will eventually show its destructive power. As the author discussed about the so-called complexity in software architecture-series, the core value of SoftwareArchitecture is to control the complexity of the system, and to separate and decouple the core business logic and technical details. The design of Internet software system architecture is not accomplished overnight, but needs gradual, continuous and multiple design.

As a technician in an entrepreneurial team, the core contradiction is to improve productivity and r&d efficiency of the team. We need to be able to find existing wheels and quickly assemble them to support business needs. We should also be able to build wheels to complete the tool and engineering of the team itself. At the same time, we should not blindly follow new technologies and features. However, we should also consider the uncertainty of new technologies and the learning costs of team members. Here is a simple example of Web development. There are about a dozen projects under the wX-FE theme, typical of which include:

  • M – fe – * series: front-end engineering system project, contains the front-end development infrastructure scaffold, React/Vue/Node/Electron/Taro and various micro front-end templates.
  • Micro-components series: including Web electronic whiteboard, Excel full stack solutions and a series of projects.
  • Ueme -* series: Build user experience medium platform series projects.

I’ll discuss this in a separate topic, but here I’ll just draw out the sediment of my codebase.

Chatter: Career transitions for programmers, small teams vs. big teams

Unconsciously into the line has been ten years, ten years of dog, I have been with the industry anxiety forward, 35 threshold has been such as Damocles sword; But in retrospect, at least for many of the seniors you know, IT/ programming is a great way to get your foot in the door in a particular industry/field in this day and age. As long as the real heart, can be in the daily work of contacts, management, industry and other multidimensional accumulation, is sure to break the shackles of career, complete the transition. Technology is good, might as well enter a few traditional industries. As long as the industry has crossed the threshold, there is the opportunity for fair competition, with more modern products and research and development efficiency, it is also possible to reduce dimension of the blow.

However, it is important to emphasize that no matter what industry you enter, you must be in awe; People without industry experience, look at a few PPT threatened to subvert the industry, don’t think it is to predecessors do not respect? At the same time, don’t be too pie-in-your-face, both for yourself and others. Don’t force others to pay for your dreams or mistakes. Many people want arbitrary power, but are unwilling to accept responsibility.

Changes in responsibilities

I have been involved in the entrepreneurial team since 2014, during which I also worked in Dachang for three years. One thing I feel is that entrepreneurship is not friendly to students with purely technical background. The stronger the technology, the greater the gap. For example, the change of mentality, many managers with technical background often do not adapt to the work like interface coordination, feel as if it is a waste of life. But you need to slowly pull yourself out of the daily work, escort the team, good is like water, water conservancy and all things without dispute; Then slowly get up and look out and do things that are more focused on coordination and overall business performance. At this time, we also need to pay attention to the skills of team communication. A good organizational atmosphere is an important guarantee to improve team r&d efficiency. Just like in a game, you need to constantly give positive feedback to your team, to yourself, to get over certain barriers. The sense of achievement is a very good vitality and signpost for the management of the company, the team or the self-management. One of the prerequisites to ensure a sense of achievement in daily work or Side Project is to divide tasks as fine-grained as possible.

In addition, R&D often has clear goals and indicators, but in unknown industries, it is not easy to extract and abstract indicators, and the goals are constantly changing; This is usually shielded by PD and PM in large companies, but the lack of identification ability of technical personnel in entrepreneurial teams is quite a test. Such as the distinction between goals and processes. At first we thought the goal was to get our software and solutions into the hands of customers, but then it turned out that it was just a process to get to the end business goal, and then it turned out that the process we needed was to build connectivity rather than get stuck in the software. In the same way that a sense of competition damages competitiveness, the obsession with achieving goals sometimes damages execution, and many of the initial stage goals become the highest peaks to be conquered.

Team composition

In small entrepreneurial teams, the composition of the team is unstable. Development often takes on multiple roles, not only to implement functions, but also to deal with user feedback and complaints, discuss requirements with products, discuss interface implementation with designers, and even repair computers, install software, and solve difficult problems. At the same time, products in the start-up stage may not have high quality requirements. The user scale is small, even if the quality is slightly poor can also be accepted. Do not consider the function of scalability, can be used on the line. Technical vision is narrow. The overall business scenarios are few, and the technology is mainly used, but the underlying principles and implementation are seldom explored. Product life cycles are unpredictable. Products that have been done for 1 or 2 years may not be online for various reasons. However, small teams also have advantages. The advantage of small number of people makes the team easy to flatten, the decision-making layer is directly related to the executive layer, and sometimes the executive layer also participates in the decision. Instructions are delivered quickly and communication costs are reduced. And as early participants, after a difficult survival period, it is easier to become core personnel. Core represents shares and options, holding work is more dynamic. Later, if the team can expand, key people are often the first choice of management.

The right talent is the cornerstone of the team, and recruitment is also the long-term task and challenge of the team. Especially for technical personnel, often also need to undertake recruitment. Early teams are often recommended internally or led by people, so we should try our best to recruit suitable talents. Too low or too high will increase the management cost of the team. In the smooth period after the first round of rapid expansion, stability is the most important, while keeping an eye on running water and a door-hinge not getting worm-eaten. At the same time, no matter the size of the team, even if there is no special HR, we should try to ensure the formality of the interview process, and show different advantages of the team for different interviewees: good atmosphere/geek culture/rapid development/industry advantages, etc. However, with the rapid expansion of the team, personnel expansion itself is a process of increasing entropy, but the increase of entropy also means chaos and disorder. As the leader of the technical team, he/she needs to constantly reposition and change roles. From early core developer, to progressive team coordinator, to team manager.

A healthy team can function without anyone. On the other hand, if the core members find themselves in an irreplaceable position on the team, they need to feel a sense of crisis and sacrifice some usability in exchange for some partition tolerance. The technical leader should first be able to divide tasks reasonably, separating business and general modular, and defining interface protocols with clear boundaries and interactions as much as possible. This allows you to package tasks to part-timers/interns to maximize scheduling optimization.

conclusion

Two days ago, an alumnus wrote in an article: The road of life is not like waving a sword, but rather like a narrow and oblique quatrains, strewn at random. In the face of the winding road, only with “another village” firmly adhere to, in order to pass through the front of the “mountains and rivers”. Chen Yinque, a master of Sinology, once said, “Only the spirit of independence and the thought of freedom have been with heaven for a long time. As an individual, it is too early to fail, and poor children cannot afford to fail. However, it is also necessary to change at any time, such as a failed venture many years ago, the pain of entrepreneurship is not a brilliant and warm death, but will die forever, although quiet and beautiful but no desire to enjoy the autumn leaves.

Finally, I would like to pay tribute to the entrepreneurs I know or don’t know, but also give advice to friends walking on the road of entrepreneurship.