I often use these three almost interchangeable words, yes, and even computer scientists. After all, most of us have computer science degrees. What are the differences between them? However, recently I found that the characteristics of these three have become more distinct in my mind. When I think of people I know or engage in this industry, I can immediately classify them as one of the three. It doesn't mean that a person cannot have all the characteristics of the three at the same time, but in any case, they will always prefer one type, so I will assign them to that type,
Programmers and developersOr
Computer scientist.
(Author: Alan skorkin)
In fact, it is difficult to define the three (more intuitive than strict descriptions ). Although they are very similar (indeed), I try my best to tell them because I am not afraid of hardship.
Computer scientist
They write code (Yes, I know it's a little surprising ). The code they wrote may not be the most beautiful or the best constructed code, but can complete the task. This has nothing to do with code design or "good" habits, just to prove what they are going to prove.Computer scientists are not only technical experts, but also mathematicians.(They have 31337 mathematical skills). They must not only know that the code is valid, but also prove it. Communication and interpersonal skills are ideal quality, but they are not necessary. These people have enough basic knowledge in their entire research area, but they will specialize in one or several small areas. In these fields, they are world-class experts. They did research-related work in private time.
Programmer
Programmers write great code. It is important that the code is simplified, well-structured, and there is no error free. However, they cannot be at the cost of being unable to complete the task. In their field, it is all about understanding the meaning of "excellent code. They need to master some mathematical skills, but this is not the most important thing. They need to be clear about the (BEST) problem solution, but do not have to prove that the solution is the best.For them, they must have a wide range of algorithms, skills in professional knowledge, and excellent knowledge in related fields.Communication and interpersonal skills are ideal quality, but they are not necessary. The software development process and team energy are both ideal and not necessary. When they do not go to work, they do personal software projects to find fun.
Developers
They write code. It is important to optimize and simplify the code, but other factors are usually prioritized. Math skills are not essential, but they help you understand common problems and solutions related to your field. Communication and interpersonal skills are the most important. The software development process and team energy are the survival skills.They don't rely on any real professional technology.. They are good at bypassing problems and integrating components to meet a series of requirements. In their personal time, they are either trying their best to build the next Facebook or participate in activities unrelated to programming, development, or computer science.
(Note: Alan wrote an article to discuss the relationship between developers and mathematics. He believes that being a good developer can have no mathematical skills, but cannot be a good developer. For details, see the article "mathematics is a required skill for excellent developers .)
- To some extent, developers are programmers.
- To some extent, computer scientists are programmers.
- Enterprise Software belongs to the field of developers.
- Google and Microsoft are developed by programmers (including a small number of computer scientists ). The developers there eventually became product managers.
- RnD (R & D) and academia belong to the field of computer scientists (including programmers to a small extent)
It should be noted that these three do not mean derogatory or inappropriate in any aspect. They embody the same value. They are just different aspects of the field we are dealing with (there are some crossover points ). One of them may have more distinctive features, but this does not mean that the three cannot penetrate and integrate with each other. A good developer is likely to be an outstanding programmer at the same time (although it is difficult to focus on so many important things ). In rare cases, you may even have three in one. That is what I would like to know from you. Because we should start a company together, so that I can take the wind with you :). However, no matter where you fail, as long as you grasp one of the three, it is entirely possible to succeed.
What is a software engineer? They are only a subset of developers.
I believe that I have not fully expressed my thoughts. It doesn't matter. This task is handed over to you, dear reader. Do you think programmers, developers, and computer scientists are different? If so, are you positioning them similar to mine? If not, I would like to hear your thoughts about them. (Editor's note: I have always equate "programmers" with "developers" and never thought about the distinction between the two. As Alan expects, if you have other ideas, please share them with us in the comments .)
Source: bole online-workplace blog
Http://www.jobbole.com/entry.php/526.
Author: Alan Skorkin Compilation: bole online agile translation group-Wei Zhe