preface
(Confessions of a Java programmer of three years)
Quit in October of this year. Yes, naked. Working for three years without a serious summary, I think three years a cut is necessary to make a summary.
When I just graduated, the university I graduated from was not very good. Although IT was an undergraduate, it was not 211, not 985, and it was an art school, engineering was not a key subject. Actually do develop less strict requirements for school education, as long as the professional ability can be enough, but it is undeniable that different school students professional level on average is, indeed, there are gaps, heard that graduated from zhejiang university directly at the company level, haven’t heard such talent, our school has, of course, also have other professional class, there is no belittle his Alma mater.
During my internship, THE Web project, pure serverlet, was packaged and put into Tomcat to run, but I didn’t understand it at all. My supervisor helped me to deploy the environment (here I still want to thank the company’s supervisor system and my supervisor, although the teaching was limited ha ha ha), ran it, and modified a JSP page by myself. Modified a function, feel good strong (prove their dishes example I write a little less, after all is not what glorious thing). When attending the regular meeting, I heard my colleagues say something like “crossing loan” and “allowance”, some financial terms that I couldn’t understand at all. Now I think it was true at that time.
Work for two years of growth and marking time.
When I first started working, I felt that I was making rapid progress. People who could only write a main function before could build websites independently. You see how the original code was managed, right? I couldn’t wait to learn new things and participate in new projects. I applied to my leaders and got what I wanted. After participating in the new project, I felt that I still did not understand the business and products, so I applied for on-site support. I’ve really gained a lot.
After a year, it stagnated. My colleagues who joined the company with me have been promoted, got a raise, and changed departments. And I’m just the same. I was at a loss. I thought I was working hard, but the performance appraisal leader always said it was not enough and I needed to take more responsibility. Department of many, but the use of technology is relatively old, but actually I have a misunderstanding, think that technology is need to learn on the job training, but actually can study and work but also not contradiction, should not blame the old technology, but in this period of time, build the foundation, and ourselves to find other ways to contact the new technology. After the interview will find that many large factories are very important to Java foundation this piece, JDK source code is very important and effective learning resources, and experience is important, but if you learn the relevant technology, even if you do not have experience is feasible. I didn’t realize that at the time, I just wanted to do new technology, but IT’s not too late. But those two years were really a waste of practice.
In the third year, I felt I needed to step out of my comfort zone and do some career planning
In the third year, the new department had just been established and needed manpower for business development, and our department was relatively idle (in fact, it was not empty, just for comparison), so I recommended myself to join the new department. This decision is very beneficial to my own future development. Work is really helpless pain (as opposed to other colleagues I may have very easy), but sometimes I feel life is to require a little helpless pain, at least for me, I am the kind of person that need to be made a force, is not to say to what you learned in the work, is also learned a lot of things, of course), The main thing is that I really am the kind of person who can be motivated under tough circumstances.
Or resigned naked, confused…
After three and a half years, I finally decided to quit naked. For the past half year, I have been learning the underlying knowledge, but the effect is not obvious, I once suspected that I should change my profession. I feel silly and confused about learning the division of JVM memory, and my work status is also a little stagnant (there are many reasons, maybe because I just transferred to the department, or because I am not good at learning skills). I think although I quit my job to the temporary income, social security and accumulation fund is influential, but, in my life, my long-term career unscathed (here I really is too impulsive, everyone’s situation is different, naked resignation) still need to consider carefully, I think I was a freshman, individual can not starve to death, just quit. The leaders and HR are quite good for me to resign. I know that maybe they have their own considerations, and they also hope that I can find another job before I choose to resign. But I don’t think I can live my life trapped in the matter of not finding a new job, it is quite a big person, not starvation, I did try to interview for a new job, but really did not find. I quit. I also imagined that I might not be able to find a job for two or three months, so I stayed at home for more than a month. Fortunately, I made a good call to my mother in advance and asked her not to urge me, otherwise I might be urged to death.
Unemployment, on the other hand, makes me more aware of where I’m going
Have been studying at home, suddenly had been confused knowledge, back and forth to see two or three times feeling is not so complicated, of course, with the depth of the learning complexity is proportional to the, but I think before the interview, directly off the ground, at least with the interviewer can play on two legs, yes, I think I can catch a ball (although still very vegetables). So I went to the resume interview, which was not easy. My work experience is not very outstanding, and the Internet is not very suited, so there are not many opportunities for interviews. But again, work experience is important, but ability is more important, usually experience is the spokesperson of ability, after all, only with diamond can you do porcelain work. But my experience has really been like this, AND I don’t want to exaggerate my experience too much (in fact, I have used a lot of technology in a year, but not much in-depth technology). I can only supplement the theoretical knowledge and deepen my experience. After studying for a while and getting some interviews, I felt like I was doing okay in the interview process, and SUDDENLY I was like, hey? I could probably still be a programmer. And the goal is to reach the technical level of an Internet architect, there is a long way to go. I’ll cheer up.
I know I have made progress with three years of confused experience. Some students are already better than me when they graduate. So please ignore my nonsense, hahaha
Vocational Learning Directions (Mind Mapping)
A: Common patterns and tools
Learn about Java technology architecture, design patterns, popular frameworks and components
— Common design patterns, coding necessary, Spring5, do the latest framework essential to application, MyBatis, play database essential components……
Two: engineering and tools
To do a good job, you must first sharpen its tools, whether it is white, or senior developers, playing with Java technology system, choosing good tools, improving development efficiency and team collaboration efficiency, is essential:
Maven, project management
Jenkins, continuous integration
Sonar, code quality management
Git, version management
Three: Distributed architecture
High concurrency, high availability, large amounts of data, and no distributed architecture knowledge is possible:
Principles of Distributed Architecture
Distributed Architecture Strategy
Distributed middleware
Distributed Architecture Practice
Four: microservice architecture
Business is becoming more and more complex, and services are layered. Micro-service architecture is the only way to upgrade architecture. What are the technologies related to Micro-service in Java technology system?
Microservices Framework
Spring Cloud
Docker and virtualization
Microservices Architecture
Five: performance optimization
Any PPT architect who is detached from the details is a bully. He can operate from the top and solve first-line performance problems from the bottom. Java technology system needs to understand:
Performance index system
The JVM tuning
Web tuning
The DB tuning
Six: basic knowledge
From architecture design, to application layer tuning, and then in-depth understanding of the underlying principles, solid Java basic skills can make me become a sweeping monk:
The memory model
Concurrent mode
Threading model
The lock detail
Not much to say, learning materials to go
Receive way: forward + forward + forward after follow me
System Architecture Video Summary (Part of figure)
Interview Questions and Answers (Interview materials)
Big factory architect collates field documents
Summary of technical experience
I will make some summaries of the techniques I have learned later