Let me give you a brief background. An unknown 985 benshuo graduated in 2017 and joined Didi. He moved to Toutiao in the second half of this year and has been engaged in back-end research and development.
I have no internship experience before, so I have two and a half years of working experience. In the past two and a half years, I have completed a promotion and changed a company. There were happy and satisfied times and confused and struggling days, but I have successfully changed from a rookie to a senior paddler.
In this process, I have summed up some practical paddling experience, some of which I have learned by myself, and some of which I have learned by communicating with others. I would like to share with you here.
Learn to think deeply, summarize precipitation
The first thing I want to say is to learn to think deeply and summarize precipitation, which I think is the most important and meaningful thing.
Let’s start with deep thinking. In the programmer community, it is common to hear the saying: I have no skill in this job, just CRUD every day, and write if-else, what the hell can I learn from this?
Aside from some jokes and jokes, this may indeed be the true idea of some students, at least I once thought so.
Later, with the accumulation of work experience and discussion with some high-level students, I found that this idea was actually very wrong. The belief that there is nothing to learn is basically the result of mental laziness.
Any seemingly insignificant small matter, as long as in-depth thinking, a little vertical digging or horizontal broadening, are enough to indulge in the knowledge of the ocean.
Let me give you an example. Once, a classmate told me that there was a service in OOM this week. After checking for a week, I found that there was something wrong with what I had deferred. I changed a few lines of code and repaired it online.
You may also have encountered such a scene, is also a certain representative. In fact, bug checking is a process of finding, troubleshooting and solving problems, including triggering, positioning, recurrence, root cause, repair, resetting and many other steps.
It took a week to do this, there must have been a lot of trial and error correction, and there was a lot of room for thought. Like location. How did you narrow it down? What detours did you take? What analysis tools are used?
For example, the root causes can be studied at least in Linux OOM, K8S OOM, go memory management, defer mechanism, function closure principle and so on. If these are really not involved, still spend a week to do this thing, then the review should have a lot of thinking, put forward dozens of WHY is no problem…
Let’s talk about summary precipitation. This I think is also the place that most programmers lack, only immerse oneself in work, can do one thing very well. However, I almost never make abstract summaries, so that I have worked for several years, and the knowledge I have mastered is still sporadic and not systematic. It is not only easy to forget, but also causes my vision to be narrow and limited.
It is very important to make some timely summary and precipitation, which is a process from art to Tao, which will let oneself see the problem from a wider perspective and at a higher level. Encountered the same type of problems, can be summarized in accordance with the methodology, systematic, hierarchical to promote and solve.
Let me give you an example. Do background service, optimize 1G memory today, optimize 50% read and write time tomorrow, can you make a summary of performance optimization?
For example, in the application layer, it can manage the application parties connected by services and sort out the rationality of their access. At the architecture level, you can do caching, preprocessing, read-write separation, asynchronous, parallel, and so on. At the code level, there is much more you can do, resource pooling, object reuse, lock-free design, large key splitting, delay handling, code compression, GC tuning, and various language-related performance practices…
The next time you come across a scenario that requires performance optimization, the whole set of ideas can be applied immediately, and the rest is all about tools and practices.
Other students said, I will quarrel with PM every day, do demand, do not do performance optimization ah. Regardless of whether performance optimization can be done, there are also some conclusions to be made in terms of business requirements. For example, how do you build systems? Have you ever thought about system core capability, system boundary, system bottleneck, service stratification and separation, and service governance?
I discuss demands with PM every day. As a technical student, how to cultivate product thinking, guide the development of products, and how to put architecture before business can also be considered and summarized. When Martin Fowler came up with a theory of refactoring for the painful task of linking hands to maintain other people’s rotten code, there’s no need to feel inferior about our own work.
Therefore, learning and growth is a self-driven process. If you feel there is nothing to learn, chances are it is not because there is nothing to learn, but because you are too lazy, not only in action, but also in thinking.
Learn actively and maintain technical enthusiasm
One of the anxieties that has been spreading in the Internet for the past two years is called the 35-year-old programmer phenomenon, which basically says that programmers are basically waiting to be laid off when they turn 35.
Admittedly, the Internet industry in this point is indeed inferior to civil servants and other institutional careers. But the 35-year-old programmer in this question is not exactly 35 in the biological sense, it should refer to those who have worked for a decade or so with little difference between two or three years.
The work in the later years is basically living on the old bread without taking the initiative to learn and recharge. The age of 35 is almost the same as the age of 25, and there is no desire for learning and growth at the age of 25. On the contrary, there are many chores in family life, and the salary requirement is often high.
And if we actively learn, maintain technical ability, knowledge reserve and working years in proportion, this to the age of 35 where there is no anxiety, SUCH a bull I think should also be the major companies to grab it? Learning, however, is an anti-human process that requires us to push ourselves out of our comfort zones, take the initiative to learn, and stay technical.
There is a saying in Didi that the fastest growth occurs when people actively jump out of their comfort zone and feel the struggle and pressure, often in the darkness before dawn. On the other hand, if you feel like your day is comfortable and your work is just slogging along, you might be boiling the water.
Fresh out of school, often with more free time, is a good time to try to learn skills. With this period of time to lay a solid foundation, develop good learning habits, maintain a positive learning attitude, should benefit for life. As for how to study efficiently, there are a lot of great people write such posts on the Internet, after the company Intranet can also find a lot of such sharing, I won’t talk about it.
Join study groups and technical communities, both inside and outside the company, to focus on cutting edge technology.
Take initiative and communicate feedback in a timely manner
The first two are from the perspective of individuals. I hope you can improve your personal ability and maintain your core competitiveness. But from the perspective of the company, the most important thing for the company to recruit employees is to let them create business value and serve the company.
Although there is a certain training system for school enrollment, in fact, the company really has no obligation to help us grow. In terms of doing things for the company and creating value, I think the most important two words are initiative, initiative to undertake tasks, initiative to communicate, initiative to promote project progress, initiative to coordinate resources, initiative to give feedback, initiative to create influence and so on.
When I first joined the company, I basically did my own work well according to the tasks assigned by the leader, and then did my own work. I almost never took the initiative to communicate with others or think about ideas that could help the development of the project. I thought I could finish my job with good quality and quantity, but later I found it was not enough. It was just the most basic requirement.
However, some students just need to synchronize what direction they want to do recently, and the leader does not need to worry about the following series of things. I also like such students as the leader. One of the most common words I hear is “owner awareness”.
Another important part of this process is communicating feedback in a timely manner. If the project is not progressing smoothly, if you encounter any problems, you should synchronize with the leader in time, discuss with the leader if you are not sure about the technical solution, and ask the leader for help if some resources cannot be coordinated. Do not have too many scrubles, think it will be too troublesome, the leader is actually doing this.
If the project progresses smoothly, the leader does not need to be involved, then the progress of the project and the income achieved should be timely feedback, and their own ideas should be discussed. They should also ask the leader for suggestions on the current progress and what needs to be improved to eliminate information errors.
Doing these things, on the one hand, makes reasonable use of various resources of the leader; on the other hand, it also enables the leader to understand his workload and control the whole project. After all, the leader also has the leader and has to report to the leader. It may be that we are more disgusted with the upward management bar, there is internal taste, in fact, I do not do well. However, the most basic point is that it is not cool to work in a stuffy head after receiving a task or even isolated from the world. You have not synchronized with the leader for a month.
Be proactive. Start by forcing yourself to speak up in public and one-one-one when you have questions or ideas
In addition to the above points, there are a few minor points which I think are also important, listed below:
The first thing is to build trust
The first thing you do when you just enter the job is very important, which directly determines the first impression the leader and colleagues will have on you. The first thing to do after entering the job must do well, at least to successfully complete and can not be out of line accidents. The whole point is to build trust and make the team feel like they’re at least trustworthy.
If this is done well, the rest of the way will be smooth. If this thing is mixed up, some leaders may give a second chance. If it is not good enough, it will be difficult later. This is more important for social recruitment.
However, when I just joined the company, I was not skilled in the technology stack and the business was complicated. It was difficult to clear up any clue, so the pressure was really great. At this time, on the one hand, I need to put more energy into it. On the other hand, I need to communicate more with the students in the group.
In my opinion, the most efficient way to learn is not to read books or learn videos, but to talk to the corresponding people directly, so that they can basically understand everything after being explained by others. This efficiency is much faster than reading documents and codes. It not only saves the process of filtering useless information, but also understands the evolution history of the business. Of course, this requires a certain amount of communication skills, after all, colleagues are also busy.
A bit thicker skin, more people to talk, quickly blend in, the most taboo problem also do not say, their own isolation.
More than expected
The extension of the word beyond expectation is very wide. For example, the leader asks to do a value week to answer everyone’s questions in the user group. The result not only answers everyone’s questions, but also collects and classiifies these questions, and then makes an intelligent question-answering robot to liberate the manpower of the value week, which can be considered as beyond expectation. For example, the leader made a small tool for the operation, and finally built a series of tools and even developed into a platform and a complete project, which was also beyond expectations.
Exceeding expectations requires us to have the ability to make things bigger, that is, to think of the unexpected place of the leader, create actual value and get business benefits. In fact, this ability is also more important. In my work, I found that some people can make a small plate bigger and bigger, while some people just do the opposite. Then those students with innovative ability and often exceed expectations will obviously have more development space.
This part actually depends on personal ability, temporarily did not think of what is too good shortcut, think one more step.
Systematic thinking, systematic construction
This sentence was summarized when I was promoted. The general idea is that when building systems, we should have a global vision, not be limited to a small point. We should have good planning ability and a clear evolution blueprint. For example, today adds a monitoring, tomorrow adds an alarm, these things should not become an island, but belongs to the stability of the construction phase of one of the small steps.
The work to be done in this phase of stability construction is alarm configuration and monitoring, including machine monitoring, system monitoring, business monitoring, data monitoring, etc. It is expected to get the benefits of XXX.
There is a follow-up roadmap for this work. Capacity planning and access pressure testing should be done in the second phase of stability construction, downgrading drill and multi-active disaster recovery should be done in the third phase, and disaster recovery should be done in the fourth phase. It gives the impression that this person is very thorough and methodical.
Usually positive summary precipitation, more communication with others, the formation of methodology.
Improve your soft qualities
The soft competence here actually means PPT, communication, expression, time management, design, documentation and other abilities. To be honest, I think I got promoted because I did a little better powerpoint… Maybe we usually do not pay much attention to these abilities, I did not pay attention to them before, think it is relatively simple, when used directly on the line, but the fact may not be as simple as imagined.
For example, in the work of PPT+ speech + defense when I was promoted, I actually had to think about a lot of details, such as how to select the content, how to design the layout, how to guide the audience’s emotions, and how to answer the questions of the judges.
When I was promoted, I saw a lot of students’ PPT content was disorganized and the speech process was not smooth and natural. Although I did a lot of practical work, I still lacked a lot of expression, which was good at doing and bad at speaking. If I met judges from other departments who did not know the actual situation, I could expect to suffer a loss.
The company Intranet generally has some soft quality training courses, you can find some occasions to deliberately train.
The e above is the sharing of these are still relatively grand, but the social bar is not all so beautiful. The following content has a negative energy tendency, three special positive students and the feeling of discomfort is recommended to skip.
Flattery really smells good
Before I entered the job, I was very disgusted. The reason WHY I wanted to join the Internet company was that the Internet company didn’t have so much worldly wisdom.
A few days before joining the company, the big leader in the department group sent a message, followed by dozens of news with thumbs immediately, learned, praised, really good, excellent, that scene, said that the red flag flaring gongs and drums noisy firecrackers together is not too much.
In addition to marvel at all super ability of information receiving and processing speed, furthermore I also found that even flatter is formation, primary sector leader hair message, several secondary department leader, behind each group leader, the last is everybody’s carnival, let I suspected flatter is decided by the speed of the development of the career prospects (that’s right, I have no doubt now).
To be honest, I’m still not used to kissing ass in the group, but I don’t hate it anymore, so IT’s kind of fun. It’s not that I don’t have the eloquence and ability (in fact, there is no need for eloquence, everyone is simple and direct). In some occasions, to livening up the atmosphere, I can also put honey on my lips and even arrange the rainbow fart of ancient poems to the leader. However, I found that my immediate leader did not curry favor in the group, so I secretly cater to the leader’s preference by not openly kissing up on the surface.
But as long as you master the degree of flattery, the whole thing is still sweet, at most useless, at least there won’t be any harm. Everyone has the same ability, and every opportunity to curry favor with the group is an opportunity to show off. According to one colleague, this is called building personal technical influence…
You can do it if you want, and there’s no need to be grudging, “Respect Greatness.
Never absent from the fight with actual combat there are people, there are rivers and lakes. Although most of the people who engage in technology are not sophisticated, these annoying things will not be absent, and I have even seen a public mass email fight…
This part of the topic involves some sensitive information not to mention, and we in the lower ranks do not have many opportunities to encounter such things. I just want to remind you that sooner or later, when you’re working, you’re going to have to eat some of this stuff.
Just be careful, we’re not going to be bullies, but we’re not going to be bullies.
Don’t let the pie fool you
To tell the truth, I personally is more disgusted with pouring chicken soup, chicken blood, talk about the dream, talk about the struggle of this kind of behavior, this set of political governance is still in full force, really do not know is the ridiculous or sad. There’s nothing wrong with these words, of course, but these things should be self-driven, not a push from the outside.
“I have to work hard” is normal to me, but “you have to work hard” feels a little weird. Hard work makes the shareholders rich? Especially when there is not enough money, such behavior is tantamount to hooliganism.
We need to keep a clear cognition of the leader’s pie drawing operations, make rational analysis and make decisions. For example, feeling underpaid (or underpromoted, similarly) can be one of the following:
• The leader knows the fact that you have a low salary, but he doesn’t know how strong your demand for a raise is. • The leader knows that you have a demand for a raise, but he doesn’t think you are capable enough. • The leader wants to give you a raise, but he does not have resources
At this time, what we need to do is to give upward feedback and communicate with the leader for confirmation. If it is 1 and 2, then the information error can be eliminated through communication. If it’s 3, we need to talk about it case by case. If it’s 4 and 5, you can already think about retreating.
There’s no need to complain about these things. Complaining won’t solve anything. What we have to do is work hard to improve our personal ability, maintain our personal competitiveness, and wait for a suitable time, job-hopping is done.
Be prepared. There’s nothing to be afraid of if you’re skilled. You just jump ship.
Learn to packaging
This one is plain and simple, to be able to blow. I don’t know where I read it, but being able to speak, write and act are the top three requirements for a professional. Being able to speak is important. Being able to speak leads to projects, resources, and people.
The same thing, different people can say completely different effect. For example, when I make a small tool and put it online, I can only tell the basic facts and ask the leader to describe it, which is to create the tool grab of XXX, improve the complete ecology of XXX and form the business closed loop of XXX. Dude, I’ll take it. I’ll give you all the coins.
According to my observation, every Internet company has a few words: grasp, ecology, closed loop, pull, comb, iteration, owner awareness, etc. All we need to do is read and recite the whole text, no, memorize and use it well.
This is the packaging of things, the packaging of people is the same, especially in promotion and interview such exam-oriented occasions, characterized by a short process of a hammer deal, packaging is particularly important.
The following scene is extracted from the interview process with an interviewer of a company, you can feel the situation:
We have a $40 to $50 billion market behind us…
I was responsible for a system with 100 billion page views per day…
It’s not bad to work for two years to get to this point…
Your company’s technical atmosphere is very good, business development prospects are also very broad…
Ah, both of us…
Well, I’ve heard a lot about…
Life is like a play, all depends on acting.
You can watch the leader’s PPT and listen to the boss’s upward report and information meeting.
Which is more important, choice or effort?
Why do you ask? Of course it’s choice. Hard work is worthless in the face of perfect choices, and one of my high school friends I haven’t heard from in years is already ringing the bell in Times Square this year…
But such cases are so rare that the random cost of making a perfect choice is too high and the uncertainty too great. For most students who just graduated, their judgment of the industry is not mature enough, and their grasp of their own ability and difficulty in starting a business is not accurate enough. At this time, it seems too risky to hire several people to start a business.
In my opinion, a more secure way is to join a company with a larger scale first, find a good leader, hold on to his legs, and improve his personal ability. Good platform, thighs, and personal effort, that’s a good takeoff speed. After accumulating certain contacts and funds, I have a deep understanding of the market and demand, and have confidence in myself. Then I can consider starting a business.
I was going to share some life stories, but it’s already so long, so that’s it. Some of the summary and suggestions I wrote above are not very good, I still need to continue to refueling, and we encourage each other.
In addition, some of these views, due to the limitations of personal perspective is not guaranteed to be universal and correct, these views may change after a few years of work, welcome to communicate with me ~ (Shake the pan success)
Finally, I wish everyone can find the right job, happy work, happy life, broad world, great achievements.