[Turn] Four years of Java, a year-end summary of a java programmer

At the end of the year, it's time to write a summary for yourself!
It has been almost 4 years since graduation, and I have been in the Java WEB development industry. I am not a good person, but I feel like a qualified programmer. It is necessary to write down my experience in the past 4 years to give myself a hint and provide some reference for friends who have just entered the industry.
First. Java programmers need continuous learning;
it seems that this is the most widely used industry, but I can say with certainty: when you find a job after a year of web development, you will really feel this sentence talk.
The first year of work is often a year full of freshness, learning everything, and full of vigor; knowledge of the WEB industry is updated very fast, a new version of a framework today, another new framework tomorrow, sometimes according to the project. Need to keep learning new things; all, many times I feel that I have used so many things! But there's not much to really delve into.
The interview is the first question that needs to be faced after job-hopping; and the focus of interviews in different companies is different; but there is one thing in common: Java basics are compulsory. In the first year of work, you may be asked about your understanding of String object creation, what are the commonly used frameworks, etc.; in the second year of work, you may be asked what the Java memory allocation mechanism is, how classes are loaded, etc.; in the third year, you will be asked about Ask what are your commonly used design patterns, what role do you play in your work, how do you complete a module independently, etc.;
it can be seen that this is the growth process of a typical programmer:
using Java--> In-depth understanding of Java accumulation Experience -> independent design and analysis ability -> all-rounder who is on his own!
Therefore, you must learn:
1. In-depth understanding of Java basics;
not much explanation, recommended books "Java Programming Ideas", "Java Threads", "Java NIO", "In-depth Java Virtual Machine"
2. Database
The most commonly used is Oracle (Of course, bank projects, etc. require DB2, etc.), and master the use of stored procedures, triggers, etc.;
3. Documents are often written in UML
projects, the basic skills of project managers, and the basic skills of programmers toward design;
4. Design patterns
This suggestion should be read more, and you can experience it by reading the source code;
5. Linux systems
need to master common Linux commands—— There are very few projects deployed on the windows operating system.
Not much else to say, you can add.
In terms of learning, interest is the biggest teacher; project-driven is also a good choice. In short, it is impossible to not study.
Second. Accumulate industry background;
industry background is very important; after working for 3 years, you must determine your own industry background, such as always engaged in telecommunications industry, always engaged in banking projects, always engaged in ERP industry and so on.
It is impossible for a programmer to write code all the time. Even if you write code, you must know the business logic and what needs it meets. As the saying goes, every line is like a mountain, and the business of each industry is different, or even very different. For example, you have been engaged in streaming media. The research of the company will let you jump to a bank project. When it’s over, learn everything from scratch. The previous industry experience will not be used. Moreover, when a company recruits people, it is hoped to find those who are easy to use and do not require long-term training in the business. Programmers; friends who frequently change jobs, must pay attention to this point; if you
have been in an industry for a long time, you can become an expert in this industry; we can often see that a leader of a project team writes general code, but However, it can communicate with customers fluently, control the proposal of new requirements, fix bugs, etc.; and customers are also willing to deal with him, because only he can maintain those old projects, and he is even familiar with every table structure of the system ——How long do you think you have been in this industry?
Third. Reasonable career planning
What is career planning - it is your short-term or long-term career plan! Let's keep it simple. Let me ask you a few questions first:
a. You've been working for a few years. Would you like to remain a simple programmer like a newbie?
b. Would you like to write code all the time and not care about anything else?
c. The pre-requirements, design, post-deployment and maintenance of a project, the leader finds you, you say we can't handle it, okay?
Programmers are not code machines. In the first year, there are too many things you don’t understand. You can follow the boss’s arrangement, knock on the code, look at the database, and test the code of yourself and others; but in the second year, are you still like this? Impossible, you can enter the industry with one year of experience. It's time to learn how to analyze requirements, how to design databases, how to write various documents, and how to write better code? This is a requirement for advanced programmers!
What is a senior programmer? A programmer with analysis and design ability, able to carry out technical research, and a deep background in a certain industry!
All, 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 are growing up!
Don't think that programmers write code! ! !
Moreover, through the development of a project, you must be able to roughly calculate the development time of a function; for example, a module has 20 small function points, you develop 80 hours, and each small function point takes an average of 2 hours - at this time The workload can be assessed at an early stage. Of course, the efficiency and work quality of each person is different, and it varies from person to person, but the approximate workload should be calculated and used to count the work cycle of a project;
with the above capabilities, you are at least a project team. The backbone of it! At this point, you can lead the younger brother to develop instead of being an ordinary leader.
Many company's project backbones and project managers are not recruited, they are all cultivated - 2 years of work, good thinking ability, good hands-on, very good! OK, the project manager and the middle management of the company may have noticed you at this time, and they will assign you more tasks to slowly train you. Don't make trouble at this time (I have met such a colleague, who is very skilled and friendly. That’s right, the leader suddenly assigned him a lot of tasks. At first, he took it silently, but then he made a noise! ​​After the leader talked to him, he understood it! After a while, he basically got used to it and could finish it quickly; later he became us The new project leader among that group of people), study hard with the people who lead you, work hard, and you will be on your way soon!
If you have worked for many years and are an old bird, you should also be good at leading people and be able to help your younger brother! Because only when the younger brother grows up, the burden on your body will be light, and the project will be carried out smoothly!
Moreover, the salary of senior programmers (undergraduates, for example) will reach a bottleneck after working for about four years (the first-tier cities are 9K-1.2W). At this time, you must "transform" - senior programmers are only part of your ability, system analyst, Architect, technical director is the position you should tell others, and the salary can be raised again.
Fourth. Good mentality and posture
Programmers must have a sense of responsibility! This point is very important. When encountering a problem, you can't just play the ball casually, communicate with others seriously, put forward your own opinions, and contact with customers, in order to solve the problem. The technical problem is not a problem, it can always be solved, but the problem of demand must be clarified! Once requirements go wrong, a project can be delayed or fail. A programmer's sense of responsibility determines his growth. A responsible person may become the backbone and be trusted by leaders!
The second is to be able to withstand pressure. Everyone knows that programmers have to work overtime and are under great pressure. All problems must not be given up easily, and they should be dealt with reasonably according to their abilities!
The body is the capital of the revolution, and programmers are especially important. Sitting in front of the computer every day can easily gain weight and turn into a pear figure. Exercise more!
Don’t quit at a certain level. Stay in a job that has development prospects or happy work for a long time. You can’t compare enthusiasm with young people. At this time, you need to be stable and act as a senior IT practitioner in the company. , help people optimize programs, analyze requirements, and make suggestions for projects to solve problems, etc.
Fifth. Write
more technical documents It is a good thing to write more technical documents - in fact, it is a summary and improvement of your work experience! A person who is willing to share knowledge with others can improve in constant thinking! Moreover, writing documentation is very exercise!
Therefore, it is recommended that you do not have a blog or colleagues who often read other people's documents but do not write their own. Hurry up and start a blog. It's a lot of fun!
(Technical documents focus on simplicity and succinctness, and provide source code; summary documents focus on personal experience!)
Sixth. About job-hopping Job-
hopping is definitely not an unfamiliar vocabulary to IT people, and almost everyone has experienced it. First of all, I want to emphasize that there is no harm in job-hopping, but frequent job-hopping is not good. In the first 4 years of work, job-hopping is necessary and encouraged (2-3 companies are recommended); each company has a different focus on technology and has different control over the development process, so the required technical talents are naturally different. ; For example, outsourcing companies want a code madman (I like to recruit people who have done outsourcing, and I feel that many people who have worked in outsourcing companies are very efficient); small business companies want an all-rounder Programmers (can design and analyze, write code, and deploy); large companies want a person with solid technology and potential (good English, good understanding, solid Java foundation); so if you stay in a company After a long time, it is likely to become a model. If you leave this company, it is sometimes easy to find a job. It is very beneficial for programmers to experience two more companies! And I also feel that every time I look for a job, I am forcing myself to learn something.
And the point is, once you switch jobs, the salary will be higher--many people who switch jobs are dissatisfied with the current salary.
However, once you have worked for 5 years, it is recommended not to jump, but to plan your own career. After all, programmers are suspected of "youth rice", and we can't compare with young people. At this time, if you want to do technology all the time, it is recommended to stay in a good company for a long time. Technology + business is enough for you to mix; if you want to be a management, this is basically the time; if you want to start your own company, you have to pay More, have an in-depth understanding of operations, and focus on sales and customer relationships.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327040843&siteId=291194637