There are many different types of programmers doing software development. Computer programming? Still coding? These are the labels or boxes we use to classify people and their skills. Just like we distinguish testers, coders, managers, architects, designers, CLOs, etc., these are more obvious. So what makes a coder a coder or a programmer a programmer? We can loosely use them interchangeably to mean the same thing, but from an external perspective, I like to think of them as badges or stripes. You will gain with time, patience, wisdom and experience.
Some people have certain qualities towards them that make them better, worse, better or worse than the next person. To simply determine what these might be, I recommend using five boxes or labels.
- Tool user
Tool users are among the least experienced. He has enough knowledge to explore tools such as Visual Studio 2005, and simply drag and drop widgets onto the form to create a GUI. For someone who does n’t know better, because the results he produces usually look striking (this is due to the efforts of the tool rather than what he did), they give him and / or his structure Highly praised. Why use the word construction rather than production or development? Well, he didn’t develop anything. He uses increasingly sophisticated tools to construct things. Although a good manager is clumsy or technically proficient, he still found his place, but unfortunately (or fortunately, for the better programmers in the world).
This is the worst software developer. When the insider breaks down or he / she needs to change behavior to do substantive things, just forget it.
Selected language: Does it really matter? All garbled
Selected software: Provide all RAD tools for rapid development of clicky interface
The hacker has surpassed the concept of expecting tools to do all the work for him. He possesses basic or basic development skills. There is no knowledge of compiled languages, but the understanding of scripting languages is good enough to piece together pieces together. He can usually copy and paste scripts and adjust variables and functions. He usually does not understand the overall situation of developing anything, but he can crack things with good luck. He looked for code snippets in a forum on the Internet to achieve the functions he wanted and put them together.
Selected software: A simple text editor, perhaps a text editor that provides syntax highlighting
What do programmers know about coding and writing software? His understanding of tools is not like his own understanding of language. He didn’t know much about the tools he used because he realized that these tools would not help him get the job done. However, this negligence prevented him from realizing the benefits they could provide for experienced programmers.
Unfamiliar with tools and libraries; due to his limited exposure and experience in a wider field, he was unable to be blinded by the larger project environment that required version control, many developers and larger environments. He was just unfamiliar. Similarly, although he is a capable programmer, he does not necessarily consider how others will use what he has written, so it is actually not suitable for a team building environment. He is a skilled “lonely programmer”. He may have skills, but no one can work with him because he does not think that the code he wrote exceeds or falls below him.
Selected language: C ++, Java, C #, Visual Basic
A developer is an experienced programmer who understands that there are many more lines of code than software. Compared with programmers, he has a better understanding of software design concepts and principles, and has comprehensively considered the problem. Although he has a good understanding of this issue and is willing to view it from most angles, he does not necessarily understand the entire field to which it applies.
With his experienced programming skills, he no longer relies on tools, but uses tools to increase productivity.
Selected language: In general, managed code prefers managed code to managed code because he realizes the increased productivity that comes with it.
Selected software: Large-scale development IDE; provide information, syntax highlighting, code snippets, templates, formats, etc.
The architect is the cream of the crop. He is an experienced software developer with more than ten years of experience in this field. He has gone beyond merely developing software and understanding the technical aspects of good solution design. He can enter the business field and connect every bit that people in the field cannot do. With years of experience in what works and what doesn’t work, he is often hired as a consultant because of his valuable expertise.
This wider and more professional skills set high demands on him. When a company wants to introduce generous money and ask a consultant. This guy
Selected language: Programming left him a young time, and his consulting services required him to write very few lines of code.
Selected software: Modeling tools, measurement tools, and tools for comparison purposes.
What types of programmers have you encountered / worked with in your life?