The independent developer we interviewed today is Qi Shangkai, from the beautiful coastal city of Xiamen. He is a "veteran" who has been engaged in software development for more than 20 years and was a technical manager before becoming an independent developer. I have witnessed and experienced the whole process of domestic mobile development (WINCE -> Windows mobile -> Android -> Hybird App -> WeChat applet) for 20 years in the industry.
As for how to become an independent developer, he said that after experiencing the "training" of software engineers, team leaders, project managers, product managers, and product operation and maintenance positions, he deeply feels that R&D efficiency and software engineering practices are in the product. Significant role in development. However, the former company’s organizational structure was complex, and many R&D efficiency concepts could not be actually implemented when faced with cross-departmental situations. The entire process of product planning, development, testing, release, and operation and maintenance could not be realized.
Using his own R&D efficiency technology, through software engineering practice, quickly transform ideas into products to achieve "smooth and high-quality delivery of effective value". The idea has been lingering in his mind for a long time. After weighing the pros and cons, he left. Having worked for the company for 9 years, he embarked on a path starting from "0".
Shuttle Wizard
project background :
This idea comes from my own experience of taking a shuttle bus. Because of road conditions, I always commute by company shuttle bus. The line I was on happened to pass through the main road in Xiamen, and the traffic was very congested, which made the arrival time of the shuttle bus uncertain. The company also used the "Human Fleet Reporting Station" of the bus captain and WeChat shared location to report the station, but they didn't feel very friendly, and they often missed the shuttle bus. When I was having lunch with my colleagues, I often complained about the shuttle bus, and gradually the idea of making a small program for the bus station announcement came into being. The "use and go" feature of small programs is very suitable for this kind of lightweight, but must-use scene every day.
project introduction
"Shuttle Wizard" is a small program product that "does not need to be installed, just run when it is used up". It can connect the shuttle bus and passengers together: the driver uses it to "one-click the station", and the passengers know where the shuttle bus has arrived. ", to provide corporate employees with better shuttle commuting services.
1. What problems did you encounter in the process of project development? How to solve it?
(1) R&D infrastructure construction
Although it is an independent development, product demand updates, continuous iteration and quality assurance all require a small and beautiful R&D infrastructure to support. At this time, there is no tool to build a team, only you, tool selection, and various problems encountered in the construction, you need to solve by yourself.
(2) Mining user pain points
The shuttle bus wizard provides the shuttle bus stop service. To make the service truly landing, two problems need to be solved: the source of the stop notification is the driver, and the interaction needs to be minimal, one-click activation, so that the driver is willing to use it; second for the passengers , It means that the station reporting should be accurate and able to automatically handle various abnormal situations.
During the development of the mini program, I conducted a week-long follow-up test to understand the pain points of the driver and passengers, and test the accuracy of the stop announcement. After the first version of the Mini Program was released, I only opened one route and carried out a 20-day (4 weeks) follow-up test. The driver would put forward their suggestions during the use process, and the problems encountered can basically be located on the spot. , And try to solve it on the same day. After these 20 days of testing, many unexpected abnormal situations have been dealt with accordingly, laying a solid foundation for the stability of the official launch of the "Shuttle Wizard".
2. Do you pay attention to users' evaluation feedback and how to communicate with users?
I found that users basically do not make suggestions through the "feedback" channel of the mini program. During the trial period, I pulled a trial group, all of whom were familiar colleagues before, and they would provide some feedback during the use process. Secondly, after a while, I will take a shuttle bus to experience the use of the shuttle wizard on the spot, and communicate with passengers on the shuttle bus. In addition, when opening a new line, the captain needs to collect stations and is also the first user. They will also make some good suggestions.
3. In the process of operating an independent project, what interesting or meaningful things have you encountered?
These two things are not directly related to technology, but they are meaningful. It brought me into contact with areas that I had never known before, and these areas are what independent developers must face.
(1) Market research
When I was testing with the car, I got acquainted with the driver, so he took me directly to the shuttle parking lot to do market research. The good side of this market survey is that I see that a large number of companies in Xiamen provide shuttle services, and basically do not use this kind of shuttle bus station reporting software; the bad side is that the drivers are not willing to use this kind of software. High, they think it is enough to send the passengers to the terminal, as for checking the location of the shuttle bus, it is enough for the passengers to solve it by themselves.
(2) Product pricing and business negotiation
Product pricing is a very difficult process. There is no experience to learn from. As a demander, I try to go to an outsourcing company to raise demand, so as to obtain a reference quotation, and use this as a basis to formulate product pricing suitable for independent developers.
But when it comes to business negotiations, it's another story. Customers basically put the price first, requiring low prices, complete functions, and complete products.
In terms of customer choice of products, the SAAS service-type product of Shuttle Wizard needs to directly face the challenge of outsourcing companies. Some outsourcing companies are even willing to use extremely low prices (sometimes not even up to the cost price).
Facilitate an outsourcing project (provide copyright and source code). For independent developers of ToB products like me, how to commercialize the product has become a major challenge.
About independent developers
1. How to define an independent developer?
The independent developer I understand refers to a person or a team of 2-3 people. They start with product planning and independently complete design, development, testing, release, operation and maintenance, promotion, commercialization or open source and other links to create Create a small and beautiful product or frame.
2. What is the difference between an independent developer's product and an outsourcing company's project?
The outsourcing company only needs to complete the project once or deliver it a few times. As for the product, it is necessary to devote effort to its entire life cycle. Projects need to listen more to users’ needs, but products are more focused on thinking, thinking about user pain points and product positioning is far more important than listening to users’ expressions, and more energy should be spent on product definition, design, and thinking about how to use technology and business. Landing to product realization. After the release, if you are lucky, the product will have a long iterative and maintenance cycle, and Ops work is likely to become your focus, and you will devote the main time here.
3. What are the similarities and differences between independent developers and technical work in enterprises? What is the biggest challenge facing?
To engage in technical work in an enterprise, as long as you put all your energy into technical challenges, developers need to constantly learn new technologies and use them in products, and they are mainly related to technology.
An independent developer is a comprehensive profession. First of all, he needs to develop a product and he definitely needs to understand technology. But technology is far from enough, or technology is only a small part of it. Because independent developers need to understand product planning, understand
Project management, understanding of testing and operation and maintenance, and even knowing how to market and promote, he faces a wide range of people and often does not have a technical background.
From a technical point of view, independent developers need to face the reality of extreme scarcity of resources (lack of personnel, lack of funds), so in terms of technology selection, they also need to be tailored-they need to find the most suitable, not The latest and coolest technology. In addition, it is necessary to pay more attention to research and development efficiency to make up for the lack of personnel-to be able to automate as much as possible, and let computers do more research and development work instead of people.
The biggest challenge is still product promotion and commercialization. Maybe the MVP version of a product is more successful, but after a certain user base, how to attract traffic is a big problem. In addition, products need to be profitable, that is, commercialization: To C products are easy to be copied; while To B products face challenges from small and medium-sized companies. In terms of business negotiations, independent developers still suffer.
4. How to treat the current living environment of independent developers in China? What are the good/bad changes compared to a few years ago?
The living environment of domestic independent developers is indeed difficult. This can be seen from the independent developer survey report of Sifei: the main reason is that it is difficult to promote, lack of effective guidance in commercialization, and the inability of product to realize income leads to unstable income. These are not the directions that software developers are good at. In addition, the offline communication circle of independent developers is too small. Except for first-tier cities, there are few independent developers' communication circles in other places.
good aspects of : In recent years, cloud native and open source have spawned a large number of free tools and cloud service platforms. These tools have greatly reduced the threshold for front-end and back-end development, so that developers do not need to master a lot of front-end and back-end development skills. Product and business development. Major manufacturers are working on the emerging platform of cloud native, and the service cost of cloud platform has already
The experience is quite low, and it also supports flexible expansion. These are good news for developers who are tight on funds.
bad aspects of : After several years of rapid development, 161cad9232d9c3 has basically saturated the C-end market; while in the B-end market, there is price competition among many small and medium-sized companies. Although the products of independent developers are relatively focused, they may be in iteration speed and quality. , There are also certain advantages. But when it comes to quotations, software companies can negotiate an order regardless of cost, while independent developers do not have such resources.
5. Give some advice to independent developers or friends who want to become independent developers
1. personality : first understand your own personality, software developers are generally bored, if you don’t like to communicate with non-technical people, it’s better to choose a suitable company and work hard in the technical field; if you prefer to try something new Field, and can get a sense of value from it, maybe it is suitable to be an independent developer;
2, comprehensive : If you want to become an independent developer, need to make their workplace more than try to work in various positions, such as product managers, project managers, team Leader, testing or operation and maintenance, which are independent developers need to have Skills
3. time management and self-discipline : Lack of company constraints, you need to manage yourself. At this time, it is not only driven by interest, but more importantly, self-discipline: a regular life schedule, a reasonable product development plan, accurate to the day , Weekly work plan, and regular review summary.
4. health : The body is all the capital, find a suitable way of exercise for yourself, and be able to persevere.
Personal related questions
1. Personal homepage
2. life photo
3. Share your workflow
The workflow of each product iteration is as follows:
(1) Before the iteration starts, the user stories and R&D tasks participating in the iteration will be selected from the TAPD demand pool. An iterative R&D cycle is generally one to two weeks;
(2) Evaluate the priority and estimated completion time of each task;
(3) If UI interaction is required, first complete the interaction draft on the "instant prototype" platform;
(4) Pull out the development branch and develop according to the task priority. During the development process, the code will be written and the unit test will be completed. The code will be submitted every 1-2 hours. The continuous integration platform will monitor the code submission, and automatically conduct quality review and testing of the code to ensure the quality of each submission. Once the build fails, it needs to be resolved as soon as possible;
(5) After the development is completed every day, the experience version will be used to test the function points realized on the day;
(6) After the user stories in the iteration are completed, UI automation test cases will be written or updated for smoke testing of new functions;
(7) When the tasks in the iterative kanban are completed and passed the continuous integration platform check, start to merge branches;
(8) After the branch is merged, a complete build will be automatically performed, including static code checking, unit testing, and UI automated testing. If all of them pass, it will be uploaded to the applet platform as an experience version;
(9) If necessary, conduct a field test on the trial version. After passing it, submit it to the mini program platform for review and finally release;
(10) If the UI interaction of this iterative version is changed, after the software is released, the quick use guide will be updated synchronously.
4. What do you plan to do with the next product? What are the planned iteration directions for existing projects?
There are currently no plans for the next product. The "Shuttle Wizard" plans to launch a hardware solution next year. At present, people know "where the car is" and solve the pain points of passengers; while the hardware solution realizes that the car knows "who got on the bus" and solves the pain points of enterprise management of the shuttle bus. , Simplify the attendance process for the late arrival of the shuttle bus, and truly realize the interconnection between people and the shuttle bus.
5. What methods/channels do you usually use to improve your technical capabilities?
In terms of technology, it is mainly through subscribing to "Geek Time" courses; in terms of research and development efficiency, it is mainly through reading paper books.
6. What will you do outside of development time?
Outside of development, I have been taking care of my baby (cooking, tutoring homework, exercising with my baby), and I feel busier than before at work. When a baby is in the fourth grade, it is the right time to cultivate study habits and exercise.
If you still have free time, you will write your own experience as a technical sharing and put it on your personal public account "Taotao's Hut".
5. What is your motto or personal creed? How to interpret?
Personal creed is that choice is more important than effort, and ideas are more important than choice.
As you can see from Zhang Yiming's blog, choice comes from concept, and concept determines choice. If the concept is not updated, you will never see the farther landscape, and it will be difficult to find your own career direction. Once you choose, you just do it and stick to it.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。