About software services
Written by Ryui Liu:
After more than two years of work, it seems that I have never been fully engaged in my work. There are too many distractions and too many to count. From college to the present, it seems that I have never been serious, have never studied hard, have lived hard, and have worked hard. Suddenly I found it difficult to be serious ......
I have changed three jobs in two years (a little more), except for the increasing age, the increase in technology and wages is too slow. The first job is really a pitfall, and I blame myself for being too naive. The second job is in a declining state-owned enterprise. Besides reading some books, I have no work experience. The third job is, this is a satisfactory job, which allows you to find a direction. Although there is a lack of technology and experience, it can be supplemented slowly. The most important thing is a fixed mind, you can study and work in a down-to-earth Manner. Now you can think about it, but you are not at all steadfast. Oh ~, Now that you are aware of the problem, you should solve the problem.
Let's talk about our current job! The nature of work is software services, the positioning is customized software, technical services, and occasional software development. Let's talk about the most important points in our work and sort them by importance.
First, communication is divided into two aspects: (1) communication with customers, communication with customers through the Engineering Department and business departments in our company, therefore, to handle the work, you must confirm the customer's work requirements with the two Departments, and directly communicate with the customer when necessary to determine the unclear points, some customers do not know what kind of software they actually want. When they get a piece of software, they feel that it is not appropriate. It is very troublesome to make a demand change. (2) communicate with other departments. When a software problem occurs, first determine with other departments which department is responsible for the problem and hardware? OS? Third party? Or APP ?, If you have doubts, you need to test, analyze the code, debug, and confirm the problem before modifying it. This problem occurs in actual work (debugging a Bluetooth call): Other Departments put the problem down to our department and asked us to change it. As a result, the APP analyzed and debugged for one day, still cannot solve the problem, and then asked the third-party technical support to help debug for a long time, or not, but later opened the machine to check the hardware and found that it was a problem caused by wire winding. It took us nearly three days to solve this problem. Cause Analysis: 1. Problems with communication; 2. Insufficient technical experience.
Second, technology, technical services, and software customization require a certain level of technology. Some customer feedback are difficult to test, and the reproduction conditions are complicated, in this case, engineers need to analyze and debug the software. First, they need to understand the general process of the Software. Second, they need to analyze the problems in depth to obtain a certain level of technology, although it does not require a high level of R & D engineers. A problem was solved some time ago, involving three modules: console, Bluetooth, MP3 player. The problem is caused by windows events, console listening events, and Bluetooth activation time, when the console detects an event, it modifies the registry and sends a message to the MP3 player to pause the playback. As a result, the MP3 player remains paused, even if it is restarted. Of course there are unreasonable design issues. Another customer needs to customize the software and write a module to communicate with other instruments to display relevant information. The technical requirements are relatively low, but I am still struggling with development. The main reason is that, 1. If there is no relevant device, you can only send serial port commands to simulate it yourself. 2. The customer has always changed the demand and cannot be modified four times. Third, it is lack of experience and technology.
Third: experience. Experienced engineers will know how to solve the problem. A newbie has to analyze and debug the problem, and even have no idea how to solve the problem. A few days ago, when I assigned a workflow to other members of the group, I did not know how to solve it for a long time. Then I came to ask me, and soon I was OK, because I had handled similar problems before. (Of course, I made a mistake in my work. I didn't know the problem first, nor would I waste his time ).
Fourth, work attitude. You have to leave without your attitude.
It's boring to think that you haven't encountered any challenging things for several months. When I am idle, I still read books carefully to make up for what I 've left behind in the past few years. Shu Shan has a path of diligence, learning the sea without a boat.
I haven't written so many words for a long time. As the first blog article, I am also a summary of my previous work. I will focus on C ++'s learning and research. Coming soon !!!! PS: Not well written. Please forgive me!