Write my thoughts on the direction Java backend developers choose to go, for those who choose to go in the direction Java backend developers choose to go

background

I’ve seen some Java developers get too pessimistic about Java backend pay. Think big data field will be high salary. Felt that the Java back end had no future. I work in Java backend development and have some knowledge of big data work, but not deep knowledge. This article describes my personal views on the Java back end and whether to move to big data development.

purpose

  1. Analyze big data domain classification
  2. Analyze why big data jobs pay well
  3. Analyze the reasons for feeling that Java backend development is not promising enough
  4. Java backend to big Data work for what
  5. Turn to the various directions in the big data space and compare them to the Java back end

To share with you the Internet scene design and architecture design scheme digging gold: Underground Collection Kelvin juejin.cn/user/104639…

I think the work in the field of big data can be divided into four categories

category The business development Architecture group
1 Data Processing ETL, crawler The unknown
2. Data Statistics Real-time streaming computing, offline streaming computing, Elastic-search word segmentation statistics Architecture research Spark Hadoop source code development, Shuffle system optimization.
3 Data Analysis Machine learning, natural language based on Mahout, sparkStream Performance optimization
4. Data algorithm/modeling Recommendation algorithm, user portrait, risk control modeling The unknown

Second, the reason for the high salary in the field of big data

When you see big data pay is high, the big data field actually includes modeling or algorithm engineers. Recommendation algorithms, user profiling, risk control modeling, and natural languages are the only jobs that pay the most.

Most of the work in big data, however, is in categories 1 and 2 in the chart above, such as ETL, crawler, real-time offline streaming computing, ES, or machine learning at best. Even these jobs are engineering level applications (in other words, writing business code, moving bricks), and if they are well paid they have architectural capabilities (improving spark performance, etc.) rather than big data application development.

Third, analyze the reasons that make Java backend development not promising

Some feel that Java backend development is underpaid, unpromising, and unadapted to The Times.

First, the era of big data for a long time, long ago began to recruit large data, not demand status, such as android engineer to fire at the beginning, such as the one who is, now many, like android more, big data application development is not as high as in 2014, the beginning of the wages, but the big data in the algorithm, modeling engineer is still high, The kind of job that requires high quality is the kind that only 1 in 10 people can do.

Second, many Java back-end development are business development, to write good business not bug through day after day, there is no good projects or autonomous learning, lead to do Java development engineer for a long time, we are doing business, write a CRUD, redis, mq, and so on, can write code is one thing, but have a good technical solution is another matter.

Iv. What to do when Java backend is transferred to big data

Java for big data can only do ETL, crawler, real-time offline streaming computing, ES, machine learning at most such engineering applications, that is, change a set of tools to write business code, change a set of tools to move bricks.

Because Java developers mostly use and apply the degree, rather than research degree, so few Java engineers will do the work of class 3 and 4. If they do the work of class 3 and 4, it is estimated that they will start all over again.

Classes 1 and 2 pay just as well as the Java back end, because they both have people who are pure business and have built their own technology systems.

These big data engineering level applications (Classes 1 and 2) also have architecture groups and, like the Java back end, business architecture and infrastructure. In fact if the accumulation of experience in the Java backend and these big data promotion I think is the same.

For example,

If spark and Hadoop are the second big data engineering level applications in the table, one is for application development. For example, when the page of Double 11 displays the real-time shipments of Brands such as Huawei and Xiaomi, real-time streaming computing is used. The other belongs to the architecture work, such as developing the yufang system (also called DataWareHouse, DataWareHouse) to let the big data application development colleagues do OLAP on it. The people in these architecture groups are likely to have studied hadoop, Spark, or Presto source code, and may be working on secondary development or performance optimization. The former is to change a set of tools to move bricks, the latter is the architecture group. Like Java, there is some business code and architectural design.

V. Turn to the various directions of the big data field and compare them with the Java backend

Consider the direction

  • Or switch to big data architecture, such as spark, hadoop, presto, and chatfang system (also called DataWareHouse, DataWareHouse) and shuffle. After all, they belong to the architecture group and their salary will be higher.
  • Or switch to recommendation algorithms, user portraits, modeling/algorithms classes. And this part of the job is a requirement, the algorithm is excellent, graduate student, 985, 211, mathematics major, these jobs will also be higher. Data mining and analysis not only mathot, Spark Streaming, but also SAS/SPSS.
  • If you switch to big data applications to do real-time streaming computing, offline streaming computing, ES segmentation statistics, in fact, is equivalent to business code farming, if you have experience in Java back-end development, it is better to continue deep cultivation in Java back-end, after all, to do big data application development deep cultivation is the same.

Consider opportunities for advancement

  • On the other hand, those who are promoted to leadership positions are usually key employees who grow with the company. As companies grow, they start out as businesses, typically Java back-end business code. Big data business development (category 1 and 2) will not be used until the middle and later stages of report making. If there are performance problems, there will be architecture group, and then in the later stages, there will be things that make app better experience, such as recommendation algorithm, such as Taobao home page recommendation. So business architecture is easier to advance up front.

  • As companies grow and have the money, they will hire good algorithmic and modeling engineers to do the really valuable parts. Real-time streaming computing, Elastice-Search, and other businesses that are just making bricks, are now doing as many jobs as Android and not paying as much as they did when they started in 2014.

Consider the number of jobs in your city

For example, the jobs of category 3 and 4 are relatively few, and it is convenient to change companies to change jobs. Some companies, such as China Mobile, have outsourced the big data work of category 3, which is not formally compiled. Map out your career path, because the first job may not be your destination, so see if the requirements of other, more upmarket companies can match yours.

BackUp role

  • Learning big data and the react. js class is just a backup for Java backend development. Because some positions want you to be on the full stack, but now many are separated from the front and back ends.
  • The obsolete Java back end just writes business code, using Redis, MQ.
  • Everyone knows how to write a Java backend, and the field of Java backend technology is very broad, but whether it has written a good solution is another matter.

conclusion

Big data, front-end page development for Java back-end development engineers, I think it is ok to understand, know that there are solutions, do not need to be proficient in every field, and there is no way to be proficient in every field.

If the back-end development to do big data, project manager, product manager positions, it is estimated that the Java back-end technology did not do up (itself do not like programmers may also be), or can only do pure business code these were eliminated, so they will change fields, and transfer to HR. However, there is a difference in salary between Java backend development and product manager at the same level.

In my opinion, there is no difference between big data engineering application development (Category 1 and 2) and Java backend development. In the past, Java backend was able to move to big data application development because there was a shortage of people at that time. Now there is no shortage of people.

If you have been working in Java backend development for a few years and you want to move into big data, you have a chance to become a senior Java development engineer or an intermediate big data application development engineer, which is writing business code anyway.

If you have strong qualifications, such as a 985/211 degree, a major in mathematics, algorithmic research experience, and if you want to become an algorithmic/modeling engineer, you should switch early. This is the type of person who makes the most money in big data.

If you have more than 4 years of working experience in Java backend development, you are advised to continue your study in the backend.

If you work in Java backend development for a year or two, you can do whatever you want.

To find out how much money you get, search job sites for big Data engineers (typically category 1 and 2), algorithms engineers, risk control modelers, recommendation algorithms engineers, and user profiling engineers. I know of a risk control modeling manager over 30 grand.

Please leave comments and discuss with me


Welcome to attention

My public account: Tibet thinking

Nuggets of gold: Hide Kelvin

Jane: Hide Kelvin

CSDN: Underground Collection of Kelvin

My Gitee: Underground Collection Kelvin gitee.com/dizang-kelv…