If you want to work in the IT industry, you must read this article

Many small partners who want to work in the IT industry will ask:
How do I learn technology?
What direction should I choose for further study and employment?
How to prove that your technology is very good?
What is the core competence of programmers?
How to be a good engineer?


For these questions, I have summarized some trends for your reference, and hope to help you.


1. Division of IT technology direction


The first is the direction of IT technology, which I think is more reasonable: mobile development direction, web front-end direction, back-end direction, game development direction, algorithm/research direction.



Because the back-end servers in the Internet industry are generally Linux, web back-end development and Linux server development can be regarded as one direction (unless you refer to Linux server development as a system architect, but that is the work of operation and maintenance, and should not be counted as develop it).


In addition, game development is mainly based on C++ but not limited to C++. Although many large-scale games are developed in C++, for example, current mobile games are also developed on Android and IOS, and some game development will use new technologies (such as the more famous ones). Unity, which may not even be accessible in the university). Databases are basically designed together by architects and programmers.


2. The development trend of the IT industry



Mobile terminal

(Mobile operating system) is one of the fastest changing areas, and there are also a lot of variables. 10 years ago, when Nokia swept the world, would you think that Android has such a great prospect and so many users? Since 2010 (actually, it has been brewing since 2008), Android has risen rapidly, and its development has been extremely fierce. By 2012, almost everyone has an Android device. At the same time, Nokia has been declining all the way, until it fell to the bottom and could no longer get up. Yes, and later in the arms of Microsoft, the development was not very smooth, and it is already gone. Since the birth of the first-generation iPhone in 2007, Apple has taken the route of being tall, mainly targeting high-end people. The price is the highest among all mobile phones, but the technology is also the most powerful and the experience is the most friendly. , so that the people queuing up every time the press conference is full of money!



Internet I think the future development direction of the IT field must be smart devices and the Internet of Things from a physical perspective, and must be Internet+ from a field perspective. The future network will become more and more intelligent.


The Internet is the connection between the network and the network, and the network and people; and the Internet of Things is the connection between the object and the network, and the people and the network. Masayoshi Son, an investor in Alibaba, said at the Internet Conference: "Today, everyone has about two mobile devices. In 2020, the number of devices connected to each person will reach a thousand." In the future, there will be objects all around, and objects are connected to the network, that is, objects are all around, and networks are all around. And objects will become more and more intelligent, and smart homes should develop. For example, as soon as you go home, the air conditioner is turned on and the lights are on; as soon as you go out, the air conditioner and lights are turned off, and you will be reminded of today's weather conditions... Now there are a lot of things that are slowly developing.


Games I don't play games very much, so I don't know much about games! But from the perspective of social development as a whole, the world is developing and China is growing stronger. With the continuous improvement of economic level, people have more time for leisure and entertainment, and they also have a better material foundation. Under this trend, there should be more and more people playing games, and the game industry should become more and more prosperous.


3. The prospect of technology direction



According to the above analysis, the Internet will be more and more widely used, and talents in web front-end, web back-end, and mobile development should be in urgent need in the next three to five years. With the advent of the era of big data, high-end talents in algorithm/research direction will become in short supply.


4. Technical learning


I have done the written examination questions of Alibaba and Baidu. The computer language required for the written examination questions of Java R&D engineers is mainly Java, and there will be a small number of C++ questions. Choose one of C++ and other languages. Depending on the type of topic, the data structures and algorithms, databases, operating systems, computer networks, etc. you mentioned will all be available. The language of the written test questions for the position of algorithm engineer is mainly C++. What kind of difficult algorithms will be KNN, Hidden Markov, and the shortest distance.


There are some C++ questions in the Java written test questions. I think there may be two reasons:



    1. Check whether your learning attitude is serious or not, because C++ is a required course for almost all computer-related majors in universities;


   2 . , Test your understanding of the bottom layer of computer language and the degree of mastery of the basics. For example, if you are familiar with C++, you will know that an array is actually a continuous memory segment in memory.

If you want to do Java background development, you should focus on the learning of Java web technology, and it is necessary to master the basics of C++.


5. The choice of direction



   As for the choice of technical direction, I think no matter what choice you make, you should focus on your interests and follow your heart! That way there will be no regrets. If you still can't make a choice, just follow your intuition! I think intuition is 0.5 self-awareness + 0.5 providence without knowing anything about the event.


The main direction of my three-year university study was Java, and my work during the last semester of my internship was also Java. Later, I found that although Java is very convenient to use, it is difficult to have a chance to understand the underlying implementation principles, and most of the company's core products will be developed in C++ in pursuit of efficiency. If you learn Java, it is difficult to enter the core part... So I Resolutely switched to C++, starting almost from scratch. My classmates said I was crazy (because I was one of the better Java learners at the time), but I knew I was following my heart! So I started my C++ internship in my senior year, and I went through a rough patch, but I still don't regret it until now.


Last but not least, I would like to send you a sentence: young people have dreams, be brave to pursue them! Entering BAT is not a dream...

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326357038&siteId=291194637