The growth of a computer expert

Source: Internet
Author: User
The growth of a computer expert

Every time you read this articleArticleIn addition to admiration.

 

I have been writing a real-time operating system kernel these days. I will make it public after writing it. Enough for ChinaItThe development of your own meager strength. Recently, I have seen that many students and friends have no direction, so I wrote my experiences and shared them with you, hoping to help my new friends. In a twinkling of an eyeItI have been studying and working in the industry for more than seven years. During this period, I used web pages and wroteMIS, Databases, ApplicationsProgramI have worked on communication software, hardware drivers, and protocol stacks, and now I am working on the operating system kernel andICRelated Development has taken a lot of detours and suffered a lot. I am on a three-stream College, and most people in the same city do not know. Because the school is not good, it is not expected to find a good job by the reputation of the school. All hopes are pinned on your own efforts.

I started my study during my primary school holiday. I remember that the first book I bought was "Computer Basics ". Dos3.0 ", Don't be scared. In fact, it was already popular. Dos6.22 I saw it in the bookstore. Dos4.0 , 5.0 , 6.0 I thought it was the fourth, fifth, and sixth book like English. Dos1.0 But now I think I can't find it. :) I have finished school before I start school. Pascal At that time, no computer or anyone could ask. I didn't even have the concept of a program, so I had to memorize it.CodeAnd write it on paper. I only had one in my third-class family. 486 Before that, I can't remember how many programs I wrote with paper. I only know the longest one. A4 The size of the draft is written. 30 Multiple pages, my C Language, C ++ , VC All of them are getting started under such conditions. Therefore, the conditions can be overcome. I hope that my experience will give the students with hard work a little confidence. My first computer was in my brother-in-law's machine room. I was so excited that I could never beat it up, but I was dumb at once. They used the English version. Win3.1 My point DoS Knowledge has seen the ghost, the machine is worried about a burst of blind touch, accidentally put Word I thought the machine was broken. First C The language program is the classic Helloworld I called it for a few weeks, and there were very few opportunities for connecting to the machine, and I was not informed about the development environment ( Tc2.0 ) Need to be set, and at first I don't know that there is a compiler, I am even smart to write the program Extension from . C Change . Exe The results can be imagined. Freshman is finished C , X86 Assembly, data structure, C ++ . Because the energy is spent on self-study, the first and fourth courses are highlighted. This is good for the three types of schools, and the same is true for the 10 or 20 courses. However, as far away as you can say, I am so hard at all. It can be seen how rigid computer education is in our country.

Sophomore preparations VC And BC It was difficult to choose at that time. Later I chose VC It is nothing more than two books in the bookstore, VC That's cheap. 6 Block money. My hard work is unmatched in my class. I learned things day and night, especially when I had a computer. Many times my father taught me in the middle of the night that I was not killed. I always felt that my foundation was poor, the memory is not good, and the conditions are not good, so I feel that only a little more time can catch up with others. Many of my friends later said that I had the talent to learn computer, which left me speechless. I used 486 , 16 m Memory, 1g Hard Disk. At that time, the configurations of students were P166mmx , I install Windows NT4.0 Requires an overnight Compilation Bc5.0 It takes nearly two hours for the Wizard to generate a program. My monitor is a second-hand program. The radiation is very high, and the boot screen Sparks. It looks cool :). Once the program was written for too long, I think that the background of the white editor has changed to purple. I thought that the monitor was broken, and then I found that my eyes could not work. However, it is strange that my vision can be maintained today. 1.5 It's a miracle. But the broken machine has been with me for two years and I learned VC , Delphi , Sqlserver . Later, the machine was used for typing for my aunt. According to her, one day she was playing happily. A smoke was drilled out of the monitor with a flame in it before it went to bed.

I got a chance to work as a volunteer at a computer research institute during my junior year holiday. I did not get a penny after two months of work. However, these two months have helped me a lot in my development, and I learned more about society. When I first went there, I certainly knew nothing about the Internet. Delphi And Oracle . I got a good review from my serious work. I started to work with an elders on projects, which gave me my income when I was a junior or senior, I found two more senior students. MIS Although the company has a part-time job, it does not have much money, but there are 1000 I am already satisfied with the high income. I finally used my own money to change my computer. When I started to look for a job in my senior year, I had a lot of work experience (of course I think it's very naive). I started to hear my parents want to go to that research institute, and I hope I can go to that department after my internship, but I don't know why I ended up with something like this. This kind of organization is a relatively bureaucratic one. In my breath, I got to work in a part-time company. MIS Of Teamleader . I have done a lot of work since I graduated from my junior year to one year. MIS From gas, smoke factory, public security, railway, food to colleges and universities, what is rich to do, work is also very hard, often working overtime and stay up all night, from talking with customers about requirements to designing, coding, testing, and delivery. At that time, I felt very fulfilled and I felt pretty good. Now I think it's really superficial.
Students who have just started their jobs can easily be misled. Various development tools are dazzling and very important to the company. However, such jobs will always be a low-level developer. Don't tell me how important and difficult a system analysis is. Do you think that designing your own demands is System Analysis and Design? How many companies in China can do well? I am ISO9000 Internal Auditor, also in Rational The company received multiple trainings and obtained 4 Certificate, and a company asked me to do it. CMM . I have heard a lot of this, but many things have changed in China, and a company has not passed ISO9000 Or CMM Now, I have been working in a foreign company with decades of history, and the management in it is not comparable to that in Chinese enterprises. As a student who has not entered the society before graduation, it is almost impossible to grasp the system analysis and design in a short time, UML It's just a tool. The key is people's thoughts, not that you are familiar with it. C ++ , Rose You can make a good design. On the contrary, if you have a high quality, you can use C Better than others C ++ More modular program. There is a strange circle in the software development industry in China, which many people think VC> Delphi> VB It's really funny. I have developed these software. To put it bluntly, they are all tools. You should choose which one to use based on the application's needs, rather than the upper layer. If you choose to use a development tool with a strong face, it can only show that you are very thin. If there are layers, these tools are not hierarchical, because they are used by some systems. API Microsoft's friends won't remember how many of them API Or how many classes will think you are amazing. You will always be their customers. They value the money in your pockets. I have also done system kernel, and I have encapsulated many API Also, I will not pay attention to the use of these API A customer who is engaged in secondary development, unless he can make his own unique design. Some people think C ++> C This is even more confusing. You may as well inquire about how many operating system kernels are used. C ++ And several real-time systems use C ++ Of course, I'm not saying C ++ Not good, but the current kernel and Real-Time System C ++ Cannot match C For example C ++ It is another thing that is suitable for application system development. So my point is not what tools and languages you use, but what you do. Your design reflects your technical level. After doing this for a year, I felt very depressed. Most of my work was done by skilled workers, and I could not see much improvement in my personal technology. Therefore, I decided to leave the city to go to Shanghai to seek better development and intend to give up my previous MIS To the communication industry.

I can't help but mention my girlfriend. We met her half a year before coming to Shanghai. she was an intern in our company when she was a senior. The company sent her to write documents for me, and our feelings grew fast. She told me a lot about her family, which was originally the first outbreak of Reform and Opening up. Her mother loves to play cards, lost millions, and owed a lot of debts. She has a boyfriend, but she had no feelings for him, because he gave her mother more than 20 thousand yuan, and then forced her to write 40 thousand yuan of loan, her boyfriend betrayed her and beat her more than once. Now she is forced to get married, or she will pay back the money. This person is still Colleges and Universities Teacher! Her mother spent her father's tuition because she had no way to get a diploma in arrears. Her mother is ill and needs money now. I took out some of my savings and received some money from my friends, I paid her tuition fee and treated her mother. (later, I learned that the money for seeing a doctor is complete. I don't even know if her mother is ill, but she still has no way ). At this time, my family knew something and resolutely opposed me to be with her. Her old boyfriend also tried to destroy me. In desperation, we decided to leave this sad city early and stay away from our home. Due to the rush of time, I only prepared 4000 I bought three tickets, one at noon and the other at night, at noon, my family sent me to the ship. As soon as they left, they got off the ship. I and she took a night boat and left the city where I and she lived for many years, all it takes is debt. We have never been to Shanghai and are reluctant to bother our classmates and friends. Coming to Shanghai in the evening 6 We don't even know where to go. We found 20 This room does not even have a window for a hotel with a dollar, 7 The weather in the month is very hot and difficult, and the room is very sultry. The next day, we started to rent a house. Because we didn't have much money, we basically walked. It took us a week and I don't know how many laps I found in Pudong. 400 But we do not know that Shanghai is a three-pronged solution, and we have to pay an intermediary fee for half a month. After buying some pots and pans, we only have 800 I have not paid for my work yet. 800 A dollar is enough to support us to get the first monthly salary. To save money, we cook for ourselves and only spend two yuan to buy food every day, she is very fond of eating (or her willingness to go hungry often in College). I can't bear to see her saving money. Her old boyfriend did not let her go, often called to harass her, and came to Shanghai to see her. She also said a lot about threatening her. She was too kind and said that he had helped her before, after all, tell me not to be familiar with him. In the future, I will wait for an interview notification every day at home. I originally wanted to quickly find MIS The company solved the current difficulties, but she insisted that I should not give up on my own ideals, and finally worked hard. I found a communication company, 4000 Even if the block's salary cannot catch up MIS The price offered by the company, but it is enough to survive in Shanghai. She also found a job. She cried when she went to work on the first day. This was the first time she came to Shanghai to shed tears. I felt very uncomfortable and touched. Because it is a brand new industry, I have reduced myself to zero. I learned VC , Delphi Databases are not useful. I am faced with embedded systems, protocols, and signaling. I knew that I did not leave, so I tried my best to study hard. I considered myself a fresh graduate, and I tried my best to get the harvest. Over the past six months, I finally became familiar with my work and was recognized by the company, the salary is also increased by a level. In the days to come, we save money and owe it to our friends. 1 After paying yuan, the day was on track. At this time, my girlfriend told me that she wanted to take a postgraduate exam and I was also very supportive. So she resigned and prepared for the exam at home. In addition, here I want to thank you Projectmanager He was a product manager of a large communication company. He was very kind to people. I learned a lot from him and he also gave me a lot of selfless help. At work, he gives me plenty of space and trust. I remember my company arranged for me to maintain an Access Server software, because the amount of code is not too small ( 5 10 million rows), the materials and documents are not complete, and I am very difficult to maintain, so I want to redo it again, the company leaders do not support it, may feel that the workload is too large, however, he tried his best to support me. In private, he asked me to let me do it. He squeezed time for my maintenance work. With his support, I spent half a year completing the software for accessing the server and implementing a relatively complete TCP/IP Protocol stack. Here I learned about embedded system design, driver development, TCP/IP With a lot of communication knowledge, I spent a year finally getting myself from MIS Development has moved to the communication industry and gained a firm foothold. A lot of my development is a direct operation on hardware, and it is no longer affected by Microsoft's operating systems, VC , Delhpi These development tool constraints, I finally see another blank space. I like to follow the root of my concerns when I do things. With the development going deeper, software development and hardware become more and more closely linked. The lack of hardware knowledge creates obstacles to my development, in addition, the chip technology is basically in the hands of foreign companies, which is a huge constraint on system-level design. A new product comes out, the first profit (and often the most lucrative profit) is often IC For example Intel , Motorola When I make a profit, Chinese manufacturers can only drink some soup. So I am determined to solve my hardware technical barriers and intend to leave the communication industry and enter IC Design related fields.

Of course, if I know little about hardware, no IC company is very kind to recruit me such a ignorant person for training. Therefore, I must lay a solid foundation and learn some relevant knowledge to prepare for the future. Just as I started to switch from MIS to communication, I have read a lot of books on communication, and a ISP radius billing sorter is provided, in this context, the communication company gave me this opportunity. My communication company is engaged in system design. Many PCB layout hardware staff usually learn from them, I am embarrassed to read hardware materials from my company because I am working on software, so I had to watch it at home. I have been working overtime for a year since I first came to Shanghai, because I want to squeeze out time to study, I usually go to bed around 12 , the next day, 5 at half a day, I got to work early. If there are not many people on the subway, I also used to read books. Of course, learning will not be smooth sailing. I have accumulated some questions that I really don't understand and asked the hardware staff. Their help has made my learning progress much faster, because I learned it by myself without human resources, I spent half of my time solving difficult problems, but such problems often make me suddenly enlightened by a sentence from others. I am very glad that I have such a learning environment. In the next year, I learned how to look at the hardware schematic, and how to design simple hardware (there is still a small gap in analog circuits). This is the case. When you prepare software, others always think that you are a software developer. When you start to learn hardware, others may not agree. A friend of ZTE also told me that a person cannot finish everything. I also understand this, but I hope I can do better. However, when you are familiar with hardware, you may feel that you are familiar with software and hardware, and your colleagues are also familiar with it. At this time, I can take the hardware materials to the company, and no one will be surprised. I am proud to have developed a IAD (Softswitch terminal device) system solution through my own efforts, I am very pleased to hear that this solution includes software and hardware selection and design.

Technology is complementary. When my hardware has made some progress, my software design has also been greatly improved. I can understand the problem from a deeper level, my Access Server CPU Yes Motorola powerpc860 All familiar friends know 860 QMC Batch Data Transfer with software usually uses BD The table method is used by hardware staff to make the drive. BD Table. BD Copy table to user Buffer , Or from the user Buffer Copy BD Table, because of its in-depth understanding, I re-implemented this process, using dynamic BD The table method allows the driver to receive data from a network port, submit the data to my software for layer-3 switching, and send the data from another interface without a copy. This design greatly improves the performance and makes the system indicators close to the theoretical value. The combination of software and hardware has brought my design level to a certain level. I am writing this operating system. After compilation, I decompile the program into an assembly, find out the unoptimized code, and then C Program. For example, many CPU There are no special multiplication commands. We should know that CPU The process of performing a multiplication operation on will often take a lot of instruction cycles. Some friends will say that I know, and I will try to avoid using × But things are often not that simple, you know C How is the subscript operation of arrays in a language implemented? Take a closer look at the disassembly code and you will understand that the operation is also based on the location of the lower mark, C The compiler sometimes generates displacement commands, but sometimes it is implemented by multiplication. The efficiency of the two is often very different, so you can understand these problems to maximize the system performance. I will not talk much about these questions. If you are interested, you can discuss them later. In other words, I sincerely hope that more in-depth friends who have made software will have the opportunity to learn hardware and other related knowledge, especially for underlying development and embedded design. This is of great help to the improvement of software technology. Otherwise, you only know many things but do not understand why. My point is in my current IC Company Proj ect Manager The verification was also obtained. He told us that 802.11 The software manager of the chip product was originally designed for the chip hardware, and a certain person was originally made for the software. IC There are many similar examples, but this is not very popular in China. I have some experiences to share with you. Only after I have done my job well will I learn the technologies that have little to do with my work, so that my boss will not dislike me, in the entry stage, I usually don't ask senior people, but ask some friends with relatively low qualifications, such as students who have just graduated, because they will often give you a detailed explanation, senior people usually think that your questions are too simple, so they are very simple to answer. I am sorry to ask more questions. After a certain level of technology, I will ask them, and they can give you a deeper answer. In addition, some friends say that I have a better chance. They also hope to have a new job, but unfortunately they do not have a chance. I have heard a bitter smile, and all the people I have the opportunity to know should know, I was not born It No one has promoted me along the way, and all the roads come out by myself. My mother died earlier. My stepmother (I called her aunt) watched me work hard, once she saw me 30 I am still writing a program. She said I can learn from the hard work of wood like me. My ultimate goal is IC Instead PCB So I will start learning the next step. IC Design Knowledge. Colleagues in the company do not understand IC After the design, I had to rely on myself. I bought a lot of related books and checked a lot of information on the Internet. I spent a lot of time learning. VHDL And some simple design and simulation (no design ASIC , Only FPGA ), As I learned more deeply, I gradually understood IC The basic design process, but also understand the hardships of this road. At this time, I have prepared for Job hopping. IC The design company submitted a resume and passed a long interview ( 4 Hours ). I am satisfied with everything else, but my salary is not satisfactory. I also understand the reason because I am a newcomer to this industry and I have no experience. I once again cleared myself. The company boss asked me 6000 I know if I can accept it for another month. Think about my friends in the communication industry. Basically, they all have annual salary. 10 More than million yuan of monthly salary also exists. My friends also helped me introduce a lot of companies with good treatment. How should I choose? At that time, I hesitated. I love my career, I yearn for my pursuit, but I am also an ordinary person. I also need to support my family. I also want to buy a house and buy a car earlier. Life creates a problem for me. Einstein's 63 Said at age " A person is not 30 He will never achieve the greatest scientific achievement before he is a year old. " This sentence gave me a lot of pressure and vibration, and I will immediately 26 Old, Li 30 Only four years ago, I have to pay close attention to these years and strive to reach the highest technical peak. For this ideal, in order to be closer to my dream, I chose this one. IC At the company, I understand that my salary is almost the same as that of my master's students. But for future development, I have to endure it, and I have to start over again. Changing the industry is a very painful process, especially switching from a proud position to a strange position. It is unacceptable to drill out of the warm quilt and jump into the ice water. In the original communication company, I was the only employee who had raised his salary five times in two years. Both the company and my colleagues gave me great recognition and I was often held responsible for my work. But now it's all over. I'm just a new employee in a new company. , No one knows or cares about my past achievements. I decided to start over again. I saw myself as a new graduate student. I had to use my own efforts to get the company's approval. It is very painful to enter a new industry. I told myself that I must endure all this. Although there are many temptations outside, I cannot give up without making a choice.

I have been working in this new company for more than a month. It started to be very difficult and now I have adapted to it. At the end of the first month,Team LeaderTalking to me, saying that I am the best employee among new employees, and I am very pleased with it. This is definitely an affirmation of my efforts. I would like to thank my girlfriend for her great support and encouragement. She encouraged me every time when I was shaken, so that I could stick to my own ideals, she told me not to do it.MISThis time, she forced me to withstand the temptation of having a monthly salary of over yuan. Without her, I may not be able to score today. The current company has its own operating system and its ownCPU,DSPAnd other chips, here I can learn the world's most advanced technology, our design and development is no longer fully dependent on other people's hardware and systems, which makes me very happy. After my work is on the right track, I plan to learn new knowledge and realize my ideal. In the next two years, I have set several goals for myself:

I.Strive to do your job well and get the approval of the company and colleagues in terms of work;

II.Hard workICKnowledge of hardware design, consult with colleagues, and use all opportunities to practice more;

3..The main part of implementing my real-time operating system is completedTCP/IPProtocol Stack module released for freeSource code;

Thu.It is the most important thing to marry my girlfriend and buy a small house, because I understand that my career can come back, but the precious feelings can hardly be recovered.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.