Embedded Software Engineer
This is the largest category. It is common to implement certain specific functions based on the SoC system. Common chips are 51, ARM9, Cortex-M, MIPS-based SoC series, etc., which are basically based on hardware engineer design. There are too many types of software development on the board, as long as it is responsible for coding. Generally, C is used, and some may use C++. Therefore, the C language skills of students who want to work in this area must be solid.
Driver-engineer
This is a type of work that requires a lot of effort to learn, but if you learn well, you must eat it. Drive, as the name implies, is to let the hardware on the board run through the software. The simple driver is based on the streaking MCU to let the related hardware work through various peripherals, and more complicated is driven by the operating system. A simple MCU-based driver is better to learn, as long as the function registers of the relevant MCU are understood, the encoding can be implemented according to the relevant hardware function requirements. But as long as the operating system is on, it is another world. It is necessary to go deep into the kernel to learn, so it is recommended that students who want to be driven must learn C, operating system and digital knowledge.
Application layer software engineer
The application layer mentioned here refers to the application layer based on the operating system. Currently, the mainstream operating systems in the communication industry are uCos, Linux, and VxWorks. This aspect is mainly familiar with the various system call APIs of the OS. At the same time, it must have good programming skill and must know the operating system, thread, IPC, deadlock, and other operating system knowledge, programming to achieve various functions. I also need to understand network programming, familiar with the five-layer model, mainstream Layer 2 and Layer 3 protocols (ARP, PPP, ICMP, FTP, TCP, UDP, etc., refer to TCP/IP Explain 1), know the Linux system. Network calls related functions, understand the basic network programming model (blocking, multi-process, multi-threading, select and poll IO multiplexing), it is best to study the Linux kernel to see how it is implemented in the network functional. This programming ability is undoubted, C++ should be familiar, and data structure algorithms are also very important.
Protocol software engineer
Simply explain it is coding to implement various communication protocols. Speaking of the agreement, there are a lot of protocols in the TCP/IP protocol stack, and there are many protocols on the communication devices. Some mainstream routing protocols such as RIP, OSPF, ISIS and other hundreds of pages of RFC documents will let You have a headache, but fortunately, most communication companies buy the mature code and code the gospel of the hard-working people. This aspect is mainly familiar with the function of the switch router, what is the concept of MAC address, VLAN forwarding table, IP routing, and then familiar with the specific protocol, the protocol here mainly refers to relatively large protocols, such as OSPF, ISIS, BGP, MPLS, LDP, RSVP, L2 VPN, L3 VPN, etc. These protocols are required by a company for more than a dozen people. Each state machine, protocol message, and implementation algorithm must be implemented and familiar with. Engage in this industry C language is good, network programming should be familiar, and English is also very important, otherwise, hundreds of pages of RFC documents will make you vomit blood. But I also mentioned the shortcomings, that is, the direction is too narrow, not suitable for all technical homes.
Field Application Engineer
Popular point is the technical support engineer. The people who work in this position are generally transferred from research and development, and they used to work on chip drivers. They are familiar with one or several communication chips, such as Broadcom, and then do these things when you don't want to write code. The technical support of the chip, if a company uses the chip you support, some problems cannot be solved and looking for you as an emergency. As far as I know, FAE's salary is very high, and there are two or three such people in a region, so there is a high demand for human R&D capability. However, if you can engage in FAE, the office is relatively free. If you are okay, you can with as Soho, send e-mails, make phone calls, and then go to the site to support it.
Network Engineer
It is a variety of networking networks that understand the use of communication devices to organize networks with specific functional requirements. The mainstream devices are Cisco, Juniper, Huawei, ZTE, and Bonfire. This post needs to be familiar with the various routing protocols of communication, but you don't need to know the specific principle of the implementation of the protocol, you only need to know the function and specific configuration of the protocol. This position may require a series of certificates, such as CCNA, CCIE, CCNP, and various certifications of Huasan. I took a CCIE exam for a college student. (The exam fee is very expensive, the machine test + the written exam worth 18,000 at the time, and it went to Hong Kong to take the exam), after graduation, I work in a networking company, with an annual salary of 300 thousand. This post seems to have a lot of business trips, and the mobile phone must be turned on 24 hours because the engineering is not sure what the problem is, the first time is to find you
Hardware engineer
It is able to formulate the circuit board according to the needs, including the design of various circuits, the selection of electrical components, chip selection and so on. The working hardware knowledge in this area must be strong. What kind of electric power should be hand-in-hand, and you should be familiar with all kinds of commonly used electrical components and chips. Know what hardware is used to implement the functions, and also know how to draw PCBs. Say, various tools such as multi-meters, oscilloscopes like to grow on their own. Hardware engineers are more important to debug because hardware debugging is not like software, it must be on the board, and the hardware is a natural subject. Sometimes there are some weird problems that may be missed by newcomers, so I think the hardware engineer It is a very experienced business. But the hardware doesn't need to keep learning new things like software. The underlying knowledge changes not so fast.
RF engineer
It is responsible for wireless radio frequency technology. This business can be deep, first of all, generally engaged in RF is the microwave professional that is to learn the electromagnetic field and electromagnetic wave professional, this professional communication knows, the huge brain cells, anyway, the main class in the year is to study with the books. However, this industry has great potential. RFID is the core of the Internet of Things. If the RF engineer hardware is good and the software is also available, it is completely the top seller of the major RF chip manufacturing companies. The salary makes you drop your chin. Just a chip company in Wuhan, the monthly salary is close to 30 thousand, note that it is in Wuhan. Therefore, the hardware of the microwave professional students must understand, because according to what I have seen, the RF engineers are adjusting various boards every day. If the software is good enough, it is completely safe.
FPGA engineer
This is very important in the communications industry because data forwarding is not based on chips or on this, because FPGAs are parallel computing, fast enough. For example, protection switching such as OAM must use FPGA to achieve packet delivery, so as to achieve time performance requirements. At the same time, FPGA can be used to implement chip functions. For example, in my current company, there are many FPGA engineers developing their own forwarding chips. The FPGA uses the VHDL hardware language, and the number of electrical modules must be solid.
PCB board engineer
Is to draw the circuit board, this general hardware engineer will, but the big company has a special PCB special group, specializing in PCB wiring work
Therefore, if you want to be a good engineer and get CCIE certification slowly, SPOTO CCIE CLUB will prove their information is very useful.