Home headlines As a qualified coder, how are you 'trained”?

As a qualified coder, how are you 'trained”?

Nov 07, 2017 pm 03:14 PM
programmer programming

html / javascript / css, these are what the front-end needs to learn, plus a lot of front-end frameworks Angular, React, Vue, you have to learn the same.


Only after learning the framework can you do projects and find a job, and then you can start the glorious journey of adding, deleting, and checking.

But this is not enough. The knowledge mentioned above can only be regarded as an introduction.

Data structures and algorithms must be learned, otherwise the code you write will never be as good as that written by Big Fatty Zhang next door. For the same needs, other people's code is pleasing to the eye, but your messy one will be criticized completely by the leader.

So "Algorithms", "Dahua Data Structures", "Graphic Data Structures", "Introduction to Algorithms"... come all, arrays, stacks, queues, binary trees, graphs, sorting, The search is guaranteed not to overwhelm you.

When I usually chat with everyone, I must be able to name several common design patterns, especially several ways of writing singleton patterns. Otherwise, I will be embarrassed to say hello to others when I go out.

It is definitely not possible to be a junior coder who is assigned tasks, so object-oriented analysis and design must be learned. Otherwise, in the future, the leader will entrust you with important tasks and ask you to do analysis and design. How will you do it? To divide modules and services, how to design interfaces? Based on what principles and guidelines?

The software development process and best practices are quickly becoming a necessity for coders. Agile development, DevOps, unit testing, continuous inheritance, TDD, pair programming..., you must keep up. trip.

As a programmer’s self-cultivation, basic knowledge of computers is also a must.

You must understand the principles of computer composition and the von Neumann structure. Otherwise, you will write programs all day long without knowing how the computer works, and you will be laughed at. If you want to go deeper, you can also learn about digital circuits and assembly. You need to know a little bit, because there is always a compilation waiting for you in some dark corner.

You need to learn databases, basic SQL, and table design. Paradigms, locks, and isolation levels are daunting.

It also involves tuning in depth. At the architectural level, you also need to understand sub-databases, sub-tables, backups, and read-write separation.

Relational databases alone are not enough. NoSQL is very popular in the Internet era, and it is very likely to be used in work. It will not work. The cache cannot be escaped. Memcached and redis are already necessary for work.

Nowadays, programs that are not connected to the Internet are almost extinct, so you have to learn computer networking, at least understand how http, https, socket, tcp work, and you also need to know the RSA, Hash, and certificates derived from https. what's going on.

Security is actually a big topic. Things like XSS, CSRF, SQL injection...should become something that must be considered in Web programming.

The operating system must also be learned, so that we can understand processes/threads, as well as the communication and synchronization between them, as well as synchronous/asynchronous, blocking/non-blocking, select/epoll and other fashionable-sounding words. Virtual memory and file systems must be understood roughly. In addition, you must be able to type out some basic Linux commands. It would be better if you can use vi.

In-depth understanding of the Java virtual machine. I don’t understand how the virtual machine works. There are some problems in the system that you really can’t figure out.

There are also Tomcat, Ngnix... It is not possible to study them thoroughly in a short while.

You may also hear people say: Discrete mathematics is very important and is the foundation of computer science! Then go and take a look. In addition to Boolean operations, other equivalence relations, partial orders, propositional calculus, predicate calculus, groups, lattices...it will completely confuse people.

Before you have mastered these basic knowledge, cloud computing, big data, microservices, and containers have started to make noise again. Don’t you want to know more about it? Aren’t you afraid of falling behind?

Coders are so "cool" and are constantly driven forward by various new technologies. But on the other hand, if you are interested in software programming, it is simply so happy. New toys are constantly appearing, and you can play with them. Can't even play it. Therefore, if you want to remain competitive in this challenging industry, you must continue to learn.


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

Video Face Swap

Video Face Swap

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

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)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1266
29
C# Tutorial
1239
24
Remove duplicate values ​​from PHP array using regular expressions Remove duplicate values ​​from PHP array using regular expressions Apr 26, 2024 pm 04:33 PM

How to remove duplicate values ​​from PHP array using regular expressions: Use regular expression /(.*)(.+)/i to match and replace duplicates. Iterate through the array elements and check for matches using preg_match. If it matches, skip the value; otherwise, add it to a new array with no duplicate values.

What is programming for and what is the use of learning it? What is programming for and what is the use of learning it? Apr 28, 2024 pm 01:34 PM

1. Programming can be used to develop various software and applications, including websites, mobile applications, games, and data analysis tools. Its application fields are very wide, covering almost all industries, including scientific research, health care, finance, education, entertainment, etc. 2. Learning programming can help us improve our problem-solving skills and logical thinking skills. During programming, we need to analyze and understand problems, find solutions, and translate them into code. This way of thinking can cultivate our analytical and abstract abilities and improve our ability to solve practical problems.

Unleash Your Inner Programmer: C for Absolute Beginners Unleash Your Inner Programmer: C for Absolute Beginners Oct 11, 2024 pm 03:50 PM

C is an ideal language for beginners to learn programming, and its advantages include efficiency, versatility, and portability. Learning C language requires: Installing a C compiler (such as MinGW or Cygwin) Understanding variables, data types, conditional statements and loop statements Writing the first program containing the main function and printf() function Practicing through practical cases (such as calculating averages) C language knowledge

Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder Oct 11, 2024 pm 08:58 PM

Pythonempowersbeginnersinproblem-solving.Itsuser-friendlysyntax,extensivelibrary,andfeaturessuchasvariables,conditionalstatements,andloopsenableefficientcodedevelopment.Frommanagingdatatocontrollingprogramflowandperformingrepetitivetasks,Pythonprovid

Build browser-based applications with Golang Build browser-based applications with Golang Apr 08, 2024 am 09:24 AM

Build browser-based applications with Golang Golang combines with JavaScript to build dynamic front-end experiences. Install Golang: Visit https://golang.org/doc/install. Set up a Golang project: Create a file called main.go. Using GorillaWebToolkit: Add GorillaWebToolkit code to handle HTTP requests. Create HTML template: Create index.html in the templates subdirectory, which is the main template.

Get Go modules quickly and easily with Go Get Get Go modules quickly and easily with Go Get Apr 07, 2024 pm 09:48 PM

Through GoGet, you can quickly and easily obtain Go modules. The steps are as follows: Run in the terminal: goget[module-path], where module-path is the module path. GoGet automatically downloads the module and its dependencies. The location of the installation is specified by the GOPATH environment variable.

Collection of C++ programming puzzles: stimulate thinking and improve programming skills Collection of C++ programming puzzles: stimulate thinking and improve programming skills Jun 01, 2024 pm 10:26 PM

C++ programming puzzles cover algorithm and data structure concepts such as Fibonacci sequence, factorial, Hamming distance, maximum and minimum values ​​of arrays, etc. By solving these puzzles, you can consolidate C++ knowledge and improve algorithm understanding and programming skills.

GoFmt command: Code formatting tool to keep the code clean and beautiful GoFmt command: Code formatting tool to keep the code clean and beautiful Apr 07, 2024 pm 09:03 PM

The GoFmt command is a code formatting tool that can automatically format Go source code so that it conforms to the conventions of the Go language style guide, thereby improving the readability, consistency, and beauty of the code. Usage: Enter gofmtsource_files.go in the terminal. Advanced options include: use -w to write formatted code to the source file; use -d to display only the changes to be made; use -e to report unformatted files.