search
HomeCommon ProblemWhat is the profession of a programmer?

What is the profession of a programmer?

Jun 12, 2020 pm 03:50 PM
programmer

What is the profession of a programmer?

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.