# # # Hardware Engineer
Refers to engineers in the computer field who need to touch the bottom of the circuit. In fact, in the electrical field, it is divided into strong electricity and weak electricity. Strong electricity refers to high-voltage transmission, motor and other large current as energy power field. Weakness refers to the information processing field of microelectronics. The work scope of computer hardware engineer is weak current, and the main contents are PCB design (printed circuit board), ic (chip) design and FPGA engineer. It also includes embedded projects, involving system development and maintenance of specific hardware.
#### PCB engineer, FPGA engineer, IC engineer
You may not know the technical terms, so let's give an example of engineering products corresponding to each engineer.
The job of PCB engineer is to design a high-speed and stable traffic network to connect modules with different functions on the circuit board. Their working environment is as follows.
The full name of FPGA is field programmable logic array, which is understood as programmable hardware. In the traditional sense, integrated circuits are customized, and specific circuit boards are designed for specific needs. Fpga can dynamically modify the circuit structure through fuse mechanism to achieve the effect of dynamic programming. Simply put, for an FPGA, you can burn it into a video encoder or a wireless wifi communication module. Although these algorithms can be implemented in software, the cost of hardware-based effect algorithms is lower. VHDL (Hardware Description Language) is a commonly used language in development languages.
IC engineer is to design an efficient computing brain, which involves pipeline mechanism, overclocking, the most important thing is to solve the problem of nano-level current disturbance, and the biggest constraint is also the material technology problem.
In fact, the above three positions belong to the sub-category of ee in modern academic branches. In fact, most of the students who are engaged in this direction are students studying electronic circuit engineering. This major is characterized by the strong, and the only two chip companies in the world are Intel and AMD. Moreover, their core competitiveness is not chip design ability, but manufacturing process. At present, the ARM chip designed by British Acorn company is also unified in mobile terminals. It only provides a solution, design drawings, and the specific manufacturing has to be set up by Huawei and Samsung. But there are also many niche areas, such as drones and security doors. You need to do special PCB design, so hardware engineers also have a market demand base, but not much. From the perspective of skill requirements, solid mathematical knowledge, strict logic and more knowledge of electronic circuits are needed, while similar tools are not so important. From the perspective of future development prospects, with the promotion of intelligent hardware Internet of Things, there will be great dividends.
Job requirements: integrated circuit
Salary: IC > & gtFPGA = PCB
# # # # Embedded Engineer
* * System level embedded * *
Mainly transplant an operating system for specific hardware, similar to linux, VxWorks and so on. And even develop an unknown system that can only meet the demand. You need to read the pin information and read the time sequence. But most of them are transplanted with mature systems, for one thing, writing their own systems is too slow, and for another, there are many pits. Relatively speaking, people at this level are all big cows. Or do some driver development, such as the latest NVIDIA graphics card that makes countless game halls chop hands every year, which requires engineers at this level to do the corresponding graphics card driver.
The salary level is absolutely high, the starting salary is one million, and the entry threshold is absolutely high. The strongest in the industry is not in the research institute, but in the company.
* * Embedded application level * *
Do development on the machine that can already run, such as the operating system has provided the most basic file management, memory management and CPU management. On this basis, you develop specific applications. The common language tool for dealing with people is C. In fact, my laboratory is in this direction. I have had some projects in military industry and state-owned enterprises. From this floor to the architect, I have at least come into contact with some. You can talk about your feelings without looking up information.
The most painful thing in embedded application development is not development, but debugging. There will be all kinds of wonderful problems on this floor. For example, if you ran well yesterday, you might collapse today. Maybe it's a hardware problem, virtual welding? Capacitance breakdown? Circuit board current interference? It may also be a software problem, a wild pointer (few systems have virtual memory, and all your operations are in real memory space), and memory overflow.
In terms of salary, the starting salary is relatively low. The salary given by Huawei this year is very good, 16K, but according to your familiarity with the business, there is no upper limit on the salary, and the final upgrade status is system-level embedded engineer.
# # Software
# # # Desktop Program Engineer
Traditional desktop application software is similar to office, browser and software running on PC. The mainstream development frameworks are Qt, MFC and. Net. Some desktop applications that are still relatively strong now are Microsoft's office and desktop game companies. And the development and application of C# based on Microsoft and C++ based on QT. I don't know much about others, but it gives me the impression that this market is not very active, recruiting fewer people, and people I know around me have not taken this route. According to the private letter of Zhiyou, the salary of this industry has not risen sharply with the internet wave. This smart tour is in C#. NET platform, and has five years of experience. The salary level was 1 1k, and then he switched to Android. Of course, this may be just an example. There are many powerful people we may not know. Thanks in advance.
# # # Network Application Engineer
Since the rise of google, basically all emerging giant companies, such as facebook, bat and Amazon, have developed by relying on the Internet and this group of Internet application engineers. At the same time, they are self-proclaimed code farmers on the Internet. This group should be able to account for more than 70% of personnel in the R&D computer field.
# # # # Front-end development
The broad front-end refers to the development presented in the user's field of vision and directly felt by the user, which will be subdivided into web, andoroid and ios.
#### web front end (h5 front end)
Web front-end refers to a series of applications running on browsers (including mobile phones and pc browsers, or webview controls, or even any environment equipped with JS engine).
In the traditional sense, the front end mainly refers to web pages, html, css, js and JS, or adds HTML 5 and CSS3. But in recent years, many changes have taken place in the front end.
This direction is a hot topic in recent years. With the improvement of machine performance and the popularity of v8 engine, although the computing efficiency of js is still far behind that of C and java, it is basically enough to present display content at present. So there have been various defections in recent years, such as cocos2d-js playing games and react-native acting as clients. At the same time, with the influx of a large number of talents, especially in the last two years, a large number of front-end frameworks and solutions make you feel outdated. To tell the truth, two years ago, it was still the world of JQuery. Now you don't know that Vue and Angular are embarrassed to say hello. At the same time, due to the improvement of machine performance and the power of V8 engine, another advantage of scripting language is that it doesn't need to compile and run, which leads to something that other languages can't do-dynamic update, which can be changed dynamically without releasing the app, further increasing the demand for JS.
Compared with the previous two years, wages have increased a lot, and the market demand is also great. Basically, no application is completely out of the framework of the web. The threshold is not high, but there will be a lot to learn if you go deeper.
#### android and iOS
Android is an open source mobile phone operating system based on linux kernel. Open handset alliance, founded by Google, continues to lead and develop. It is mainly designed for touch-screen mobile devices such as smart phones and tablets. IOS (formerly known as iPhone OS, later renamed iOS 4) is a closed-source operating system developed by Apple for mobile devices. Supported devices include iPhone, iPod touch and iPad.
At present, in the smart phone market, android's market share exceeds three quarters, and ios accounts for about one fifth. The rest are Saipan and winphone, which we shouldn't consider and you shouldn't want to do. Although the market share of android and ios is very different, android engineers and ios engineers can basically keep the same number, so if you want to engage in mobile development, there is not much difference in the job market.
Technically, the two are actually similar, and the main difference is actually the comparison of the ecological circle.
Accordingly, the entry cost threshold of android may be relatively low, java is still popular compared with Object-C and swift, and the competition of android may be more intense compared with the initial investment of 1.5W for iOS (MAC+ Apple phone+developer account for one year 100 USD).
Due to the openness of android and the development based on open source linux, many companies in the industry will make so-called "deep customization" and "smart phones suitable for China people" for android, resulting in a variety of android. Different mobile phone manufacturers have different understandings on some details, but the biggest problem in android development is adaptation. At the same time, because the permissions of Android are open, there will be many places to hack. There are many Trojans (360 Housekeeper) in Android system, and there will be many things to consider. But at present, every time android is released, the security is getting better and better, and the rights management is becoming more and more standardized, and it will get better and better in the future. However, there are relatively few loopholes in the closed feature of iOS (not many, I personally think it must be more than android), but every outbreak is big news. Its development is standardized and there are many mature solutions. His main problem is actually iOS audit. Most companies have had the experience that the app was killed by the app Store.
In addition, Apple is also pushing swift recently. If you want to be an iOS, OC can't be completely abandoned because of various historical problems, but swift will also be the test center or highlight of your job search. According to colleagues' reaction, swift is cooler than OC and more willing to be swift.
# # # # backend development
Back-end development refers to a large general category that provides data support for the front end, including database, business logic processing, data processing and so on. The main development languages are two kinds of compiling languages, such as java, c/c++ and so on. It is characterized by high running efficiency, can support more access under the same machine configuration, and is suitable for ultra-high concurrency. For example, the Taobao background is java, and the Netease game tencent games is c++. The other is to use php, python and other explanatory languages. They are characterized by high development efficiency, can be run after writing without compiling, and are mainly aimed at small and medium-sized websites with little calculation, such as your personal blog, to manage the background.
# # # # Operation and Maintenance Engineer
Specially take it out from the back end, mainly because his development tasks are relatively few, but it is also very important. When the number reaches a certain level and the number of database servers reaches thousands, professionals are needed to do data maintenance, which is as difficult as disaster recovery backup and hot replacement. Moreover, the current trend is service, component and virtualization, and there are various problems to be solved. However, from the market demand, only large manufacturers will recruit professional operation and maintenance engineers. /kloc-a small company with 0/00 servers is generally hosted in various clouds, and then the background engineer concurrently holds the post.
# # # # Background development in the popular sense
In other words, those diaosi code farmers who often say that they are business dogs feel that it is relatively low not to do architectural design. Their main job is to achieve the job requirements of pm. For example, double eleven is coming. Pm said that this should add a function of grabbing red packets, and then the background business dog will be busy, and it needs to solve the functions of deadlock, repeated requests, bandwidth and so on under high concurrency. Of course, they also need a front end, but the front end does not need to consider complex concurrency problems. And if these business dogs have made achievements in dealing with high concurrency problems, they can be upgraded to architects step by step. At that time, the diaosi of diaosi code farmers can be removed.
# # # Test Engineer
A product or a new function must go through a complete test before it can go online. At present, there are actually two kinds of test engineers, one is pure testing, and the other is his upgraded test development engineer, who can fix bugs without rework during the testing process. A good test development engineer can also earn more than a development engineer.
Don't underestimate this test. Don't think that you can only click a mouse. Qualified test engineers need to be familiar with various test tools, write their own test scripts, find bugs, and know why bugs occur. This type of work is generally configured by large companies. For small companies, it is usually the developers themselves and their own testers.
# # # Safety Engineer
The same product or a new function needs to go online, which requires not only complete functional testing, but also safety testing. Because safety testing may require more knowledge, there will be a separate job to do it.
Or you may prefer to call them hackers (bad boys) and white hats (good boys). They wander on the edge of the law, or do chivalrous things without being known, or try to make big news by being naughty, or even make illegal profits. But it must be pointed out that they are indeed the most innovative and rebellious people in the internet circle. Of course, I'm not talking about tool teenagers who can't even write scripts. I mean Assange, Satoshi Nakamoto (mainly technology and thinking, but not doing anything good). They are Allah, Jesus Christ and spiritual idols in the IT circle. It must be pointed out that to take the road of safety engineer, we must first take an edge line. To have the best defense, we must first know how others attack. The salary is not particularly competitive (excluding black goods). What employees have seen in recent years is that there are more and more good children, but the domestic environment is not particularly good (all dark clouds are closed).
# # # Architect
From here on, Gao Fushuai, who is already a programmer, can be called half a scientist. The architect's work is almost out of code, and his main tools have changed from VIM and EClipse to word and ppt. He mainly thinks that technology selection should be made and solutions should be made for the problem of large capacity and high concurrency. Basically, they are all upgraded by background engineers. It seems to be heard that there are also front-end engineers in the industry upgrading the CTO architecture, but after all, there are still a few, and the efficiency of nodes is still much worse.
# # # algorithm engineer
These people have basically won prizes in ACM competitions in universities, or have high logical thinking, solid mathematical foundation and excellent algorithms. If you are an excellent graduate of the Department of Mathematics or Physics and want to transfer to IT, this can be your main direction. This is a college of architecture. After graduating from school, I went directly to this level with a high starting salary.
# # # # Data Mining
Its function is to dig out the information you want from a pile of data. For example, from 2008 to 20 16, I gave you a lot of information, such as housing transaction volume, housing transaction price, land transaction volume, population growth, bank loan interest rate changes, etc., so that you can predict the changes in housing prices next year. That's what they did. This work is divided into three steps: crawling data, modeling and writing algorithm verification.
Crawler engineers grab data from various websites and chain websites of the National Bureau of Statistics and store them as structured data.
Mathematical modeling, establishing the influence relationship and factors between various data.
Write algorithm verification, most data mining engineers seem to use python, with many tools and simple syntax.
In fact, the difficulty lies not in writing code, but in modeling, if an effective model is designed to quantify the relationship between these data. Among them, the weight of influencing factors is their life value, so they will call themselves "people who adjust parameters every day to make the running results of the model conform to the reality."
Salary is very high, the general statistical analysis bureau or large companies will recruit people, or they can start their own businesses. For example, the famous Communist Youth League Secretary in Zhihu is the kind of awesome person who takes data in the face.
In addition, let me introduce quantitative trading. Quantitative trading refers to the use of advanced mathematical models instead of artificial subjective judgments, and the use of computer technology to select a variety of "high probability" events that can bring excess returns to formulate strategies, which greatly reduces the impact of investors' emotional fluctuations and avoids making irrational investment decisions in the case of extreme fanaticism or pessimism in the market. This is a successful new job that combines computer diaosi and financial Gao Fushuai. A theoretical trading model is established by an excellent trader, and then the code is implemented by a programmer. This is a direct cash transaction in the field of data mining. Britain's famous Zhihu Material Trade and Lightwing () are engaged in this direction. Their salary is calculated by the day, and the key lies in the establishment of the model, and it is all through technical analysis. Guaranteed income, for example, from 10 yuan to 10. 1 yuan, even if it is likely to rise to 1 1 yuan, they may sell it (algorithmic strategy), and then guarantee the income through UHF trading. For example, although he can only earn a dime at a time, he buys and sells dozens of lots in one day.
# # # # Artificial Intelligence
I haven't read this book for a long time. There may be some misunderstanding. Siri, or chat bot, which people often see, belongs to this kind of thing. Its essence is still a finite automatic state machine, which moves from one state to the next under the influence of many factors. Theoretically, if you consider all your inputs in the three-dimensional world and define the corresponding outputs, he can realize artificial intelligence. But the program written in this way will be very large and the computer will not run. My personal understanding is that based on the simplicity and uniqueness of computer 0 1, artificial intelligence in the true sense is still difficult to realize. For example, in this specific application, the input of Li Shishi vs Alpha Dog, which was very popular before, is very simple. The player's state is also very simple, and the power of 2 is 16* 16. In this complexity, there is certainly no way to list them one by one. They will have various algorithms to cluster them.
# # # # Deep learning
The data mining mentioned above will have a process of adjusting parameters, and in the field of deep learning, he will add a positive feedback, so that your parameters can be automatically adjusted by the machine, and the calculated results can automatically match the actual results. This is the so-called machine learning, that is, the process of manually adjusting parameters is automatically completed by the machine.
In addition, artificial intelligence, deep learning and data mining are not viewed separately, and they will overlap to some extent. In fact, their real difficulties are various dimensionality reduction algorithms, probability theory, annealing and other mathematical fields. That's why they are half scientists.
# # # # Performance Efficiency Support
This is what algorithm engineer of the Internet does in a general sense. For example, I find the square root of a number. Now our programming is very simple, sqrt () will do. But if you read the source code of this, you will be surprised and interested in searching for it yourself. It is not derived from Newton's Leibniz formula. It is much more powerful than Newton and can improve the efficiency 100 times. This is just a very simple example. In practical application, when there is a large amount of calculation, it is time for them to play. In fact, most of these functions are also completed by background projects, but it is not excluded that large companies are similar to google, and fb will recruit ACM to support algorithms, with a high starting salary.
Here, I especially mention the person in charge of the efficiency project, the game engine engineer (at present, the open source unity3d is mainly used in China). Mainly doing 3D rendering, you need to have high attainments in computer graphics. Similar to the aerospace engine in the industrial crown. Game development is only a development in a specific direction, including client, web, pc, background, database operation and maintenance, etc. There is no need to give a lecture alone. However, game development engineers are generally tired, but their wages are also high. It is not unusual for the team of Yin and Yang teachers to estimate that this year's year-end award is 100 month.
# # # Member of the Association of Standardization Organizations
This is a little ... For example, American Institute of Electronic Engineering, 3GPP Association. They mainly formulate various standardized agreements. This level is too high. In a specific field, it is estimated that dozens of people all over the world can do it. People shouldn't care about the salary. And most of them are funded by the state or non-profit organizations, and they are not for profit anyway. For example, TCP/IP protocol formulation and 5G protocol formulation. I don't know. They are recruiting people, either university professors or industry leaders.
# # # Quantum Computer Engineer
This super crane, this is the pioneer, the computer of the future. As for what they do and how they do it, don't ask me, I don't know! ! !