Questions from csdn users:Wanglovec
Let's talk about your situation first:
04 years after graduation, I used VB to do some simple MIS system.
C ++ has been used for two years in the last two years.
Work Skills
1> familiar with C ++ and sqlserver2000 BCD VC
2> familiar with windows programming, multithreading technology, USB and RS232 serial communication.
3> familiar with database programming and SQL language.
4> have a deep understanding of object-oriented, and be familiar with the object-oriented design principles (SRP, dip, OCP, LSP, ISP, dump, combination/aggregation reuse principles ).
5> familiar with the design mode (gof23 mode) and MVC Architecture mode.
6> familiar with refactoring, software engineering, and agile development modes.
7> familiar with CVS version management tools, with good programming habits.
8> have a certain understanding of team management and architecture design.
Now I changed my company. For various reasons, I changed my development language to C #. However, it is hard to mention C. It took a week to get started with things quickly, but I felt that it could do nothing. For communication and image processing, C ++ is not as good as Java in OO.
Advantages: OO has a deep understanding and is familiar with the design model. Thanks to the C ++ foundation, it is faster to get started with new languages. Have certain project management experience.
Windows Programming and multithreading. Familiar.
It took one year to learn (OO, design model, reconstruction, agile development, etc.) and also applied in projects.
Six months of learning (Windows programming, multithreading ). Just two years after graduation, I felt that I didn't learn anything, that is, SQL + ADO + VB.
Disadvantage: In terms of C ++, BCD is used by the company, so the original Vc has not been further studied. I only learned some about STL.
Interest: elegant design and interest in network programming.
Question: Now I have time to study, and I am still good at perseverance. I can basically guarantee that I can read a book every day for an hour. However, I am so confused that I don't know what to learn or where to go.
Http://topic.csdn.net/u/20080315/11/c0ad9764-a7c9-400e-822b-37afdb50a9e5.html
Csdn user reply:Tb01412
Three directions:
1. Deep technological development, research on operating systems, compilers, CPU-related, can move toward embedded
2. develop to the technical breadth, build the application layer, focus on the software architecture, and develop towards architects and project managers.
3. develop towards a non-technical line. First, change your character. There are many directions, such as entrepreneurship, management, and sales.
2. develop to the technical breadth, build the application layer, focus on the software architecture, and develop towards architects and project managers.
"Is interested in this, But how should we get started? At present, what is the most important thing I should do? What should I learn?
========================================================== ==========================================
Four years of software development experience, two companies working in different industries, four years later in a relatively promising company, and three years ago, they have accumulated technology, three years later, we will mainly increase communication skills, expand communication areas, and focus on products.
Csdn user reply:R1_sh
It tells you three ways:
(1) either do C ++, this thing has been proven to be enduring in history, and other development tools in his market are basically not available, and there is no cap on his salary
(2) I either use Java and never use net. Now I have implemented net. I feel that this is very limited. Many high-end products cannot use Windows platforms at all, net is almost dead here,
What's even worse is that net is easy to get started. Many people have developed a lot of bad habits when they become proficient. Due to the influence of the big environment, personal improvement is limited, basically, you do not have any rules.
(3) make some products, such as SAP, Moss, oracele's ERP, and SOA. These products are popular in large companies and have high salaries, it is not easy to use because there are few materials,
It is also difficult to find opportunities for practice, so it may take a while to get rid of it.
This is my personal experience. I will give you some advice, don't learn which one to think about, and don't trust others too much. I have to make judgments, make good choices, and make good decisions. However, if your current salary is less than 7 kb,
You basically don't feel how much I mean, but the higher your salary goes, you will know that I didn't lie to you.
Hyun's sister replied:
all suggestions from netizens are good. Especially rw.sh's point of view, although sharp, is indeed a fact. In particular, it is wise to select C ++ if you want to develop towards the technical breadth, application layer, focus on software architecture, and develop towards architects and project managers. However, your technology must be refined, which does not mean that you can make a lot of products, but that every product you make can achieve high quality. Standardization is very important. Therefore, it is necessary to set a good learning model. Can your team leader help you in this regard? If it cannot help you improve, change the environment as early as possible.
This is currently required by large companies, especially foreign companies. They would rather recruit fresh graduates with high quality to cultivate and do not want to find "Social Youth" because these people have developed many bad coding habits in small enterprises, although they look very competent, they are not uncommon.
so if you want to take the high-end line, you must look at that behavior pattern. Develop good habits at work, strengthen learning, and grasp a thorough technical research. Do not look at the west. The kind of things that I know is just half-understood, and even more powerful. After three or five years in the workplace, I don't want to switch to sales, but I still want to go in the technical direction. There is definitely no way out.