The author of this article Yu Yu, the first law in its public number "Yu Yu thought" (No.: Yurii-says)
This article is reproduced in http://www.codeceo.com/article/occupation-programmer.html
When I was at work, I couldn't figure out why there was an "industry" option in the job search message, and a "career" option, and many times "industry" and "career" overlap, such as "software development" in the industry, "software engineer", which is not the same thing? After a few years, the mystery was truly untied.
The funny thing is, I thought that only I did not know the problem, slowly found that it is not so. Working long time, many young friends and I talk about the work of the problem, I found that many people on their own career confusion, are derived from the "industry" and "occupation" understanding. It seems that it is worth writing an article about this question and talking about my opinion.
- The so-called "industry", usually in terms of the company, refers to the area where the company's business is located. such as "Transport", "retail", "e-commerce" and so on.
- The so-called "occupation", usually personal, refers to the specific work performed by an individual. such as "Truck Driver", "Salesperson", "Graphic design" and so on.
The above example looks simple, but often confusion occurs in life. Because industry and occupation are neither mutually exclusive nor overlapping, each person has his or her own profession, and the name of the profession and industry may be very similar. The industry has "software development", the occupation also has "software development", the two still have the difference. If the industry is "software development", often refers to the person's company is responsible for the development and sale of software products, if the occupation is "software development", often refers to the person himself in the code development software. The extension said that software companies are not only developers of software, but also testing, finance, administration, sales and other occupations. Software developers are not necessarily in software companies, e-commerce, research and other industries such as the need for this profession.
By figuring out the general relationship between industry and occupation, you can talk about your career.
Basically, any job can give a person a fresh sense of not more than 6 months, and then just a simple repetition of labor. From the company's point of view, this is a reasonable arrangement, the highest efficiency of skilled workers and most insured. From a personal point of view, it is likely to be dissatisfied, the people will always think of self-improvement. But where is the strength to spend? Time is limited, and no one wants to have a white flower.
At this time, industry and occupation represent two directions of development. Choose the industry, it is necessary to expand their breadth of knowledge, to contact the downstream people, understand the whole business, the whole business chain is how to play. Choose a career, you need to deepen their skills proficiency, looking for more professional than their own people and materials, to learn.
Usually we say "to learn from experts", but there is no clear direction, because experts have both industry experts, as well as professional experts. Suppose you do program development in an online store, then your industry is e-commerce, and the profession is a programmer.
Select the industry as the direction of development, we should focus on the following questions: E-commerce applications have what characteristics, in the system selection and use of what to pay attention to, which problems are suitable for the use of what framework and middleware to solve ...
The choice of career as the direction of development, you need to focus on the following questions: What are the existing programming language and framework functions, what characteristics, the system has what technical indicators to indicate what the meaning, the system will probably what the problem should be how to solve ...
Notice above I said "Focus", the combination of extreme "partial section" is no market. Just being concerned about the industry and not doing it can only be a matter of talking, just caring about the job and not understanding the background and rules. Therefore, most occupations often have entry requirements for industry knowledge and professional skills. However, many people may not be aware of the question of how individuals should choose their direction when they grow up, whether they focus on industry knowledge or professional ability.
To be sure, at least a considerable number of programmers choose to be "professional." No matter what the industry programmer, everyone is willing to argue about what language is good, what framework is good and so on, positioning themselves as "neutral" technical staff, so-called "neutral", refers to the specific problem is not related to the specific field. This career choice, the United States is called "professional programmer."
But this "professional programmer" often has a lot of problems working.
One of the typical manifestations is that business people often shout "How do you not understand this, this should not want me to say ah", because they really "do not understand"-I have seen a lot of developers of the storage system really do not understand what is the library age, but also do not understand the difference between the standard and inventory and so on "entry problem";
Typical performance of the second is that I often encountered in the interview from a completely different industry programmers, to apply for the industry did not understand and do not do homework, see "programmer (Development Engineer)" directly to the resume. You ask him, "What's the difference between NoSQL and SQL?" Usually you can answer it and ask him, "What characteristics of e-commerce and SNS determine that they are going to use a lot of nosql" is often not answered. If you ask him again, the typical problem in the industry is that there are fewer people to answer than the model in software science. But many "professional programmers" feel that this is not a problem, they do not have to worry about these problems.
The reality is that a large number of "professional" programmers are more suitable for "pure" development, although the profession has "talent", and "industry" programmer is very scarce, in many industries there are a large number of companies need to develop "do not demand sophisticated, only stable can use" system, willing to pay high salary recruitment has enough industry knowledge, Programmers who develop relatively generic skills have been without a long-term gain. I believe many programmers abandon the "profession" and choose "occupation" is not a conscious choice, but this "unconscious" price is sometimes too big to sigh.
Why is that? I think there are two reasons.
On the one hand, the software development itself is mature enough, for the pure software field of many classic problems, has a fairly mature solution, a variety of languages, frameworks, components have been quite reliable, not so reliable programmers can be used directly. In other words, "pure" software development has been quite a lot of accumulation, to make achievements in the threshold has been very high.
On the other hand, the software how to solve a variety of practical problems, in fact, there has been no classic solution. The software is the first to solve the scientific calculation and banking problems, go is the way of theoretical advance (remember Codd Classic paper bar), then the software began to try to solve other problems in various fields, this time can only practice first. These areas (industries) before the experience and norms of how to transplant into the world of software, which are worth preserving, which need to be updated or abandoned, a large number of such problems are still groping (especially after the rise of mobile internet, because emerging scenarios and problems multiplied).
In this case, the value of industry knowledge is not difficult to understand. If there are two programmers, a more professional skills, one months to the storage management system to improve the response speed of 100%, b industry knowledge more, one months to improve the accuracy of the warehouse management system 40%, shipping speed increased by 20%. For most companies in the e-commerce industry today, who is worth more is probably self-evident – in fact, for this phenomenon, Weinberg has given a model in "becoming a technology leader": Don't count addition, count multiplication. If you spend 90% of your energy on the job, 10% of the energy in the industry, the total score is 0.09, if the energy distribution is 60%:40%, the total score is 0.24. The values may not be accurate, but the overall trend is correct.
Some may say that the "industry" is risky, what if the industry is depressed? Or rely on the "occupation" of the hard ability to eat more emboldened. This fear is not necessary.
First choice industry is not to luck, not lifelong contract;
The second choice of industry does not necessarily mean that you have to completely abandon the professional skills, you may only need to keep abreast of the latest technology to understand the industry's existing experience is good;
Finally, if you are technically proficient and have a deep understanding of the two or three industries, it's "domain experts", and domain experts are much more popular than "consultants" who just talk.
< go > Professional programmers don't have to be so "professional"