<> one , Language selection

Python,JAVA,C#,PHP,C++,VB……10 Multiple popular development languages , Which one has the most development potential ? In fact, the development language is just a tool ,“ Instead of dispersing the attack , Why don't you hit it with all your might ”, No matter which development language , As long as you study hard , When there is a certain degree of familiarity , It's easy to learn another language . Development languages are mainly divided into three categories :
1. Network development
Now the network has become a bridge of world communication , be like Javascript,PHP,Ruby Most of these development languages are used for network development
2. Enterprise software development
JAVA,C#,VB These kinds of development languages have achieved the goal of object-oriented development , More often used for enterprise system development
3. systems software
C language ,C++,Object-C These software are mostly used for system software development , Aspects of embedded development

<> two , About career planning

Programmers write code every day , Very busy every day , And when the interviewer asked him :“ What is your career plan ?” Programmer answer :“ No, ”. What would you choose if you were asked to choose a role ? Such as technical director . Programmer answer :“CEO bar ”. I ......

We should make a career plan for ourselves , Have a direction for future work , When the direction is right , You'll take fewer detours . Like when you were a kid, people asked you , What is your dream when you grow up , Xiao Ming next door answered :“ I want to be a mathematician ”. This is a good dream ! Although Xiao Ming only became an accountant in the supermarket —— cashier .
Career planning chart :

Career development books for programmers :
1. Algorithm and introduction
2. Design mode
3. How to prevent cervical spondylosis
4. How to treat cervical spondylosis
5. Alive
6. How to transfer to another line

This seems like a programmer's dirty joke , But as an old programmer, I have to say that this is not really a joke , Programmers are a high-risk profession , Many people have no clear concept of their career , And ended up having to change careers , There are generally two reasons for this career change , One is that the technology can not keep up , One is that the body can't bear it . And some people think Java This business won't last long , It's easy to lose your job , Not really .Java The technology of the industry is changing rapidly , And some people will be content with the status quo and stop learning after they find a job , This makes him unable to keep up with the pace of technological updates , Such talents are easy to be eliminated . If you can keep working hard to learn new knowledge , Then it's hard for you to lose your job .

Although many people feel that at present Java Numerous talents in the industry , Especially the rise of various emerging languages ,Java The momentum is worse than before , but Java There are many commendable advantages , As simple as , object-oriented , Distributed , Explanatory , reliable , security , Structure neutrality , Portability , High performance , Multithreading , Dynamic, etc .

Java Abandoned C++ Functions that do more harm than good and many rarely used functions .Jave Can run on any microprocessor , use Java The developed program can be transmitted on the network , And run on any client .
Java The future is limitless , So there's no need to worry Java The future of is going downhill , If you're still worried , Because of you Java Knowledge is not home yet .

Java How about the employment situation ?

According to authority statistics ,Java The prevailing salary for the position is 10k reach 20k, The average salary is 14780. This considerable income is also a lot of people devoted to Java An important factor in career . In addition, only 8% of Java The engineer's salary is 8k-10k, This small part is new Java engineer . therefore Java The future is still considerable , Want to join Java In this industry , We should study hard .

<> three , Management and technology are more important

This is a question without right or wrong , At present, many large domestic companies pay great attention to technology , So it's possible to spend your whole life working on your skills , But technology is a tired and outdated thing , Once your technology becomes obsolete , Then I can only ha ha ( Those who say technology is all imaginative , I can only lie to myself ,hr Not like you ) Management is relatively stable , Management capabilities can be extended to many technical directions , And the income of management is higher than that of Technology , But it also has the disadvantage that the cost of changing jobs is higher .

In fact, I personally think the best career is technology leader, This requires a lot of ability , Both technology and team leadership , And have the energy to manage their own team , Have a clear understanding and guidance of each member's work and career development direction

For new employees , Don't think too much about money , To select a large enterprise , Well known enterprises , The characteristics of these enterprises are , The salary is not low , Clear division of responsibilities , It's good for your work style , The most important thing is that it's easier to change jobs .

Someone here might jump out and say . Small companies are more suitable for newcomers , Can quickly cultivate a person with multiple skills , Although it will be a little tired , But I will learn a lot , For those who have such ideas , I just want to say it's not that you know more than others , You will be better than others , Personally, I think depth is more important than breadth

In my opinion , To be a cutting-edge developer , Must be right C,C++, assembly language , Embedded development ,Windows API,Linux
API Deep understanding of these underlying technologies . You know, understand JAVA,.NET…… These are called high-level development languages , Not that they are C,C++, Assembly language more advanced , It means that they encapsulate C,C++ And so on , More suitable for enterprise software development , Make development simple . But if you want to develop some underlying software , Large systems , Must be used C,C++, Assembly and other development languages , This is a condition for successful top talents .

<> four , Project manager or architect

There has always been a discussion among programmers about whether to be a project manager or an architect in the future . The two roads have different emphases , So the accumulated things may be different . The project manager puts more emphasis on comprehensive ability , For example, coordination ability , Communication skills and a series of management skills . The architect may be more focused on the technology itself , Macro direction of Technology . The two roads overlap , But there are more differences . Some project managers may not be able to write code . But it can also lead a project , One team . I once asked myself which of these two paths would I take in the future , Actually, you can try it . For example, give me a project to take , Can I take it with me , In fact, we need opportunities , At the same time, we also need to strive for such opportunities . So my answer is that you can try both ways if you have a chance , That is, some abilities in both directions can be accumulated . Many people think that a project manager is a position , I think it's dynamic , You are the project manager in this project , Another project may be a development engineer . So not always the project manager , Not always a development engineer .

As far as programmers are concerned , There is no problem focusing on Technology , Technology before management . Management is a little vague in general , Each has its own set of theories , Difficult to evaluate . But the technology is measurable , Through certain efforts, the technical level will have a definite jump . Remember in 《 The Shawshank Redemption 》 There are only two conditions for the formation of geology : Pressure and time . In fact, it is the same for learning technology . As long as you are willing to learn, you will reach a certain level . People at Daniel level really need some understanding and talent .

<> five , My choice

Why do I think I should take the path of architect , This is consistent with the ultimate goal of my career . Let's start with what architects do ? The architect is responsible for the architecture of the entire project and even the entire system ( This sentence amounts to nonsense ). The general type of project may be the design project, or even the architecture may not be required . But when the complexity of the system increases , It will involve the interaction between systems , And the technical feasibility and the whole design scheme . This is when the architect comes out . Another job is to undertake certain work of training new people . So architects need to have good eloquence , Many people say that programmers can't talk , Wrong , That's low-end , The high-end programmers are very eloquent , Take a look at the architects talking at the programmers' conference , Is there a seed “ high-end and classy ” Feeling of . There will be a development direction “ Trainer ”, You can also write books , In fact, these may be some “ by-product ”. When technology reaches a certain level, many things come naturally .

Do architects write code ? Of course . They certainly don't write simple code , What code do they usually write ? frame , Generally speaking, a good framework is written by one or very few people . for instance Linux The core of is written by one person . Good code is never made by people . You give 100 Not one junior programmer Struts come . There will be another way , Open source framework , Many people are fans of the open source community . Are more or less involved in some open source projects . They even open source some of their own writing . Generally speaking, it's very good to be able to achieve this level .

In any case, the underlying technology is the same , So a solid foundation is necessary , This is why algorithms and data structures are timeless . Many people say that algorithms and data structures are useless. That is the expression of ignorance . This ignorance is like discussing whether it is useful to go to college .

notes : The above are all the contents about career planning that I have summarized from reading the articles of the leaders , For reference only .

©2019-2020 Toolsou All rights reserved,
Solve in servlet The Chinese output in is a question mark C String function and character function in language MySQL management 35 A small coup optimization Java performance —— Concise article Seven sorting algorithms (java code ) use Ansible Batch deployment SSH Password free login to remote host according to excel generate create Build table SQL sentence Spring Source code series ( sixteen )Spring merge BeanDefinition Principle of Virtual machine installation Linux course What are the common exception classes ?