To enable a new csdn account, you want to have a new understanding and a new start. I have been working for two and a half years, and recently I think I have taken many detours over the past two and a half years. But in general, I still have matured a lot and lost a lot. The more I think about it, the more I feel that the past two years have wasted a lot of time, especially the lack of in-depth research in one direction. In addition, I have not been able to make a solid foundation. In a foreign company, technology does not seem to be the most important, but qualifications. The reason is actually simple. The above people are mixed up by qualifications. In order to maintain their own position, they will naturally take the qualifications very seriously. Of course, if you want to succeed at work, you are not qualified enough. Many problems can be solved without being qualified. To treat technology, you must have the spirit of research, be very skilled in operating systems, data structures, databases, and so on, and have a deep understanding of yourself. These are the basis. So in order to supplement my shortcomings, I listed a book order for myself: (1) in-depth understanding of computer systems (2) Introduction to data structures/algorithms (this book is very heavy and can be understood not at half past one, but as a training and training of abilities, I will gradually ponder over it) (3) Introduction to databases (4) C ++ Programming Language
These books are the ones I want to read years ago (except for introduction to algorithms, this book is too heavy ).
Of course, in fact, the computer field is also an extension of the mathematics field, so it is also very important to learn mathematics well (advise those college students (Accounting Institute), think that high mathematics is difficult to learn, hurry to study seriously, there are discrete, probability Theory), I plan to re-learn the mathematical knowledge, otherwise, a lot of information really does not understand, and the space for improvement is limited. Another important thing in the computer is English. I have been to the United States once. If I can't do English, I won't have a copy of this opportunity. In addition to listening, reading, and writing, I plan to translate an English article every week.I also want to focus on the network. I have been doing network-related work all the time, and the current project focuses on the network. So for this, we need to study it further. Related books include (1) TCP/IP protocol (volumes 1 and 2) (2) UNIX Network Programming I have been working on a project for two and a half years, and I feel that I have failed. In conclusion, many times I have been repeating the process. There is no modularization, no hierarchy, and nothing. The most important part of the software is architecture design. The 4 + 1 architecture of RUP is good. Of course, the 5 view method in the first-line architect Practice Guide is also good. For example, we have a module that processes the business logic. However, this business logic module is highly coupled with the control module, and it is impossible to establish a unit test. So every time we change this module, the risk of other problems is very high. If this module is independent, consider its input and output, and then add it to the unit test. If there are any changes in the future, you can use the unit test to ensure it. There is also Oo, which can be thoroughly studied, and many design problems will be clarified. In particular, network integration has recently failed. Many ideas have not been fulfilled, and the system is still in an unstable state. I personally feel very sorry for the failure to reclassify the system. Of course, personal abilities are also a constraint. At present, this project has entered a very critical stage, and many problems require caution.
When it comes to thinking, I still want to talk about it separately. I have seen some programmers, or coders. Why are they always complaining. Because they even include myself, just like a small engineer on the construction site, the master laid the shelf and built the wall up. Don't think, just need physical strength. This is also true for some programmers (I have seen) who are always trying to write programs without thinking. I tried it right. The code was written so it was terrible. The bug was everywhere. I have to admit that sometimes I am the same person. Write programs, think more, and summarize more. In this way, the software quality can be continuously improved. In addition, we must have a thorough understanding of many technical issues. Be a real software engineer.Of course, as a software engineer, there is only one aspect of technology and knowledge at the business layer. Technologies only serve the business, and even better technologies cannot meet the business needs. Especially for industrial software, business requirements are very high. If the technology is good and you can understand the business, such engineers are real engineers and engineers who can create valuable products. The knowledge of software engineers should be systematic, and I am only a small code farmer, lack of knowledge system, lack of depth, and lack of maturity.
Of course, in the company, in addition to working hard, pay attention to salary, work for what, make money, if you do not make money, what do you do? In addition to hard work, you must make efforts to make yourself have a reasonable salary level. Sometimes, don't worry about talking to your boss about salary. If you are valuable and contribute to the company, the boss will generally consider it.
To treat a lot of things, you need to think more, know things, and know why.
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.