What is the profession of a programmer?
Programmers include computer majors, software development majors, electronic information majors, communications majors, software engineering, etc. Programmers have a wide range, mainly including software design and program coding. Large category, today's office technicians can also be called programmers.
Necessary skills for programmers
1. Proficient in development tools
As a programmer, at least Being proficient in the use of two to three development tools is the foundation of a programmer. Among them, C/C and JAVA are the most recommended development tools. C/C has become the most popular development tool due to its high efficiency and high flexibility. A powerful tool, many system-level software are still written in C/C. JAVA's cross-platform and good integration with WEB are the advantages of JAVA, and JAVA, its related technology set JAVAOne, is likely to become one of the mainstream development tools in the future. Secondly, it would be better to master a simple visual development tool, such as VB, PowerBuilder, Delphi, CBuilder. These development tools reduce the difficulty of development and can strengthen the concept of the programmer's object model. In addition, you need to master basic scripting languages, such as shell, perl, etc., and at least be able to read these script codes.
2. Familiar with the database
Why is the database so important? As programmers, they naturally have their own reasons: many applications are centered on database data, and there are many database products. Among them, relational databases are still the mainstream form, so programmers are proficient in at least one or two databases. , you must be very clear about the key elements of relational databases, and you must be proficient in the basic syntax of SQL. Although many database products provide visual database management tools, SQL is the foundation and the universal database operation method. If you do not have access to commercial database systems, it is a good choice to use free database products, such as mySQL, Postgres, etc.
3. Understand the operating system
The current mainstream operating systems are Windows and Linux/Unix. It is necessary to be proficient in using these operating systems, but these alone are not enough. To become a true programming master, you need to have an in-depth understanding of the operating system, its memory management mechanism, process/thread scheduling, signals, kernel objects, system calls, protocol stack implementation, etc. As an operating system for developing source code, Linux is a good learning platform. Linux has almost all the characteristics of modern operating systems. Although there is less information on the kernel implementation mechanism of Windows systems, a lot of information can still be obtained through the Internet. Understand the network protocol TCP/IP.
Today, when the Internet is so popular, if you have not had a good grasp of the TCP/IP protocol stack, the supporting protocol of the Internet, you need to quickly catch up on this lesson. Network technology has changed the way software runs. model, from the earliest client/server structure, to today's WEBServices, to future grid computing, all of this is inseparable from the network protocol support based on the TCP/IP protocol stack. It is very important to have a deep understanding of the TCP/IP protocol. necessary. At least, you need to understand the ISO seven-layer protocol model, the principles of common protocols such as IP/UDP/TCP/HTTP, and the three-way handshake mechanism.
4. Understand the significance of the existence of DCOM/CORBA/XML/WEBServices
With the development of technology, the seamless integration of software and network is an inevitable trend, and the location independence of software systems is the future One of the important features of the computing model is that DCOM/CORBA is an intermediate platform for the two current mainstream distributed computing. DCOM is an extension of Microsoft COM (Component Object Model), and CORBA is a specification supported by OMG. The importance of XML/WebServices is self-evident. XML is known as the "Esperanto" on the Internet with its structured representation method and super expressive ability, and is one of the cornerstones of distributed computing.
5. Don’t separate software engineering from CMM
In the development of large-scale software systems, engineering development control replaces personal heroism and becomes the guarantee for the success of the software system. A programming master does not You must be an excellent programmer. An excellent programmer combines excellent programming abilities and development skills with strict software engineering thinking. Programming is only one part of the software life cycle. An excellent programmer should master software development. Basic skills at each stage, such as market analysis, feasibility analysis, demand analysis, structural design, detailed design, software testing, etc.
7. Requirements understanding ability
Programmers must be able to correctly understand the requirements described in the task order. It should be clear here that programmers should not only pay attention to the functional requirements of the software, but also pay attention to the performance requirements of the software. They must be able to correctly evaluate the impact and potential threats of their modules on the entire project. If there are two to three years If a skilled programmer with project experience does not understand this, it can only mean that he may have worked seriously, but not with heart.
8. Modular thinking ability
As an excellent programmer, his thinking cannot be limited to the current work tasks. He must think about whether the modules he writes can exist independently of the current system and be directly encapsulated in other systems or other modules. use. This can make the code reusable, reduce duplication of labor, and make the system structure more reasonable. The improvement of modular thinking ability is an important indicator of the improvement of a programmer's technical level.
Recommended tutorial: "PHP"
The above is the detailed content of What is the profession of a programmer?. For more information, please follow other related articles on the PHP Chinese website!