How did Ant Financial become a Java programmer with a monthly salary of 30K? (Necessary skills for salary increase)

When it comes to the salary of programmers, I think only the salary of the "legendary architect" is enough to tempt everyone. The annual salary of 40W-80W is a relatively simple thing for them. Today we will talk about it" Architect".

Architect is a challenging profession, and the breadth of knowledge often determines the architectural ability of an architect. Reading a lot of technical books can improve your knowledge, but I hope you are not limited to software-related books, you can often go to technical forums, on the one hand, you can make friends, on the other hand, you can increase your knowledge, and you can also join technical blogs. Of course, if there is a great god and a great cow in this area by your side to guide you or teach you experience, then you will definitely take half of the detours.

How did Ant Financial become a Java programmer with a monthly salary of 30K?  (Necessary skills for salary increase)

In our industry, we roughly divide programmers into four levels

  • The focus of junior Java programmers is to write code and use frameworks

  • Intermediate Java programmers focus on writing code and frameworks

  • Advanced Java programmers technical research, performance tuning-

  • Architects solve business and technical problems

Today we are mainly talking about architects. At present, our domestic Java industry is becoming more and more popular, and there are more and more programmers entering, but I have to say that there are very few who can be called architects, which also causes the current annual salary ratio of architects. The average programmer's annual salary will be so much higher. Is it really that hard to be an architect? I think you didn't find a way.

Architect Job Functions

Software architects play an important role in the entire software development process, and their responsibilities or concerns are constantly changing as the development process progresses. During the requirements phase, software architects are primarily responsible for understanding and managing non-functional system requirements , such as software maintainability, performance, reusability, reliability, effectiveness and testability, etc. In addition, architects should often review the requirements put forward by customers and market personnel, and confirm the design proposed by the development team. ; After the requirements are more and more clear, the architect's focus begins to shift to the organization development team members and the definition of the development process; in the software design phase, the architect is responsible for the design of the entire software architecture, key components, interfaces and development policies ; During the coding phase, architects become consultants to detailed designers and code writers, and frequently hold technical seminars, technical training courses, etc.; as the software begins to be tested, integrated, and delivered, integration and testing support will be Become the focus of the software architect; at the beginning of software maintenance, the software architect begins to make decisions about whether new functional modules should be added to the next version of the product.

What skills do you need to be a java architect?

First of all, if you are an advanced java, you are proficient in using various frameworks and know how they are implemented.

  • JVM virtual machine principle, tuning, understanding jvm can allow you to write code with better performance

  • Pool technology, what object pool, connection pool, thread pool

  • Java Multithreading Synchronous Asynchronous

  • The realization principle of various collection objects in Java

  • Proficient in using various data structures and algorithms, arrays, hashes, linked lists, sorted trees

  • Proficient in using linux operating system

  • Familiar with tcp protocol

  • Familiar with http protocol

  • System cluster, load balancing, reverse proxy, dynamic and static separation, website static

  • Distributed storage systems nfs, fastdfs, tfs, Hadoop understand their advantages and disadvantages, applicable scenarios

  • Distributed caching technology memcached, redis, necessary to improve system performance

  • Database design ability, mysql must

  • And queue middleware. as message push

If you want to become an architect, you don’t need to understand a lot of technologies. These are the foundation and tools for solving problems. How can you come up with solutions if you don’t understand these? This is a must to become an architect.

The architect must also propose a design solution that can solve the problem with the lowest cost according to the business characteristics and the performance requirements of the system. To be qualified, a system with several hundred users has a small amount of access and a small amount of data. You can cluster and distribute it for others. This is the most nonsense. The role of the architect is to meet the business needs first, and the second lowest hardware network cost and technical maintenance cost.

The architect should also foresee the solution of the system architecture to the next stage according to the stage of business development, and take the upgrade and expansion of the architecture into consideration when designing the current architecture, so as to make it easy to upgrade; otherwise, there will be a problem when the system bottleneck comes. If the solution is out again, or the existing architecture cannot be expanded, it will be thrown away and redone, or there will be a lot of troublesome expansion problems, which will cause losses to the enterprise.

Here are a few system learning graphs that I have summarized:

How did Ant Financial become a Java programmer with a monthly salary of 30K?  (Necessary skills for salary increase)

How did Ant Financial become a Java programmer with a monthly salary of 30K?  (Necessary skills for salary increase)

How did Ant Financial become a Java programmer with a monthly salary of 30K?  (Necessary skills for salary increase)

How did Ant Financial become a Java programmer with a monthly salary of 30K?  (Necessary skills for salary increase)

How did Ant Financial become a Java programmer with a monthly salary of 30K?  (Necessary skills for salary increase)

Guess you like

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