I have been working for more than 8 years. In these 8 years, I am especially grateful to the technical management staff for their respect and the help of colleagues, and I have learned a lot of things. In the past 8 years, I have gone through some detours and encountered some problems. I have also suffered from being a developer but often working as a firefighter for system maintenance and release. So I decided to sort out what I learned and share it with everyone.
For programmers who have been developing for 1-5 years, please be simple and ask yourself a few questions:
- You have been working for a few years. Would you like to be a simple programmer like a newbie?
- Are you willing to keep writing code without caring about other things?
- A project’s pre-requirements, design, post-deployment and maintenance, if the leader finds you, you say we can’t figure it out, okay?
Programmers are not machines for typing codes. There are too many things you don’t understand in the first year. You can follow the boss’s arrangement, type code, look at the database, and test your own and other people’s code;
But in the second year, do you still hope that? Impossible, you can enter the industry after one year of experience. It's time to learn how to conduct requirements analysis, how to design a database, how to write various documents, and how to write better code? This is a requirement of advanced programmers!
What is the standard configuration for advanced programmers? Monthly income 30K!
What is a senior programmer?
A programmer who has the ability to analyze and design, can conduct technical research, and has a deep background in a certain industry!
After a project is approved, you must actively participate in the preliminary design, think and analyze problems with the old comrades, and learn from experience! OK, you will grow up!
Remember to learn more when you are free. Practitioners in any industry need to keep learning. Only more efficient work can create higher value. Especially for programmers, if they are not careful, they may not be able to keep up with the pace of the times. The
Internet is cold every day. In fact, there is no cold winter, it is just an excuse for lazy people! If you don't take the initiative to learn, what is waiting for you is to be eliminated!
What are the corresponding levels of 30K?
A monthly salary of 30K is too common in BAT and other major manufacturers. It is usually a senior engineer and senior engineer position . In Ali, it is about p6~p7 , in Baidu it is about t5 , Tencent is about t2-3 , and in Jingdong it is t3- 1 , the US group is p6 around, the other I do not know.
So what knowledge should we learn for Java programmers who have been developing for 1-5 years to realize job-hopping and salary increase?
The length of the article is limited. This Java Programmer Advanced Guide can provide a complete pdf version. If you need it, please add VX (tkzl6666) to get it for free.
1. Java foundation (foundation)
1.Tomcat
2.Mysql
- MySQL architecture and storage engine
- InnoDB storage engine
- Indexes and algorithms
- lock
- Affairs
- Performance tuning
3. Design patterns
- 24 design patterns and 6 design principles
4. Concurrent programming
- Java thread
- Thread Pool
- Life cycle
- Blocking queue
- CASE
- AQS
5.JVM
- Thread
- JVM memory area
- JVM runtime memory
- Garbage collection and algorithms
- GC
- I / NIO
- Class loading mechanism
6.Netty
- Netty principle
- Netty high performance
- NettyRPC implementation
- RMI implementation
- Protoclol Buffer
- Thrift
2. Open source framework (SSM framework)
1.Spring
- Spring features, core components, common modules, main packages, common annotations, third-party integration
- Spring IOC、AOP
2.Spring MVC
3.Mybatis
Three, microservice architecture
1.Dubbo
- Implementation based on XML configuration
- Dubbo Registration Center
- Dubbo extension point loading mechanism
- Dubbo start-stop principle analysis
- Dubbo remote call
- Dubbo cluster fault tolerance
- Dubbo extension point
- Dubbo advanced features
- Dubbo filter
- Dubbo Registry Extension Practice
- Dubbo service governance platform
- Dubbo future ecology
2.SpringBoot
- Getting started with Spring Boot
- Configuration file
- Log
- Web development
- Docker
- SpringBoot and data access
- Start configuration principle
- Custom starter
3.SpringCloud
Four, distributed
1. Distributed current limit (Nignx+Zookeeper)
2. Distributed cache (Redis+MongoDB+Memcached)
3. Distributed communication (RabbitMQ+RocketMQ+Kafka)
Five, performance optimization
1. Java performance tuning
2. Mysql tuning
3. JVM tuning
4.Tomcat tuning
to sum up:
In my opinion, only the weak will say, "It is hard to find a job after the programmer is 30 years old", "The programmer will change career after 30 years old"
In this era, technology is changing with each passing day, but it is true that "programmers cannot keep up with the younger generation in terms of creativity and learning ability at a certain age".
At this stage, many people are confused by appearances and feel that Java developers are not easy to find jobs. Some people mistakenly think that the market is saturated, but they don't take into account that their own abilities are insufficient, and they are often like this in the process of learning:
- I will not select knowledge points, blindly buy books and watch videos, and the materials are piled up like a mountain, and I don't care about everything before learning;
- I hope to gnaw through a book, watch a set of videos, type more and write more to get it;
- Learn everything, I feel like everything, but I am confused when working on projects;
- Learn whichever is better by listening to others, blindly follow suit;
- All kinds of messy things are used, as long as the effect is achieved, others can be ignored, staying in the "handling" stage;
- Never realized the specifications and standards and precautions of the project;
It is conceivable that the skills learned in this way are not up to the level required by the company, and naturally no job is found.
Here, the editor is sharing a technical map of Internet P8 architects. Friends can check and fill in gaps based on the knowledge points on the map and compare their own technologies.
Please note: The Internet P8 Architect Technical Atlas shared today is displayed in the form of screenshots due to limited space, but all the complete original pdfs are available for 100% free sharing and provide: The small partners who need to obtain only need Give me a little support—————— Follow, add VX after forwarding the article [ tkzl6666 ] 100% free!