Tongji University Software College Wan Dean talks about the industry

xiaoxiao2021-03-06  25

Tongji University Software Academy Wanshui talks about the source of choice:

Http://blog.9cbs.net/huangkw007/archive/2005/01/19/259855.aspx

First, about enterprise calculation direction

Enterprise computing is a slightly nice nice noun, mainly refers to enterprise information systems, such as ERP software (enterprise resource planning), CRM software (customer relationship management), SCM software (supply chain management, logistics software), Bank securities software, financial software, e-commerce / government (including various websites), data warehouses, data mining, business intelligence and other enterprise information management systems.

The demand for talents is obviously the largest quantity, because this is the most field of computer applications. It is:

(1) The demand for talents is very large, and the company is engaged in companies to account for most in IT companies. Unless there is no special long, it can always be found in this field.

(2) The entry threshold in this regard is relatively low (if your software is not very deep, you can consider this area)

(3) There are many companies in this area, and the big company must make a lot of money, so it will spend more effort on enterprise computing business. If the classmates of our classmates are currently experiencing Citicorp, HP, IBM, SAP, NEC, etc. A company in a field. If you want to find a relatively stable job in the future, you should have a lot of opportunities in this area.

But the disadvantages of doing this area are also obvious:

Due to the relatively low entry threshold in this area, although the demand in this area is the greatest, the competitors will be more in the future. You will find that even if he is not a professional person who has learned IT, maybe he sang a few months, doing it like a model. Especially when you are getting older, you may find that the young people behind may easily catch your level. If you will come abroad, you may find more and master of people in this area. Of course, if you have experienced experience in this field, you have reached a higher level (if you can design a software architecture), the price is always high. The main problem in the field of talent in this area is that there are too little experienced masters, and there are too many people.

Engaged in enterprise calculations, the most important skill type technology course is (1) J2EE architecture and program design (2) Large database system (such as Oracle) (3) Based on UML-based system analysis and design. If there is any important skill, you can also include XML and Web Service technology. If you have better mastery in these fields, you can't find your job. Especially in J2EE, J2EE has become the most important platform for business computing software development, and is also one of the most important courses of our hospital. Although the course can only be used as an elective course, we hope that our college students should learn J2EE courses, at least for future jobs for future work. It is also necessary to learn J2EE, and J2EE is one of the most important platforms, even if you don't want to engage in the field of corporate computing, even if you don't want to engage in business calculation fields. The same is true. Skills with computational relationships with corporate computing also include: DOT NET architecture and programming, software testing technology, software configuration management, which are higher levels of skills including data warehouse technology, components and middleware technology, design patterns, etc. Like communication protocol analysis and network program design, UNIX system management, etc. also is a course with some relationships. The 02-level fundamental business calculation course is not much, mainly J2EE, Oracle / MSSQL, UML and other enterprise computing fields have been completed (but I don't know how many students learn more, I will find work in the future. These skills are used when they are used. We will pronounced the XML and Web Service Technology, Software Configuration Management, etc. in this field. The business calculation field in this semester does not have many courses, but you should go deep into the j2ee, db, uml in the air time, be sure to have in-depth mastery in a certain field. Just follow the class, even if you have learned more courses, it is also the most important thing to drill it. Only one J2EE is a profound, enough for you, drilled it, you will find that you still have to learn more knowledge (including EJB, XML, Web Service, Design Pattern et al., Etc.). Although there are many talents that are engaged in enterprises, the following enterprise calculations are scarce talents at home and abroad:

(1) Master the large ERP system, mainly SAP systems, including SAP Basis or SAP ABAP (programming) or SAP function module implementation (especially financial module Fi). SAP consultant is the highest, and it is very difficult to find. Other large ERP systems, people who have large ERP software systems such as PeopleSoft, Oracle Finacial, J.D.edward, Siebel are also very valuable. The reason whose people in this regard are high, mainly because these software are very professional, especially large, it is difficult to have D version, only a large company (such as 500 world, more than 90%, using SAP), and There must be actual work experience to master. If a personal person is easy to have a chance to contact, then people in this area will usually be scarce. If you have the opportunity to contact the opportunity to learn these large ERP software systems, it is recommended that you can't hesitate, and will hold a gold rice bowl of a generation. In foreign abroad, people who will SAP pay special money. The object is rare, which is always the truth that is incremented. The value of SAP is not only because he is an ERP software, but it is reflected in modern enterprise management concepts (such as automatic raw material procurement and production plan according to order demand). Generally 500 companies will never be like many companies in China, using J2EE from head design enterprise ERP system (which is about to invest, and how to design it is perfect?), You will use SAP's mature ERP. software. Companies that can't afford SAP may use the J2EE to design the ERP system.

(2) Master IBM mainframe technology, such as S / 390 host, MVS operating system, JCL job control language, COBOL programming language, DB2 relational database or IMS hierarchical database, CISC middleware trading control system, etc. IBM mainframe special purpose technology. The five major banks in China, as well as the daemon's daemon's background system uses the above platform. The IBM large machine number is called never downtime and platform is relatively closed (so safely), so these requirements in continuous operation in 24 * 7 environments (Terminology Critical Applications) use IBM mainframes. The reason why talents in this regard is because people who will be larger are old people (people who have been IT before IT in the 1990s). The new graduates of the world cannot go to learn IBM mainframe (this is a relative "Ancient" technology), there is no newcomer to make up, and the bank's system must maintain it and the bank will continue to develop new businesses (such as new deposit varieties), although the absolute demand for IBM mainframe talents is not big, but Relatively constant, the bank is looking for new people in this area, it is difficult to find. If you find it, the Citi software will not spend so big to train our internship class (last year to train more than 20 people, I heard that the company will spend 10,000 yuan training fee). If you will come to abroad to find a job, the IBM mainframe may be one of the fields of the best work, and the guarantee is a big bank, etc., I have taught it before. Some classmates of 90-94 levels. Anyone who is engaged in large-scale machines after graduation, now has some good companies in foreign countries (several students jump to jump in various countries, simply flat). In fact, I I feel that our happiest classmates are classmates who do IBM mainframes in Citiban software. This opportunity is too rare. Our family 2 2 class is a classmate, and then give up the inquiry. The machine and very hard work, has not graduated, the company sent her to the development of a project abroad, became the project backbone, I think she chose is completely correct (01 female classmate just voluntarily abandoned the maintenance opportunity Going to Caranano to do a large machine, we wish her in the future. In fact, it is actively arranged by Citiban software and encourages employee to read the postgraduate graduate. This way, the company is not very good, and in-service research is also a good choice. It will not lose your favorite internship opportunities, you can take care of it), and read the ultimate goal of reading. If you are looking for work abroad, no one is a diploma, foreign companies will never spend money, only People who have a field work experience can be used immediately, with the least amount of money to complete the project in a limited time. And in China, because of the low cost, the company recruits a lot of high-education talents, although it may not be used at all Education, but the domestic human resources are too cheap, why don't you consume talents? So the company's facade is better. (3) Other people who have a data warehouse technology are rare in China. The most mainstream data warehouse platform should be Oracle's data warehouse tools. People in foreign countries, people in special data warehouses, people, such as NCR / TEREDATA It is very hard to find.

Our classmates are now very light, young people are passionate, like to chase some popular technology, this is of course correct, after all, there are not many opportunities for SAP and large machines, it is important to find a job first. But I believe that with the growth of age, everyone will think slowly, master a competitor's importance, and in the future, if you go abroad, what technology is best to find a job (for software to work abroad Or immigrants are the easiest, maybe you don't want it now, but I believe that many students may think of foreign countries to think about it, you have to consider the outline of your life, what kind of stunts are the most stable and easiest and highest income People who engage in software, when you age, you may have more experience to eat more than yourself, don't have to chase a new technology, you have to chase the continuous software new technology. This time maybe you will find that if you have some stunt in SAP or mainframe, you will have great advantages, because these more technical changes are relatively slow.

I still remember that in 2000 I have worked with a Germans to interview some IT talents to Germany. At that time, there were a lot of demands from each German company to SAP and IBM, we appointed Finally, I didn't find an experience in this regard, even some experience. On the contrary, people who master pop technologies are too much not very valuable.

When our classmates will find a job, we must not only stare at the domestic market, but also have a global eye. You can go to other countries in the future. Especially in Europe, America, Japan, Singapore, etc. The demand for SAP (including IBM mainframe) talents is very large. After all, more than classmates have been seen, reminding students to pay more attention to learning these stunts, once there is a chance to recommend that they don't let. Domestic talent market can visit www.51job.com, foreign IT talent demand can visit www.hotjobs.com, Www.workopolis.com, www.monster.com and other famous websites. These websites should be accessed often to understand the specific needs of talents, early do early. The above viewpoints are available for the view of the enterprise calculation. Although the view is not necessarily correct, it is indeed a straightforward. In short, everyone's head is growing on his neck, everyone should have their own judgment.

Also note that I am purely from the perspective of employment in the future. If you are ready to study abroad, you should pay attention to the basic class, like C, Assembly, OPEating System, Data Structure, Opeating System, Database Princi, Network, Software Engineering, Computer, Digital Circuit, Computer Graphics, Computer Component and Architecture, etc. Remind students, if you apply for foreign universities in the future, when you apply for a foreign university, you have to go to work, if you only spend the foundation of these IT students, there is no skill like J2EE. Technology, it is not easy to find a job, we have learned such a lesson. From the perspective of finding a job, companies are not what kind of course you have learned, but what you can do, what skills can you do.

Second, about embedded system

The embedded system is undoubtedly one of the most popular IT applications in the most popular IT application. Embedded systems are used on some specific dedicated devices, usually hardware resources such as processors, memory, etc., are very sensitive to cost, sometimes high in real-time response. Especially with the intelligence of consumer appliances, embedding is more important. Mobile phone, PDA, electronic dictionary, Visual Phone, VCD / DVD / MP3 Player, Digital Camera (DC), Digital Camera (DV), U-Disk, Set Top Box, HDTV (SET TOP BOX) HDTV), gaming machine, smart toys, switches, routers, CNC devices or instruments, automotive electronics, home appliance control systems, medical instruments, aerospace equipment, etc. are typical embedded systems.

The embedded system is a hard-bonded thing, and there are two types of embedded development.

One is a person who has been self-employed by secondary hardware and other hardware professionals. They are mainly hardware design, sometimes to develop the most closely cutting software with hardware relationships, such as bootloader, BiOS like PCs. , Drive hardware, support the operating system, the initial hardware driver, etc. Their advantage is that hardware principles are very clear, and insufficient is that they are more good at defining various hardware interfaces, but the complex software systems often do not from heart (such as embedded operating system principles and complex applications, etc.).

Another category is a person who has been born in computer professionals, mainly engaged in the development of embedded operating systems and applications. If the people in our software have better masters for hardware principles and interfaces, we can also write BSP and hardware drivers. After the embedded hardware is designed, various functions are all implemented, and the value of embedded devices is largely dependent on embedded software, which accounts for the most important work of the embedded system (currently there are many companies to put hardware. It is designed to give special hardware companies. Take a slightly complex hardware is handed over to Taiwan or foreign company. The domestic hardware design is very weak. Many embedded companies are only responsible for developing software because the company knows that the difference between embedded products Large extent on the software, in software, the most "tap" can do), so our software does not have to worry about our use of martial arts in the embedded market, the more intelligent equipment, the more complex system, The more the software is getting critical, and this is the current trend. The benefits of engaging in embedded software development are:

(1) People at home and abroad are very scarce. On the one hand, it is because the gateway threshold is high, not only should understand the underlying software (such as operating system level, driver-level software), which requires higher software professional level (embedded system to software design time and spatial efficiency) It is required to be high), and it is necessary to understand the hardware work principle, so non-professional IT staff is difficult to cut into this field; on the other hand, because this field is new, the current development is too fast, many hardware and software technologies have no longer time Or being appearing (such as ARM processor, embedded operating system, MPEG technology, wireless communication protocol, etc.), some people who have mastered these new technologies are of course very found. The embedded talents are scarce, the price is naturally high, the higher the experience price. In fact, embedded talents are rare, and the root cause may be that most people have unconditionally contact, which requires corresponding embedded development boards and software, and there are additional people to guide the development process.

(2) Unlike applications such as enterprise calculations, the work intensity of talents in embedded areas is usually low (but not less income). IT companies that engage in enterprise applications, this user's system is finished, and you have to get a user, and each user needs to change according to customer requirements, often exhausted, repeat labor. In contrast, engage in embedded systems, have their own product plans, act according to their own rhythm. The products developed are usually common and will not be modified due to customers. One product model is developed, often has a longer idle time (or only small repairs for software), and there is time to charge and rest. In addition, each person engaged in embedded software is relatively narrow, the professional technology involved is those (ARM, RTOS, MPEG, 802.11, etc.), the time long, the more experience, the more experience, sell the old, Several guidance is also enough to make those junior junctions for half a year. If you engage in application software, you may have the next customer to replace a completely different software development platform, it will suffer.

(3) If you want to start a business, if you want to start your business, you can engage in products, then embedded is a good idea, which is not as easy as the application. The Civil Academy has a company named Qiming Star to develop a handheld PDA called "Engineering E" (there is an advertisement at the entrance of the South Campus). Construction technicians use this PDA to make civilian budget and other civil calculations on the spot. Great. I know a university teacher, the à la carte PDA (Wince platform, wireless network and online), which is developed, according to him saying that the market is good, and the restaurant is dotted to let the customer order, multi-graphic grade. I remember that a group of class 2 2 classes has designed a strong à la carte system as a course project with VC when learning the Windows program design course. At that time, they really want to suggest that they make this software into PDA, and it is estimated that there will be some The sales (MacDonald, Shanghai Railway Station, using very beautiful PDA to give the user to the user, like touching the same.). The hardware design of these PDAs is generally invited to customize other companies (this is called "OEM": OEM), all of which are common hardware, and we only design software into their own products. The disadvantage of engaging in embedded software is:

(1) The starting point of the entry is high, and the techniques used often have a certain difficulty. If the hardware foundation is not good, especially the operating system level software is not deep, it may not be suitable for this line.

(2) The number of companies in this area is far less than enterprise computational enterprises. In particular, the number of small companies engaged in embedded small enterprises (small businesses must engage in their own products), less famous companies (engaging in embedded large companies have Intel, Motorola, Ti, Philip, Samsung, Sony, Futjtum, Bell-Alcatel, STMicroelectronics, Microtek, Advantech, Huawei, Zhongxing Communication, Shanggang and other manufacturing enterprises). The customary thinking of these companies is to find someone in electronics, communications, etc. Since our previous graduates are mainly based on business calculations, our hospital is relatively small. Our institute is actively working, and there is currently a link to some of the companies, and strive to have a classmate in these companies in the future.

(3) There are a few companies often have a master's degree in embedding, mainly based on embedded difficulty. But most companies also have no such requirements, as long as they have experience.

If the students studying embedded, the classmates should be deserved from embedded software, especially in terms of embedded operating systems, should be our strength. For those who engage in embedded software, the most important technology is obviously (in fact, many companies' recruitment advertisements are written):

(1) Master the structure and principles of mainstream embedded microprocessors

(2) Must master an embedded operating system

(3) Must be familiar with the embedded software development process and do at least one embedded software project.

The most important courses in embedded software in our hospital include:

(1) Embedded microprocessor structure and application: This is an embedded hardware basic course. Our college replaces the traditional "microcomputer principle and interface" course (currently there have been small in China. Because it is difficult to find the actual use of X86 microcomputer, it is only for teaching. We have said that embedded is the technology combined with hardware and software, and people who engage in embedded software should fully understand the working principle and interface technology of ARM processor, including ArM's assembly instruction system. If you don't understand the processor principle, how can you control hardware jobs, how to write the optimal code that saves memory and runs high-speed (especially time-space efficiency), how to write drivers (drivers are hardware Deal with it? Many companies recruit embedded software personnel require familiarity with the ARM processor. If you are engaged in embedded software development in the company, the company will give you a hardware specification manual of the device (XXX Specification), you must understand it. The most basic description such as memory distribution and port use (like X86 assembly), otherwise how to design software. Some students think that the embedded processor course is boring, mainly because the hardware courses are more abstract, and after our embedded laboratories are built in October, you will find some experiments. . There are also students who are not interested in ARM compilation, thinking that embedded development C language is sufficient. In fact, it should not only be used as a programming language in a programming language, and the studio is mainly to master the processor working principle. A person who is not familiar with the assembly language, how can the optimal C language code in this processor. Some key parts developed in embedded development, sometimes must be written, such as bootloader et al. (May also include BSP). Especially when there is very high requirements for speed (such as the high-speed image acquisition and image of the DSP processor), it is mainly necessary to write a program (I have seen many companies). When you work in an embedded company, when you use the principle of descriptors, you may have a compilation (I have encountered), because many hardware designers will only write or like to describe with compilation, At this point you must understand the assembler, otherwise hardware and software may not communicate. Many embedded positions are required to be familiar with compilation.

[Small Knowledge] Currently embedded processors are common with ARM, PowerPC, MIPS, MOTOROLA 68K, COLDFIRE (Cold), etc., but ARM accounts for absolute mainstream (the information said that almost 100% of the phone is ARM processor). ARM is a company that only sells intellectual property. There are many companies that have purchased ARM CPU nuclear licenses, including Intel, Samsung, Amstel, Motorola, Philip, etc. They all peripheral extensions on the ARM CPU core. To form your own processor (such as Samsung S3C2410, Motorola I.MXL9328, all processors, using ARM 9 kernels, the command level is the same). Many Small and small companies have purchased these processors, designed a variety of development boards, such as China's domestic famous embedded companies produce SAMSUNG S3C2410 development boards for end users or teaching experiments. On the food chain of ARM, ARM is a big fish, Intel, Samsung and other companies are small fish, and Huaheng is a shrimp, and the end user (I want to buy a laboratory of embedded development boards) is feeding shrimp. Intel produces low-end ARM (Strong ARM, equivalent to ARM 7), now turning to mainly producing high-end ARM (ie Intel Xscale processor, equivalent to ARM 10, mainly used on high-end PDA, such as HP and Dell production PDA Intel Xscale, high prices). The most current application is ARM 7 and ARM 9 two types of processors. ARM 7 is cheaper, run UCLinux (is an embedded Linux system that does not support advanced memory management), VxWorks, UC / OS II, etc. Real-time operating system, but due to the processor without a memory management unit MMU (no internal memory and Address mapping mechanism, so you can't use virtual memory), so you can't run Windows CE, and some memory management functions in universal Linux cannot be used on ARM 7. ARM 9 is a high-end processor with MMU functions, which can run WinCE or general Linux. The above is something I understand, there may be no places. Our college is building an embedded laboratory (at the end of October) includes 30 sets of ARM 7 systems (intended to use Samsung S3C44B0X development board, mainly used for embedded processor structure, embedded Linux course experiments), 10 sets of ARM 9 systems (It is proposed to use Samsung S3C2410X development board, mainly for Windows CE course construction), each set of experimental boards allocated high-speed emulator, the price is very expensive (more expensive than our Dell PC), it is easy to damage, classmates should care use. (2) Embedded operating system class courses

In addition to the real-time difference between WinCE, most embedded operating systems are very real, so they can also be called real-time operating system REAL TIME OPERATING SYSTEM. People engaged in embedded people must at least master an embedded operating system (of course Master two better), which is the most critical in all techniques of embedded. The most important RTOS currently includes:

The first class, traditional classic RTOS: The most important is the VxWorks operating system, as well as its Tornado development platform. VxWorks has a high real-time due to the appearance (it is said to respond to external event requests within 1ms), and the kernel can be very slightly (it is said to be 8K), the reliability is higher, so in North America, VxWorks accounts for embedded systems. Most halfway. Especially in systems such as real-time requirements such as communication devices, almost non-VxWorks. Many of VxWorks is very similar to Linux, mainly C language development. Like Bell-Alcatel, Lucent, Huawei and other communication companies have a lot of VxWorks when developing products. However, VxWorks is often used in small companies or small products due to high prices. At present, many companies are in embedded Linux (I heard that Huawei is currently turning this). But in any case, VxWorks is still unmovable in a long period of time. A slightly famous real-time operating system similar to VxWorks also PSOS, QNX, Nucleus and other RTOS. Class II, Embedded Linux Operating System: Linux's future In addition to the server operating system, the most successful use of the application in the embedded field, of course, free, open source, support software, the public, such embedding The cost of product will be low. Linux itself is not an operating system for embedded design, not a microennote, and is not in real time. There are two main types of Linux systems currently applied to embedded areas: a Class of UCLinux (without MMU functions) that is most commonly used in embedded design. It can be run on ARM 7; the other is on ARM 9, which is generally transplanted on the Linux 2.4.18 kernel to use more Linux function (of course, uclinux is more running on ARM 9). Many people predict that embedded Linux is expected to be more important than 50% of the embedded operating system. The disadvantage is that it is too small to familiar with Linux, and the development is slightly large. In addition, we can find that many textbooks and many universities are in real-time operating systems with UCOS / II as teaching, mainly because UCOS / II is simple, and open source, very suitable for entry practices to learn real-time operating system principles, but due to UCOS / The II function is limited, and the practical use is small, so our hospital does not use it as a teaching focus. It should be learned directly, such as uclinux is very practical. Moreover, familiar with Linux development, not only useful in the embedded field, but also helps to develop Linux applications, the understanding of the deepening operating system is also helpful. As far as I know, INTEL, Philip is engaged in ARM Linux embedded development, Fujitum is a big Linux development on his own processor. At present, in the field of embedded Linux, the following aspects are particularly difficult, one is to transplant Linux to a new model; second, people who can write Linux drivers; third is to familiarize with Linux kernel cuts and Optimized person. Our class series in this embedded Linux is: undergraduate operating system must repair lessons, then the Linux program is designed and elective class, and finally the embedded Linux system elective course. Our hospital has currently has strong power in Linux, and Teacher Wei and Zhang are familiar with Linux development, Mr. Tang and Tang Tang are familiar with Linux system management.

Third category, Windows CE embedded operating system: Microsoft also sees the embedded huge market, MS is always the most powerful, Wince is only a few years, but it has already occupied a large market share, especially in PDA , Mobile phones, display instruments, etc. The interface requires high or requires rapid development. Wince is currently very popular (it is said that there is a company's board of company to sell too well, and even if it is not asked to cut Wince for customers). WinCE is currently 4.2 (.NET), the development platform is mainly Wince Platform Builder, sometimes also develops some of the upper-level applications with EVC environment, because WinCE development is a familiar VC environment, so our hospital has learned a Windows program design There will be many difficulties in class students, which is the reason for WinCE easy to be accepted by people, the development environment is convenient and fast, Microsoft's powerful technical support, WinCE development is far lower than embedded Linux. For development occasions that are eager to complete, WinCe is the most suitable (people who find embedded Linux can be found), after all, the company can't try it like students, and ensure that development is more important. According to the different side focus, Wince has two special versions, one is the MS PocketPC operating system is dedicated to the PDA (handheld), the other is the MS Smartphone operating system for smartphones (mobile phones with PDA feature), two It also belongs to the WinCe platform. In the PDA and mobile phone market, in addition to Wince, the famous PDA embedded operating system is also Palm OS (very early, very famous), Symbian, but under the strong impact of WinCe, Palm and Symbian can still how long? Our school may be the only school in colleges and universities in colleges and universities. This is primarily based on the following reasons: our hospital itself has a Windows program design course. Students have learned VC and then learn Wince. It is very convenient to naturally understand the general development process of embedded software, which is also very suitable for Linux. Obviously, embedded Linux will never replace Wince, and it is difficult to say in the future, after all, many people are more willing to accept MS platform, just like governments that have pushed Linux for a long time, but you Can you see several users who really use Linux on the PC? According to I observe, I am currently called the embedded platform, but it is still useful for WinCE. Embedded Linux may be more companies with long-term product plans, long-term considerations for reducing costs Second, the Microsoft Asian Institute's support plan for our WINCE course, and we also hope that in the future, our hospital can learn to internship through Microsoft interview. WinCE and multimedia (such as MPEG technology) are one of the technical fields of the Microsoft Asian Academy of Asian Academy of Asia, and they need someone who is proficient in WinCe. Summary about embedded operating system class courses, if you feel that your skills are deep and can be drilled, you can go to the embedded Linux; if you feel that you feel good at the bottom of your VC , you will learn the embedded development, then our hospital WINCE The course is the best choice.

(3) Other related software courses in embedded development

In some main areas of embedded applications, in the embedded application, such people are more popular. The main related fields include:

A, Digital Image Compression Technology: This is one of the foundations of embedded most important and most popular applications, mainly to master MPEG codec algorithms and techniques, such as DVD, MP3, PDA, high-precision TV, set-top box, etc., involving MPEG high-speed decoding problem. To this end, our hospital has booked a Ph.D. in which digital image processing courses. B, Communication Protocol and Programming Technology: This includes traditional TCP / IP protocols and popular wireless communication protocols. First, most embedded devices should be connected to the LAN or Internet, so we should first grasp the TCP / IP protocol and its programming. This is the basic technology that needs to be mastered; secondly, wireless communication is currently a big trend, so master wireless communication The agreement and programming are also very important. Non-rising communication protocols include wireless local area network communication protocols 802.11 series, Bluetooth, and mobile communication (such as GPRS, GSM, CDMA, etc.).

C, network and information security technology: such as encryption technology, digital certificate CA, etc. Our hospital has this elective course.

D, DSP technology: DSP is the meaning of Digital Signal Process digital signal processing, DSP processor implements digital signal processing algorithms through hardware, such as high-speed data acquisition, compression, decompression, communication, etc. Digital signal processing is a professional course such as electronics, communication, etc. For software, if you can understand the best. Currently DSP talent is lacking. If there is a signal and system, digital signal processing and other courses, there is a great help for learning the MPEG codec principle.

(4) Related hardware foundations of embedded development

For students in software engineering, engage in embedded software development, like digital circuits, computer composition, embedded microprocessor structures, etc. are more important. In addition, software basic courses such as assembly language, C / C , data structure, and algorithms, especially operating systems are also very important. Our main purpose is to understand hardware working principles, but the focus should be in embedded software, special operating system level software, which will be our advantage.

Some of our graduate students are learning electronics, communications majors, with better analog circuits and single-chip bases, and is very suitable. The embedded itself is developed from the single chip microcomputer, but the single-chip microcomputer does not have an OS, and now many embedded applications are increasingly complex, so that the embedded operating system has to be introduced. In addition, in order to pursue a higher speed signal processing speed, now there are fewer speeds to implement some DSP algorithms, such as MPEG compression decompression algorithms, etc., which involves HDL digital circuitry. Design technology and its FPGA / IP core real technology, the people in this area are also lacking in the market.

(5) Questional out

In addition, people who can write drivers are currently very shortage (drivers can also be attributed to embedded categories), including DDK development environment and WDM drivers in desktop Windows. The company has to launch new products every time, each new product is coming out, and it is necessary to be used by the operating system, it is necessary to write the driver. Write drivers must master the internal working principle of operating systems (such as Windows or Linux), but also involve a small amount of hardware knowledge, the difficulty is difficult, so people in this area are hard to find. I want to be a master's classmates, but also a breakthrough from the driver. I can talk about my own experience, three years ago, I have written the Wince driver in a company (it is because I know this in this area), even though I have never done it before. After the driver, it is precise to see that the company is difficult to recruit in this area. Since you can't find someone, you have to do anyone, this is what you have chance to cut into this field. . At the time of the interview, I've been written in the interview. I have written the computer working principle. I have written I have read two English original books on Windows Driver Model. I have written several small drivers. Exercise procedures (in fact, we have never been written, our classmates will not be like me, the early exercise will have some hard work, so I don't have to fall to me, I don't have to go to "deceive" company, I This is a typical anti-compilation material), actually all PASS (of course, the most important thing is that the written test and the interview question are also said), this can only explain the difficulty of finding people in this area. The company did not expect to find a driver, and find a related foundation. After doing it, it is not difficult to find it. In fact, it is very comfortable to engage in the work of the driver. It will be empty for a period of time. Only after the company's new chip is launched or the new OS will need to develop a new version of the driver, there is near one The month is idle, waiting for Wince .NET Beta version, ready to upgrade the driver to the CE .NET, now work in the software college whole day, unlimited night.

Coincidentally, I have never been able to experience the embedded charm again. Last week I used a 3 year mobile phone finally can't work. This update, in addition to requesting a common function of mobile phones, it is best to have MP3 function (now many English listening has MP3 files), it is best to have English-Chinese dictionary, it is best to read Word documents. Finally, I chose the cheapest mobile phone DOPOD 515 that satisfies the above conditions (I think about 2.2k, but I think this is also my own support for embedded careers, so I want to open), calculate the lowest-level smartphone. . Come back, the mobile phone's About shows that this mobile phone processor is ARM, and its OS is MS Smartphone (ie Wince .NET 4.2), which is coincidental, which is simply a product case with embedded courses (waiting for our WinCe course. After the sound is colored, I hope to have some SmartPhone from the Microsoft Research Institute to develop and develop). There are OS mobile phones, Sninns, Word, Excel, regedit, etc., there are SMARTPHONE editions, MP3, DOC, etc. on the PC, can be automatically converted into Smartphone format when Download, and it is really cool. Fully available with Windows CEs to develop some needed program Download to your mobile phone. Now the market sells PDA smartphones hot, MS is always a financial source. But I have found that domestic ARM Linux phones appear on the market, the price is only 1.2K. On the Google online can search too much about the discussion of the embedded system, I just found a

http://www.embyte.com

Very good, there are many experiencers talk about their experiences, in the forum, you will feel embedded learning boom.

Either take ARM WINCE, either take ARM Linux, or leave ARM VXWORKS. Each embedded person can choose a road, and the road is the road to Rome.

Disclaimer: The above interpretation is estimated to be wrong, and the teachers are most authoritative, and everything is based on the teacher.

Third, about the game software direction Published in: 2004-10-01 02:37:41 Source: bbs.tongji.net

Talents of the game software are called digital media software talents may be better, including game software planning (the most missing game planned people), game software art design, game software program design, etc., for software colleges, game software programs The design is of course the most appropriate. The game software talent is indeed very lacking. I heard that many game software companies have completed no new talents, especially without experts, have to dig talents to each other, so that the game software talent value is getting higher. On the Internet, the Japanese Ministry of Education has just approved the first undergraduate university specializing in Japan specializing in the four-year game software talents. In fact, many domestic universities, especially software colleges have the idea of ​​engaging in game software talents, but there are very few things that are made, the main reason is to find teachers who can play the game software class. I heard that there is a school. The big price is looking for a teacher from Korea. It is really lacked here? There have been many young people who have been sinking in online games and decadently, and they are not to rise to the height of the manufacture of spiritual poppies. Therefore, people who develop game software don't have to repel every day (but developing children's puzzle game software is not If you want to repel it), if you think this is to develop a national software industry, it is a meaningful thing. But listening to a boss of a game software company, it is very hard to engage in game software development. If you want to start your business, you can engage in game software is a good idea. Now online website or company is acquiring game software (especially mobile game software, because mobile game users can choose to Download to mobile phone on the website, unlike online games), all divided by DOWNLOAD or one-time acquisition. Does our classmates can also send some small fortune during the school? Get good, maybe you can sell foreign websites, earn $$! The rough game is divided into the following categories: (1) PC game, including stand-alone and online games. Such game development platforms are basically based on VC and DitRectx (such as DirectShow, DirectDraw, D3D, etc., DirectX data can be directly to the MS website). DirectX and OpenGL are two main graphics standards, OpenGL cross-platform (available on UNIX / Windows), although many people engaged in people are full of OpenGL, it is not worth it, but the truth is in Windows On the platform, DirectX is the fastest and most convenient, so the game on the Windows platform is still DirectX. (2) Mobile games: Current mobile games main development platforms have two categories: The first type of mobile game is a JAVA 2 Micro Edition. J2ME is a Java designed for embedded platform, but Java virtual is required because Java is born. The machine (JVM) is explained, so it is rarely used in embedded products to use J2ME (too slowly). But in the mobile game, J2Me has been used in the place, I think this may be mainly the reason why Java can cross the OS platform, because the mobile phone's OS is a strange. I have completely arranged J2ME, but I've listened to Square Enix people said that J2EE has learned from J2EE to learn from our classmates. As far as I know, there are more Kjava languages ​​in the current mobile phone. Kjava is running on an interpreter called K Java Virtual Machine (K JVM is a demo J2ME in the Embedded system application. Virtual machine), so J2ME running on K JVM is called Kjava.

Although Sun said that in the future, it is not guaranteed to support K JVM, will develop new higher performance J2ME virtual machines, but because Kjava appears earlier, many early mobile game software will k JVM imperative to become the standard of J2ME virtual machines, so There is currently a large number of KJAVA mobile game software, and it is still developing with Kjava. In particular, Japan's mobile game software has been developed earlier (like the biggest telecom operator mobile game like Docomi), mostly based on Kjava. Therefore, when the market is currently recruiting mobile game software talents, many requirements are required to master KJAVA. Please find information on Sun's website about J2ME. Another type of mobile game is a BREW platform. BREW is the US Qualcomm Company (CDMA core technology is developed by the company. There are countless mobile communication technology patents), which is said to be compiled into binary code, which is of course fast. The main development language is C / C . But forced to be accused of a relatively closed pressure, QUALCOMM has launched the J2ME virtual machine on the BREW platform (but imagine how it will be slow). QUALCOMM has set a lot of mobile phone manufacturers to sign the Brew authorized license agreement. The most embarrassment is that QUALCOMM and China Unicom are tied to Brew-based mobile games, so some company recruitment is not surprising. Last year, No. 2 2 graduation, there is a classmate to say the Kjava game in the company (That is a Japanese game software company), and a classmate is talking about another company's Brew game, it seems Different companies have different options. Who will be more fire in the future, I mean that with the continuous improvement of mobile phone hardware resources, it will not care about a JVM overhead. J2ME should be more promising, after all, it is more open. (3) Special game console: such as TV games, Xbox, etc., I don't know much, but these games are too biased. Classmates can see server //10.60.36.148/public files / intern documents (Student Internship Data) / Daewoo Information Co., Ltd. Sex. As we can see that the demand for talents is mainly the following technologies: (1) Computer graphics, especially 3D programming and algorithms, including DirectX or OpenGL. The development platform is VC / DirectX or KJAVA. (2) The company said that the mobile game must compress the image due to limited mobile phone resources, so if some image compression algorithm is better. If there is a MPEG compression algorithm, the mobile phone is used to compress some special algorithms than MPEG, but touch the class bypass. (3) TCP / IP Socket programming is to engage in online game development must be mastered. (4) Artificial intelligence knowledge: complex games may need some AI algorithms. (5) Network and information security knowledge: online games should be prevented. The company's online game server is based on the Linux platform, so it also proposes the technical needs of the game server software engineer (proficient in MSSQL, Oracle, MySQL, etc., Jing Linux Programming, especially Socket programming). There is also a need for the maintenance of game website (ASP .NET and database). Please ask your classmates to see the server yourself.

转载请注明原文地址:https://www.9cbs.com/read-65462.html

New Post(0)