A programmer with an annual salary of one million: the road to technological advancement


The company that just entered has become a junior development engineer. How do we get savage on this technological route?

The path to this technology is a Pilar Meade, less traveled.

Over the years, Dad has been exposed to a large number of large-scale coffee technologies in the IT field, and his growth path may be as follows:

Click on the four characters to follow the author to find the ios advanced advanced organization1

. Build a solid foundation

Whether you're a computer trainer or someone just starting to code, you're all a piece of paper. If you don't know standard code, you'll develop bad habits that are hard to change later.

Write code in a standard format, don't use formatting tools, write in easy-to-read code, especially write notes, and have a good brain and write complete notes, as well.

We have to remember this saying, don't believe you can remember, even if you write the code yourself, you can see it in six months, and it's hard to understand without comments.

At the same time, we need to lay the foundation for the most basic programming algorithms. If you use the java language, we need to understand the core classes of J2SE, and the most commonly used algorithms are more practice.

Take the first step firmly, the foundation is solid, and the future is bright.

 2. Practical skills development

We must be more involved in different software development projects. Different types of software development projects focus on different techniques, thereby making your technique more complex and comprehensive through project practice.

Analysis of a class of software requires more data processing and presentation of technical requirements. At this time, you may be exposed to some ETL tools, such as Echart and so on. If you deal with a lot of data processing, you will have the opportunity to start your big data development. In addition to using the relational database developed by Oracle, you should also learn development using the Hadoop distributed framework.

Processing software focuses on the configuration of processes and forms, so that you will become familiar with the design mechanics of jBPM, how to develop based on a process engine, and how to develop multiple forms (single, multi-stroke, etc.). If you're involved in a lengthy process, you'll also learn about state machine-based process control and ordered flow techniques.

ESB class software allows you to learn how to develop interface buses. At this point, you will start touching various interfaces like web services, FTP, JMS, rest, etc. and start learning how to invoke mail and SMS gateways.

 Portal software enables you to learn how to develop a unified agent, how to implement single sign-on through CAS, how to implement custom development of home pages, skin customization, and integration of different subsystems through the portal.

The second step is to give you more comprehensive and advanced technology through actual combat. In order to achieve this goal, you cannot die in the project team.

three. Learn to do software design

For this reason, you have to learn software design of the whole system, for a small module, your design will be based on software development developers, just like building a house, if you draw construction drawings, you will not feel A bit beefy.

As a software designer, I also need to know the basic concepts of design. I should take a closer look at common design patterns like single pattern, factory pattern, strategy pattern etc. In fact, these methods are all based on object-oriented programming ideas, some application scenarios are added to the basic ideas, and various design patterns are available.

The main responsibility of a software designer is to write design documents and guide developers to develop according to the design. The core of the design document includes the design of the class diagram, the design of the activity diagram, the state diagram, the function design and the performance design.

 The biggest difference between designers and development engineers is that designers can rely on software architecture for software design, not development.

4. To be an architect

You need to design a complete software architecture model. Architects at this level, including service encapsulation, application layer presentation layer, and common technology packages, such as the aforementioned process engine components, tools, and table and chart components are composed of Architects come to complete packaging, the formation of reusable components that can be used by developers.

At this level, the chief architect needs to understand some open source components, read the core open source code, and diligent architects have started building their own open source projects.

Architects are usually technical experts on a team. The technical difficulties encountered in product development are often heaven.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325393062&siteId=291194637