[Reproduced] Program life

xiaoxiao2021-03-06  80

I have been writing a real-time operating system kernel, has become a small, etc. I will open all open, and I will be a meager force for the development of domestic IT. I have recently seen many students friends and I have no direction as I, so I wrote my experience with everyone, I hope to give a little help to my friends just like. I have been in the IT industry study for more than seven years. During this period, I have done a web page, write MIS, database, application, and communicate software, hardware driver, protocol stack, to do the operating system kernel and IC Relevant development, this is a lot of detours, and it has also been a lot of bitterness. I am on a three-stream university, and I don't know more than one city. Because the school is not good, I don't expect to find a good job by the school. All hopes are on their own efforts. I started learning before the opening school. I remember that the first book I bought is "computer base DOS3.0". Everyone is not scared. In fact, The popularization of DOS6.22, just I saw DOS4.0, 5.0, 6.0 book in the bookstore, thinking that it is the fourth, five, six volumes like English, remember to find DOS1.0 everywhere, now think about it, now I am fortunate enough. I didn't find it :) I have finished working, I have finished working, there is no computer, no one can ask, I have no concept of programs, I have to die hard code, then take paper, I have been writing, I have been to the big three A 486, how many programs wrote before this, I can't remember it, I only know the longest one of the draft paper I took A4 size, I wrote more than 30 pages, my C language, C , VC is Get started under such conditions. Therefore, the condition is to overcome, I hope that my experience is confident to the classmates. The first time I was in the machine room of my brother, my mood was excited, but I immediately stupid eyes, they used the English version of Win3.1, my DOS knowledge saw ghosts. I can't make a full screen. I accidentally made the whole screen, I can't still be burned, I thought that the machine was broken. The first C language program is that classic HelloWorld, I have been toned for a few weeks, very small in the machine, and there is no book telling my development environment (TC2.0) to set, and I don't know if I have a compiler. I even changed the written program extension from .c to .exe, the result can be imagined. Dali has finished the compilation, data structure, C of C, X86. Since energy is spent in self-study, the four classes of the big school hung, three types of schools are good, and they will graduate in one or twenty doors. However, I have said, I am still unsatisfactory, I can see more than a multi-dead plate in computer education in our country. The big two is prepared to learn VC and BC. It was difficult to pay at the time. Later, I would like to choose VC. I don't do anything else, only two books in the bookstore, the VC is inexpensively 6 yuan. My hard work is in the class, there is no one, the day and night is not divided, the big three have a computer, but many times, the father's middle lesson, I said that I don't want to live, I have always feel that my base is poor, my memory is not. The conditions are not good, so I feel that only more spend time can catch up with others. After actually, many friends said that I have a talent of the computer, let me cry.

I use 486, 16M memory, 1G hard drive, when the students' configuration is P166MMX, I installed a Windows NT4.0 requires an all night, compile a BC5.0 wizard to generate the program takes two hours, my display It's a second-hand, radiation is very large, the boot screen is blooming, it looks cool :), have a program written for too long, think how white editor turns into purple, think that the display is broken, then discovered eyes No, but it is strange that I can keep 1.5 today, it is a miracle. But that is, the machine is accompanying me for two years, let me learn VC, Delphi, SQLServer, etc. Later, the machine was typed with me. According to her, she said that she was hitting, and a small smoke was drilled from the display, then it took the end of life. The big three holidays found a chance to practice in a computer research institute. It is better to make a volunteer with the internship. I have not taken a penny for two months. But these two months have helped my development very much, let me know the society in one step, I just went to it, I was just a bad, where I was familiar with the network, learn Delphi and Oracle. Since the work is very serious, I get a better evaluation. Under the introduction of a elderly, I started to do a project with them, which made me have my own income in the big four, and I found two MIS. The company is part-time, although there is not much money, but I am very satisfied in the student period, I am very satisfied, I finally changed the computer with the money earned. I started to find a job in the four times. At this time, my work experience is already more (of course, I am thinking about it is very naive). I started listening to my parents to go to the study. I learned that department hoped that I can go, but I don't know why I can't. It's, this unit is a bureaucrat. I went to my part-time company to make MIS TEAMLEADER. In the three to graduation, I have done various MIS, from the gas, smoke factories, public security, railways, diet to colleges, what is money, work is very hard, often overtime and Jutong, from following Customers talk about demand to design, coding, testing, and delivery. At that time, I felt very accused, I feel that I am not bad. Now I think it is very beautiful. Students who have just been working on jobs are easily misleaded. Various development tools are dazzling, and they also feel very popular by the company, but this is always a low-level developer. Don't tell me what is more important, how difficult is it. Do you think that you will talk about the needs of users to do design is systematic analysis and design. How many companies can do very normally in China? I am an ISO9000 internal auditor, and I have received many times in Rational, I have taken 4 certificates, and a company let me do CMM. These I have heard a lot, but many things have changed in China, and a company is not adopted by ISO9000 or CMM. I am now working in a foreign company in a few decades. The management is not a general domestic business. . As a graduation, I haven't had a study, I almost impossible to master system analysis and design, object-oriented, UML is just a tool, and the key is the idea of ​​human itself, not to say that you are familiar with C , Rose You can make a good design. On the contrary, if you have a very high quality, you can write the program that is more modular than others with C .

It is said that far, the domestic software development industry has a strange circle. Many people think VC> Delphi> VB is really funny. I have done this software, saying that it is a tool, which should be used according to the need to choose which, instead of thinking which top level. If you choose to have a face with a development tool, you can only make you very light. If the hierarchy, then these tools are not hierarchy, because they are used to use some system AP i, Microsoft's friends will not be because you remember how many APIs or how many categories will feel that you are very fortunate, you Far just their customers, they value the silver in your pocket. I have also done the system kernel, I also packaged very ap i, and I will not value customers who use these APIs to do secondary development unless he can make yourself unique. As for someone thinking C > c, it is even more to smile, maybe you go to inquire, now there are several operating system kernels written with C , and there are several real-time systems for C , of course, I don't say C is not good, but C in the current kernel and real-time system can not be able to work with C, as for the development of C to do application system is another thing. So my point is that what tools and languages ​​do you use, but what you do? Your design reflects your technical level. In this way, I feel very depressed. Most of the majority doing the work of proficiency, and there is no more improvement in personal technology. So decided to leave this city to Shanghai, seek better development, and plan to put my previous MIS to the communications industry. Write here, I can't mention my girlfriend, we have met in Shanghai in the first half of Shanghai. She is in the internship of our company, and the public servor she wrote a document, and our feelings are very fast. She told me a lot of things. Her family was originally the first batch of outgoads that reform and opening up. She did a mother to play, lost a few million, she owed a lot of debts, she had a boyfriend, but he didn't feel feeling, just because He gave her mother more than 20,000 yuan, and then forced her to write 40,000 pieces of borrowing. Her boyfriend huddled her and smashed her, now she forced her to marry, or she wants her. This person is actually a college teacher! Her mother gave her father to her tuition, because she didn't have a way to get a diploma. Her mother needs money, I took out my own savings and took some with my friends. I paid a tuition fee and gave her mother (later I learned that the money of the doctor did not know how to finally, even she I don't know if my mother is sick, but she also has a way). At this time, my family knows some things, and resolutely opposes me with her, her original boyfriend also destroyed. Under the helpless, we decided to leave this sad city early and hit our home. Due to time, I only prepared 4,000 yuan. She only had hundreds of dollars by her mother. I bought three tickets, one is noon, two is night, noon The family sent me to the boat. They got off the boat one after another. I took the boat on the ride. I lived in this city with her. It is just a debt. We have never been to Shanghai, we are reluctant, you are reluctant to go to the classmates and friends. It's been 6:30 in the evening. We all don't know where to go. We found a 20-dollar hotel. This room has no windows, the weather is hot in July, and the room is very stuffy.

The next day we started renting a house, because there were not many money, we basically walk, spent a week, I don't know how many cars in Pudong turned a 400-piece house, but we don't know Shanghai. It is a three-way one. I have to pay for half a month of the mediation fee. After I bought some pot bowls, I only had 800 yuan, and I haven't been settled. These 800 yuan should support us to get the first One month salary, in order to save money, I only spend two dollars every day. She really likes to eat (or maybe she is often hungry in the university), seeing her now, I really have a truth. It is very unbelievable. Her boyfriend did not let her, often called to harass, and come to Shanghai to see her, and say a lot of threatening of her, she is too kind, saying that he has helped her before, told me not to see him. . Every day, you will be a bitter interview notice at home. I originally wanted to quickly find a MIS company to solve the difficulties in front of you, but she insisted that I didn't give up my ideals, and finally didn't worry, I found a communication company, 4,000 pieces. Although the salary can't catch up with MIS, it is also enough to survive in Shanghai. She also found a job, she went to work on the first day, she cried, this is the first time she came to Shanghai, and I was very hard in my heart. Because it is a new industry, I dropped myself to zero. I learned VC, Delphi, and database faction. They were embedded, protocol, and signaling some of me never touched. I know that I have no retreat, it is a desperate study, I will do myself as a graduate graduate, I have worked hard, I finally be familiar with my work, and I have received the company's commendation and salary. In the latter days, we saved our province, more than 10,000 yuan owed, and the days finally got on the right track. At this time, my girlfriend told me that she wanted to study a graduate student, I also held it, so she resigned at home. In addition, here I want to thank my ProjectManager, he originally a large communication company's product manager, very good to people, I learned a lot from him, and he also gave me a lot of selfless help. He gave me full space and trust. I remember that the company arranges me to maintain an access server software. Since the amount of code is not too small (50,000 rows), the information and documents are not complete, I maintained very hard, so I want to do it again, the company leaders are not supported It may feel that the workload is too large, but he strongly supports me, privately he let me let me do it, my maintenance works. With his support, I spent half a year to complete the software of the access server and implemented a relatively complete TCP / IP protocol stack. Here I learned the knowledge of embedded system design, drive development, TCP / IP and many communications. I spent a year, I finally made myself to the communication industry from MIS, and stand firm. My development is a lot of direct operations for hardware, no longer constrained by Microsoft's operating system, VC, DELHPI, and I finally saw another sky. I like to chase the root. As the development is in-depth, the software development and hardware contact is getting closer, the lack of hardware knows the development of my development, and the chip technology is basically in the hands of foreign companies. This is a very large constraint for system-level design. A new product comes out, the first profit (also the most rude profit) is often earned by IC companies such as Intel, Motorola, and domestic manufacturers can only Drink some soup.

So I am determined to solve my own hardware technology barriers and intend to leave the communication industry and enter IC design related areas. Of course, I understand that if I know very little about hardware, there is no IC company will be kind to people like this. So I have to work hard, learn some relevant knowledge for future preparation. Just like I started to transfer from Mi S to communications, I have seen a lot of communication books, and give an ISP to the Radius billing sorting station, in this background, this communication company has given me this opportunity. My communication company is to do system design, there is no PC B Layout hardware personnel, usually I will pay attention to them, because I do software, I am embarrassed in the company, so I have to see, just come at home. I am working overtime for a year, and I will not add it, because I want to squeeze out time, I usually sleep around 12 o'clock, 5:30 on the next day, I am going to work, if people don't have more people on the subway Also used to read. Learning, of course, it will not be smooth. Some problems do not understand will accumulate hardware staff. Their help makes me learn a lot more, because I have a self-study in the case of no one, my half of time is spending On the problem of trouble, this problem is often a sentence that others can make me suddenly open, I am glad that I have such a learning environment. In the following year, I learned to see the hardware schematic, learn to have a simple hardware design (there is still a small gap in the simulation circuit), things are like this, when you do Software, others will always think you It is software developer, and others may not recognize when you start learning hardware. Friends who have ZTE communications have also said to me, and some people can't learn everything. I also understand this, but I hope that I will do better. But when you are familiar with hardware, everyone will feel that you can understand that it is hardware and software, and colleagues have learned. At this time, I can take the hardware information to the company, no one is strange. Let me be more proud that I made an IAD (softswitch terminal device) system plan through my own efforts, including software and hardware selection, design, etc., this program has been recognized by the company and colleagues, let me feel Very comfort.

The technology is complementary. When my hardware has a certain progress, my software design has also improved, I can understand the problem from deeper understanding, I do the access server CPU is Motorola PowerPC860, familiar friends I know that the batch data transmission of 860 QMC and software is usually used by the BD table. When the hardware personnel do it, they are used to using a fixed BD table. Each receive or send data from the BD table to the user buffer, or copy it from the user buffer to BD table, due to the more understanding, I re-realize this process, use dynamic BD tables, drive from a network port to receive data, submitted to my software for three-layer exchange until it is sent from another interface, No copy is made. Such design greatly improves performance, enabling the system's indicators close to the theoretical value. The combination of hardware and software makes my design level a step. I have written this operating system now, I compile the program to compile the program into compilation, find out the unopened code, and then adjust in the C program. For example, many CPUs do not have special multiplication instructions. This family should know that in this CPU, a multiplication will often spend a lot of instruction cycles, some friends will say this, I will try to avoid using × No., but things are often not so simple, do you know how to implement the subscript of the array in the C language? Take a closer look at the disassembled code, you will understand the positioning operation of the subscript, the C compiler will sometimes generate displacement instructions, but sometimes it will be implemented by multiplication, and the efficiency of both is often the astiology, so understand You can upgrade system performance to the ultimate. ? Some questions will not be said, and they can discuss together later. It is far a little, I sincerely hope that more deeper friends do in software have the opportunity to learn hardware and other related knowledge, especially for underlying development and embedded design. This has a great help in the improvement of software technology. No matter how many things you know, you only know, but you won't understand why it is. I have also validated in this view in my current IC Proj Ect Manager. He tells us that the software manager of the company's current 802.11 chip products is originally designed for this chip hardware. A certain amount is the software. Now IC, similar examples have a lot, just in the country, the wind is not very popular. I have some experience to share with you. Only when I do my job work, I will learn and work hard, so that the company's boss is not inherent, I usually don't ask those problems in the entry stage. Senior people, but asked some of the more shallow friends, such as students who have just graduated, because they tend to explain with you, and senior people usually feel that your problem is too simple, so the answer is also very simple, I I am sorry to ask. After the technical have a certain level, I will ask them, they can also give you an in-depth answer. In addition, some friends say that I have a better opportunity. They also hope that they can do this unfortunately, I have listened to only bitter, my opportunity to know people should know, I am not born in what IT family :) nor All the way to promote me, all the roads are coming out, my mother died, my postmother (I called her aunt) looked at me, once, she saw that I was still writing the program, she said Work like I have learned to learn. My ultimate goal is IC instead of PCB, so I will start learning IC design.

The company's simultaneous things did not understand the IC design. The road behind it later, I bought a lot of relevant books, I also checked a lot of information on the Internet, I spent a lot of time to learn VHDL, and use software There are some simple design and simulation (no design ASIC, just for FPGA), with the deepening of learning, I gradually understand the basic process of IC design, and I also understand the hardships of this road. At this time, I have been prepared to hop, I vote for my resume to an industry and a well-known IC design company and passed a long interview (more than 4 hours). Everything I am satisfied, only the salary is unique, I also understand the reason, because I am a newcomer in this industry, I have no experience, I will clear myself again. The company's boss asked me that I can accept more than one month for more than one month, I know that he is also an observation. Think about my friends in the industry, basically all have more than 100,000 annual salary, and the monthly salary is also all, and the friends also help me introduce a lot of people with good treatment. I should choose, I was very hesitant. I love my career, I am forwarded to my pursuit, but I am also an ordinary person, I also need to support my family, I also want to buy a car early. Life gave me a problem. Einstein said in the age of 63 "A person did not reach the biggest achievement before the age of 30, and he will never have." This sentence gives me a lot of pressure and vibration, I will be 26 immediately. Years old, only four years from 30, I will grasp the valuable time in these years, and try to achieve the highest peak of my technology. For this ideal, in order to be more close to his own dreams, I chose this IC company. I understand that my salary and the company's master's degree is different, but in order to endure in the future, everything is re- Start. The change industry is a very painful process, especially from a spring breeze to a strange position, feeling like a warm quilt to jump into ice water, making it unacceptable. At the original communication company, I am the only two-year employee, the company and colleagues gave me a great recognition, and I often have to be responsible for heavy responsibility. But now it has become a new person in the past, I am just a new person in the new company, no one knows that no one cares about my past achievement. I decided to start again, I think of my new graduation, I have to use my own efforts to get the company's recognition. It is very painful to enter the new industry. I tell yourself that I have to endure all this, although there are a lot of temptations outside, but since I choose to choose, I will not allow myself to easily discard it. I have been in this new company for more than a month, starting very hard, and now adapt to it. At the end of the first month, Team Leader found me talking, saying that I am the best in the new employee, I am very pleased, this is also a sure of my efforts. I would also like to thank my girlfriend here, she gave me a lot of support and inspiration, every time she arrived me, let me insist on her ideals, I just came to Shanghai, she made me not to force Going to MIS, this time she also made me a temptation of the monthly salary of too many monthly salary, and I may not have today's achievements. The current company has its own operating system, its own CPU, DSP and other chips, here I can learn the most advanced technology in the world, our design development no longer relies on the hardware and system of others, which makes me very happy. . I plan to wait for the work to enter the right track, fully learn new knowledge and achieve my ideals.

I have given yourself a few goals in the later two years: I. Try to do my job work, get the recognition of the company and colleagues at work; II. Efforts to learn IC hardware design knowledge, ask colleagues asking, and Use all the opportunities to practice; , Because I understand that the cause is heavy, but precious feelings are hard to lose. Let's take a real-time embedded system here, it is currently supporting the following features: a. Support time slice turn scheduling and priority scheduling, up to 64 priorities; b. Preemption real-time kernel; c. In order to facilitate transplantation, the subject is realized by standard C; d. Assembly code is very small, less than 100 lines; E. Support task management, each task has independent stack; f. Process synchronization and communication Currently completed Semaphore, Message Queue I'm debugging; g. Implement timing system calls; h. You can simulate it on Windows. I also intend to implement priority reversal protection, Event Flag, Data Pipe, Memory Management (previously implemented), drive interface, etc. After this, I will work hard to improve it, such as adding a file system, protocol stack, debug interface, and more. I hope that my friends will put forward their own opinions and suggestions, which is not grateful here! Postscript: Just like some friends say, my experience may give some friends to mislead, here I have to explain it. I came to Shanghai to learn too hard, often only more than 3 hours in the evening, I was 1 meter high, only 108 pounds (I am more than 130), my family also said that I am still 60 years old, but I am at the time. Too solid, I said to them, I am enough to realize the ideal 50 years old. At that time, my body was affected, and I suddenly suddenly pain in the morning muscle in the morning, I stood in bed. Although I have been paying attention to it now, sometimes I will hurt. Later, my girlfriend convinced me, I am no longer like this. I often quote a father's sentence "The body is the capital of the revolution." And I also found that it is not a way, I can get one or two all nights, I have worked for three days and three nights, but I have not recovered over half a month, this is not worth it? Learning work should be a long-term process, like a marathon rather than a hundred meters. I now pay attention to adjust the intensity of learning and work. I want to guarantee that there is relatively abundant energy every day, some young friends feel that I should work hard, which makes me feel a little worried, if my story can make you study work More interest in, I will feel very happy, but if you mislead some friends, let you do something that is not worth it, I will feel very guilty. Technology has no expensive score, I used to change the industry because of my own interest, not any of the industries. I hope that my experience should not give a friend a wrong or guide, I feel that I have always developed to a higher technology. In fact, all indigenous countries are very difficult. I said that I will come back although there is no expensive, but the threshold is high, no matter how IC's threshold is much higher than the web page, this is undeniable. The country's various talents are needed, but as the idea of ​​personal work, it should be better, trying to do better in the industry you like, and should not stay in the superficial level.

I am a person I feel more than knowing, maybe my biggest advantage is that I have a lot of shortcomings :). Many of my story is caused by my shortcomings. I hope that everyone will look at my experience with a prudent vision, don't be confused by my "flowers". I have learned something like, this brings me endless trouble, and it is also greatly hindered my development. I remember that I had a lot of achievements, but later learned seriously, leading to my middle school's achievements and repeated landslides, and did not have a good school. A friend when I was young. At that time, I didn't have this shortcomings, she Tsinghua, later went to the United States to study, in a famous tutor, the theoretical science, this is not a better way. In addition, my learning method is also constantly improving. The past learning is too payment of quantity and time, so learning is both bitter, it is not high, now I pay very attention to learning efficiency and skills, this is the shortcut of learning (of course, not means Speaking, such as learning a relatively unfamiliar technology, if there is condition, ask someone else, don't ask a lot, often he is not happy, will give you a very helpful help, or even more than you see one Week book. Let's learn this kind of thought you will save a lot of time. What is this? I have learned a lot of things in these years. Since I am very blind, I have never chaotic, now I think about it, let me ridicule, I will waste a lot of time in some knowledge that there is no need to understand, after all, a person's energy It is limited. Many friends are very much, I have a five-strody, I really do it? And a good input method, but it is absolutely not worth your back to a R & D person, and your time should spend the price? I have done a lot such that I have a command and shortcuts of cced, WPS, I have already spent a lot of time to learn its use in DBASE. So my study lacks planning in the early stage, there is no clear short-term purpose, medium-term goals, only one long-term ideal. This is like designing, a good design is from demand abstraction to the code, and it is not possible to start coding immediately. Of course, there are fewer learning and work in such years, there are fewer gains, let me talk about some of my learning, this method is not necessarily correct, I am constantly exploring and improvement. My learning and work have a relatively clear goal. I will not learn a certain technology for a while. I will consider a lot before I decided, including long-term development, personal route planning, the cost of paying, may encounter Difficulties and solutions, etc., will also develop more clear plans after the decision, including short-term, medium and long-term, resources that can be used around (including good books, materials, hardware and software, including experience) Friends or teachers), and how to transition to a high-stage stage of each stage, often in a study stage, once the road will go relatively success, but the cross-order is usually more troublesome, such as learning basic knowledge to practice.

转载请注明原文地址:https://www.9cbs.com/read-95186.html

New Post(0)