Programmer skills bottlenecks when viewed from an angle to the interviewer, and gives advice to break through the bottleneck

Programmer skills bottlenecks when viewed from an angle to the interviewer, and gives advice to break through the bottleneck

 

I was doing technical interviewer when the interview subject is the most junior developers and senior developers, architects occasional interview. I found that, IT people's wages and of course the age-related technology related, but can not cross if the candidate's skills to a higher level, then their income will remain at the current level, even if the wages of years more, it can not be improved Wages.

For example, I interviewed a lot of work for five or six years programmers, their skills will remain in the CRUD stage, you can only receive junior programmer salary. Even more distressing when, in the interview process, I found that they did not even know the ways and means to increase, so, when they might have 10 years of experience, perhaps just a junior programmer.

This article will focus on the junior programmer, senior programmer and architect of these three posts, indicating that these levels of skills bottlenecks, and suggests a number of break through the bottleneck.

1. junior programmer skills bottlenecks and income bottleneck

Even non-related professions, from programmer training courses out, it is not difficult to find a job, let alone a computer-related professional background of students.

In a typical company, the requirements for junior programmer are mostly CRUD will be familiar with basic business, and many companies will not let them do more advanced live. So I am in the interview process, a lot of junior programmer level of less than 3 years and some people have almost 5 years experience, which entered the bottleneck revenue junior programmer.

Aspects such as Java, they will only use skills, such as collection, multithreading, databases, etc., will work under the Spring Framework, SQL terms, only write basic SQL statements, perhaps even using a simple index and other skills. But if I asked about the underlying code, they know very little knowledge frameworks such as Spring and asked, they would tell me how to configure and how to work in the existing framework. As for some advanced skills, such as distributed components, or deploy and logs for under LInux, most of them do not know. For project management tools, such as Jenkins, sonar and so they may have never heard of.

If the interview showed only will work, not tuning, analysis and will not solve the problem, then the primary ability is developed. In this case, in Shanghai, at current prices, it is estimated up to 12k, and at the same time, if you did five years or so, then the competition will be greatly reduced. So how to improve the advanced development of it?

  1. In peacetime too familiar with debugging code, and once the group is a problem, try to get involved, the beginning may analysis and problem-solving skills not, but slowly on the line.
  2. See more of optimization skills, as well as the more popular technology, such as databases, do not simply look at JDBC CRUD, you can even see some NoSQL redis cache, and then look at SQL tuning skills.
  3. Pay more attention to some project development and management skills, such as agile development, will stand, unit testing, integration deployment, by Sonar look at the code quality.
  4. This is more critical, much more to communicate with others, such as more communication and demand-side demand, multi-party communication and testing steps to reproduce the problem, and multi-crew leadership and communication problems implementations.

In fact, the primary development to upgrade advanced development is relatively easy, as long as the correct attitude on the subjective, do not rest on its laurels, and then look around more and more information and to communicate with people. If the company into the Internet, under much pressure environment around some more cattle, the upgrade process will be more successful.

2. senior programmer skills bottlenecks that distributed components

Advanced Development of Technology, has some tuning experience, there are certain log analysis problem-solving skills, but also to debug. On the ability to solve problems, but also to communicate with others, so as to take simple needs, and be able to analyze and solve problems. On the team, but also personal development together with 3,4. In fact, this type of capability, the work of a three-year programmers, not difficult to achieve, if at relatively fast-paced Internet company, even 2 years can be.

On wages, currently in Shanghai, take a 15k advanced development are considered low, if the company into a big, packed around 5 years experience in the development, is estimated to be able to 20k, if even higher in Internet companies, but the bottleneck is estimated at 25k about.

I interviewed senior developers, who are generally more solid foundation of knowledge, such as some of the key underlying code inside Java code that implements the collection, like many high concurrency, or the Spring framework can be put up. I generally give the advanced development of standard interview is required for the development of primary skills, and have some tuning capabilities on this basis, through the log positioning problems, design solutions and the ability to solve practical problems, but also on linux deploy code. As long as you can put up, to give general wage advanced development, just how much of a problem.

But when I interviewed, is very deep feelings, and architects compared to advanced development for cloud-based distributed components or components (such as k8s) or other high concurrent distributed components, some people may have used, but only to be used one of the API, so they set up a cluster, they might force can not and, if they ask distributed components experienced during the project development pit, most of them do not know.

For example, I asked, Dubbo in communication protocols What? Advanced Development generally put up, as this information readily available, but I ask, based on your business situation, you use the short or long connection connection? Why such an agreement? They estimate that it is difficult to answer. If I ask, if you want to deal with high concurrent request needs to be done in Dubbo in what configuration? How to build a cluster with other components in order to achieve fault tolerance into effect? Advanced development more difficult to answer.

Upgrade to junior developers with advanced development compared to upgrade to advanced development architect harder, because in the general work environment, advanced development is difficult to have appropriate opportunities to practice. But having said that, if the programmer has 8 years of experience in advanced development or later, then competitiveness will gradually decline, on the one hand very difficult to go to higher wages, on the other hand it is difficult to secure an interview by architect jobs. So how to upgrade to advanced development architect of it? This time alone attitude does not.

  1. Essential theoretical knowledge, but also on your own computer, you can set up a scaffolding projects, such as installing a virtual machine its own, set up a dubbo clusters, etc., this will be familiar with the basic configuration and usage.
  2. Internet companies to find the best practice under, even in Internet companies doing advanced development is alive, must also have access to distributed components, so there is a relevant experience. I taught in a foreign company more than 1 year architect skills, then to an Internet company, found that the practice is worth more than three months a year to explore their own.
  3. Such as advanced developers, architects have to understand more clusters, rather than stand-alone version of the code, it was more attention than some of the technical skills, such as load balancing, fault tolerance, communication protocols and processes. The accumulation of experiences had no choice but to be more hands to troubleshoot and solve practical problems.
  4. Although the attitude alone will not do, but did not approach does not work, during the upgrade, may be due to inaccurate positioning problem is not timely, or proposed scheme flawed, and thus subject to challenge others, on the contrary if the comfort zone back to advanced development can stable to live. I also have experience, fortunately I met a good teacher, and I am the master chef is Daniel, I also pointed out the many advanced direction. Otherwise, this upgrade path to stick with it, but also hard to say.

3. The project architect is that the bottleneck experience

Currently in Shanghai, the architect of the monthly salary of 30k or more in general, if a little senior point, then, 35k is not a problem, if it is the backbone of a company, then it did not even pay the ceiling.

Although not much, but whatever the outcome, I interviewed the architect of the Java side, I found the interview process, some senior architect, has considerable experience in relevant practice, more experience deploying on-line and on-line troubleshooting issues.

For example MyCAT sub-library sub-table connection, will use advanced development, the general architect will build a cluster, the production line will troubleshoot the problem, but first senior architecture can know how to go online, how to use the on-line when the packet data release to ensure compatibility, how to wash on the line after the data, how to go back on line if problems occur during what should retire. Another example for the OOM problem Netty, a senior architecture of the mind will be a number of priority investigation points to a high probability to find the problem in these ranges, not specific look and then log analysis.

If we say that there are architects who can ask, a senior architecture is that no one may ask, there are problems rely on their own experience before stepping pit obtained, or find their own information. In this sense, the architect level, and then if you want to upgrade technology, you can only rely on experience and more time to solve practical problems, but also have the business combination, the load balancing, fault tolerance and so on processing high concurrent with the idea of distributed component implementation. This regard, we can refer to the following well-known Internet company BAT or architectural knowledge.

4. At any time, the attitude is the bottleneck restricting the development of

Whether interview junior programmers or advanced development or an architect, I found some good performance, are more positive.

For example, when answering questions loud and clear voice, but also try to express a clear desire to communicate, even if some aspects of the answer is incorrect, but can also be seen in peacetime accumulation of knowledge, when pressed deeper, also more patient and one by one answer, in short, through the exchange, giving the impression that more practical touch. Some people even usually write blog, or published books, or all means to accumulate and enhance their own. Most of these people can live, even if the individual had not, no problem, but the general direction of the efforts to complete the upgrade was only a matter of time, the future potential is very impressive.

But instead, a bad answer some of the candidates, always gives some perfunctory perfunctory feel, answering such questions is relatively simple, or if the interviewer always want to set, or always want to use some ambiguous answer to muddle through.

After I and other interviewer communication, which made a deep impression, always the first to himself, and then are willing to make progress, then spontaneously summed good way to learn, and to effectively manage time and tasks.

I've seen a lot of negative cases, these people on the good qualifications, but no action has the determination or light, or simply can not extricate themselves caught in a comfort zone, these people have a very difficult technological breakthroughs. In contrast, the primary programmers have the determination and action, the time required for the upgrade will not exceed one year, some six months is enough, advanced development to upgrade the architect may be some difficulty, but generally not more than 2 years.

So, to upgrade, first of all to correct the attitude, people want to make progress, saying that it is too easy, but the number can do and can stick with it, not much, so the attitude is also upgrading bottleneck Although these words are popular, but not no reason.

5. Summary, technology lags behind, but any time there is progress in the faith

All levels of programmers mentioned herein bottlenecks and breakthrough recommendations, other than the interviewer and I are summarized from the interview process, I hope you can help.

Furthermore, due to removing the upgrade revenue to enhance the outside, under the premise of any technology, there is a corresponding means to make money. For example, I blog parks and other places, see a lot of college friends to make money by writing articles, columns and also not to open more than profound technology accumulation. Meanwhile, when the programmers advanced development to upgrade, it can make money by writing a book or record a video and other means. In addition, if it is connected to the project, at the technical level has a corresponding project. But having said that, for us programmers, any office in any company in any scene, have the opportunity to enter the comfort zone "enjoy life."

There is a saying "poor but technology can go rather short," I have seen a lot of effort to turn around by example in the blog garden, colleagues and friends around me, the often see examples of "Six months after the technology years", and these role models can inspire me to continue to make progress. So while this paper gives suggestions to break the bottleneck, but we hope to have continued to make progress in the faith.

If you feel this article helpful, please point like this, we also welcome to communicate via comment.

Published 900 original articles · won praise 387 · Views 2.79 million +

Guess you like

Origin blog.csdn.net/kingmax54212008/article/details/104089865