\

I have been working for six years since I graduated from college in 2014. Now I am the director of Java department in an Internet company. I have experienced a lot of ups and downs. Thinking for a long time, I decided to write this article, hoping to take a little detours to the backward young man.

Many people think the workplace is too beautiful, but it is not. If you don’t, you will inevitably encounter all kinds of problems: unhappy at work; No motivation to move forward; My job is not as good as I thought; Not being able to use his talents; Seeing how the former students treatment, they can not stand stimulation, eager to job-hopping; At the beginning in order to survive and find a job, is not suitable for their own……

These problems are usually most obvious in the first one to three years of work. (It’s not obvious after three years because you’ve been stuck with reality for so long that you’ve been assimilated into the inequalities and become accustomed to them. Your past ambitions have been crushed by reality. So, you also from an ambitious young man suddenly become a mediocre, willing to mediocrity, for the livelihood of ordinary workers all day). If you don’t solve these problems early, then you will waste the 3 years (some people may be longer), which is the most important time for a new employee to exercise ability and accumulate capital. Once missed, it takes more time to start all over again and make up for it again! What’s more, you may never be able to make up for it! This is definitely not alarmist!

Why be clear about your goals? Because, with a goal, there is a guide to action. Knowing what you want to do, what you love to do, is the ultimate motivator. The root cause of job dissatisfaction, lack of motivation and blind job-hopping is unclear career goals.

This is especially true in my first three years as a Java programmer. Knowing where you stand and where you want to go is the quickest way to get ahead of everyone else. Of course, learning is boring, which also makes most people ordinary and can not stick to it, but those who stick to it are excellent people, and their advantages will be more obvious in the future. This is undeniable, the industry is not out of nothing, are through their own efforts to spell out.

As a senior, I’m not sure what I’m giving you is 100% correct, but at least it will save you a few detours.

There are things that Java programmers must do in their first year of working

Once you’ve learned the basics of Java, you’re not ready for the job. You need to continue your education. You must learn the Java development framework. Companies use Java Web frameworks to improve development efficiency. At present, SSM framework is more mainstream, namely Spring, SpringMVC, Mybatis. You need to learn how to build these three frameworks and use them to create a simple add, delete, change and review Web project. You don’t have to understand what those configurations mean and why, but I’ll leave that for later. Make sure you can quickly build a Web framework out of all three of them. You can document your first build and learn about Maven as you go along. At this stage, you only need to learn the basics of Maven on the Internet, and some of the more advanced uses will come as you gain experience.

Spring, Spring MVC source

\

\

MyBatis source

\

Something a Java programmer must do for a year or two

For those of you in this part of the class, you already have a deeper understanding of Java.

This year, you should be familiar with design patterns, and design patterns are not your only task. You should also read books on optimizing code writing. In short, at this stage, your core task is to improve your ability to write elegant code.

On the other hand, you must have been exposed to concurrency at some point in your career over the past two years. At this point, you should learn more about concurrency, but at the same time, you need to do more than that. At this point, you should have a better understanding of the framework you’re working with, and a better understanding of Java’s class libraries. Therefore, you need to look at the source code of some of the JDK classes, including the source code of the framework you are using. In short, at this stage, all you need to do is dig deep into the Java infrastructure and Java class libraries, that is, the JVM and JDK. But also more in-depth to understand the framework you use, the more recommended way to read the source code or official documentation.

Concurrent programming

\

Between 3-4 years in the workforce, Java programmers have to do something

At this stage, it is already difficult for students to improve, and the study at this stage is often more diversified. In the course of the first 3 years, you must have been exposed to some other technologies, such as big data, distributed caching, distributed messaging services, distributed computing, soft load balancing, etc. Being proficient in any of these technologies will be a huge advantage in future interviews, so if you’re interested in a particular technology, this is the time to delve into it. It doesn’t have to be something you use in your job, but it does have to be relevant.

  • Distributed architecture thinking
  • Distributed coordinated shunt
  • Asynchronous and messaging middleware
  • The cache and no
  • High availability data storage
  • Distributed scenario solutions

\

\

Between four and five years on the job, Java programmers have to do something

For those who have worked for 4 to 5 years, I believe that you have already had some insight into the field you are studying. At this time, you should have encountered a bottleneck in technology. At this time, don’t try to improve your technology, it’s time to improve your influence, you can try to go to some well-known companies to improve your background, you can publish some articles to influence more people. Of course, you can also go to Github and create your own open source project to build your own product. At this stage of technical learning, it’s easy to hit a bottleneck, and often after a certain point, you really can’t go any further, unless you specialize in academic research. Unfortunately, most programmers can’t do that. That’s what scientists do. It’s not just about technical bottlenecks, it’s about opportunities that influence can create. So, at this stage, your biggest task is to increase your impact and prepare yourself for the day when you will be working for the next ten years.

The project of actual combat

Millet B2C mall system combat

Meituan merchant distributed marketing system combat

SpringCloud Alibaba Meituan merchant system practice

This is what you must strive to achieve in your first five years as a Java programmer. This is a route to improve. More detailed roadmap is not available here, if necessary, you can reply to [learn] to get the latest route. If you need to obtain learning materials can be background private reply [information] to obtain.

Java senior engineer core interview 1080 question analysis

\

Java Advanced Architecture Interview

\

Java interview notes

\

If you need to get study materials

\

\

This article is shared from wechat official number – May Heaven have no BUG (MA214617). If there is infringement, please contact [email protected] to delete. This article participates in “OSC source innovation Program”, welcome you to join us and share with us.