Home Backend Development PHP Tutorial In the face of new languages ​​and job changes, how can programmers maintain their technical advantage?

In the face of new languages ​​and job changes, how can programmers maintain their technical advantage?

Jul 25, 2016 am 09:02 AM


What is the half-life of a programmer’s knowledge? Usually people often say 5 years. In other words, half of what you know about programming will be obsolete in 5 years. A similar sentiment is, "Programming sucks because nothing you knew a few years ago is useful now."
At first glance, this seems reasonable. After all, there are always new programming languages ​​and technologies popping up. However, I think the above view is incorrect. Programming knowledge has a longer useful life than some people realize.
Syntax is not difficult
Start learning a new programming language. For non-programmers, learning Python when you know Java is like learning French when you know English. Of course, programming learning is not exactly like this. There will be new syntax to learn, but this is just a little difficult on the surface. The core concepts of all programming languages ​​are the same.
Writing a program in any language, you will use basic knowledge like types, data structures and logic. If you already know Boolean functions, integers, floating point numbers, and strings, these types will be used similarly in the new language. Of course, data structures like lists, sets, dictionaries, and directory trees are the same, and the logic you use will also be arithmetic operations, if statements, loops, function calls, etc.
In addition, key skills such as which algorithm to use, how to decompose the problem, and the naming of variables and functions can be directly applied in the new language. These are common programming knowledge in various programming languages. To borrow a term from "No Silver Bullet": "The syntax of a language is incidental knowledge, but how to program is crucial knowledge."
The same goes for libraries and tools. Even if you have no idea how regular expressions are used in the new language, you know what they most likely support. It's not hard to find the knowledge about how to use them, it's the use of them that's hard, and that's the valuable knowledge. The same is true for tools like IDEs. You may not know the details, but you know what they can do.
So learning a new language is not a big deal, but if you change jobs, you may still have a lot to learn. I divide knowledge into the following 3 dimensions:
Three dimensions of knowledge
Programming: Knowledge at this level is programming languages, paradigms, technologies and tools. Like I said above, even though details like syntax may be completely different, a lot of the core concepts are the same across programming languages.
Domain: This is what you know about the environment used in programming. For example, if you work in telecommunications, it's about how various protocols work, how text messages are processed, how billing and monitoring are done, and so on. The longer you work in a department, the more you know about it and the greater your contribution is likely to be.
Code base: This depends on the company. When you've been at a company for a long time, you understand your programming style: you understand what gets done, what parts are tricky and unintuitive, why something is done in a certain way, The whole process of doing it in different ways and so on.
Live and learn
As a programmer, you are most valuable when your knowledge in the above three dimensions is sound. If you change jobs at this time, it is inevitable that you will know nothing about the new code base at the beginning, and you will have to start working and learning seriously.
However, even after you change jobs, the programming and domain knowledge you learned will still be useful. Knowing several programming languages ​​will give you more reference points and let you understand how things are done in different ways (even if the basic principles are the same). Generally speaking, it is also good to read more good books on software development.
Finally, I think part of what makes software development fun and exciting is that there's always something new to learn. You'll never get bored, so keep learning. Most of what you learn will just make you a better programmer, even though new programming languages ​​are being invented every year.
Receive LAMP Brothers’ original PHP video tutorial CD/"Essential PHP in Detail" for free. For details, please contact the official customer service:
http://www.lampbrother.net



Statement of this Website
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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Framework Security Features: Protecting against vulnerabilities. Framework Security Features: Protecting against vulnerabilities. Mar 28, 2025 pm 05:11 PM

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

See all articles