5 Types of Programmers - Which Type Are You?
Some people just have certain qualities about them that make them good, bad, better or worse than the next person. In order to simply determine what these might be, I propose five boxes or labels.
The tool user
The tool user is the least experienced of them all. He has enough knowledge to poke around tools like Visual Studio 2005 and whack together a GUI simply by dragging and dropping widgets onto a form. To somebody that doesn't know better, because he produces results that often look compelling (brought about by the efforts of the tool and not his own doings), they think highly of him and/or his constructions. Why the term construction and not production or development? Well he doesn't really develop anything. He constructs things with the use of ever increasingly sophisticated tools. Good management that is cluey or tech savy will see past this but unfortunately (or fortunately for the better programmers of the world) he still finds his place.
This is the worst kind of software developer. When something under the hood breaks or he/she needs to modify behaviour to do anything substantial, forget it.
Languages of choice: Would it really matter? It's all gibberish Software of choice: Any and all RAD tools that provide rapid development of clicky interfaces
The hacker
The hacker has moved beyond the notion of expecting tools to do all the work for him. He possesses basic or rudimentary development skills. No knowledge of compiled languages but understands scripting languages well enough to piece bits and pieces together. He can usually copy and paste scripts and tweak variables and functions. He doesn't usually understand the big picture of developing anything but he can hack at something he is given with pot luck. He trolls the web an forums looking for code snippets to do what he wants and pieces them together.
Languages of choice: Javascript, html, css, maybe limited php understanding Software of choice: Simple text editors, maybe text editors that provide syntax highlighting
The programmer
The programmer has a good understanding of what it is to code and write software. He doesn't rely on tools so much as his own understanding of the languages. He isn't so phased about the tools he isues as he realises the tools aren't going to do the job for him. This oversight however blinds him from realising the benefits they can provide to a more experienced programmer.
This unfamiliarity with tools and libraries; a result of limited exposure and experience in the wider field, over shadows him from the bigger project environments that require versioning control, many developers and larger environments. He's just not familiar with it. Similarly, whilst a capable programmer, he doesn't necessarily think about how others will use what he writes and as such, doesn't really fit into the team building environment. He is a skilled 'lone programmer'. He might have skills, but nobody can work with him because he doesn't think above or below the line of code he writes.
Languages of choice: C++, Java, C#, Visual Basic
The developer
The developer is an experienced programmer who understands there is much more to developing software than the lines of code it consists of. He possesses a much better understanding of software design concepts and principles than the programmer and thinks about a problem in its entirety. Whilst he has a good understanding of this problem and is open to seeing it from most angles, he doesn't necessarily understand the entire domain to which it applies.
With experienced programming skills he doesn't rely on tools but uses them to increase productivity.
Languages of choice: Generally prefers managed code over unmanaged code as he realises the productivity boost that comes with it. Software of choice: The big development IDE's; anything that provides intelligence, syntax highlighting, code snippets, templates, formatting etc.
The architect
The architect is the crème of the crop. He's a primed software developer with ten plus years of experience under the belt. He's passed well beyond just the technical side of developing software and understanding good solution design. He can walk into a business domain and connect up the dots people inside the domain couldn't. Leaning on many years of experience on what works and what doesn't, he's often hired out as a consultant for his valued expertise.
This much broader, yet specialised skill set puts him in high demand. When a company wants to bring in the big guns and call in a consultant. This is the guy.
Languages of choice: Programming was something left to his youth, his consulting services require him to write very few lines of code. Software of choice: Modelling tools, metric tools and tools for comparative purposes.
What types of programmers have you met/worked with in your walk of life?
Related Tags: tools, modelling, architect, developers, of, types, programmers, coders
Joshua Hayes
Software design and development for passionate people
Software Developer
Recent articles in this category:
- Improper Way Of Marketing Reflects Poorly On A Company.
New business, product or service everything requires visibility, awareness in order to come into the - Replacing Paper Prints With Online Versions
Nowadays saving out on resources and being additionally informative are both aspects that are in. In - Stop Smoking Effectively
If I told you of a way that you could stop smoking harmful tobacco would you believe it? Most people - What Is Runtime Error 182? And How To Fix It
Are you finding an effective way to fix runtime error 182? Do you think fixing runtime error 182 is - Do You Know How To Fix Runtime Error 87 In Minutes?
Are you finding an effective way to fix runtime error 87? Do you think fixing runtime error 87 is to - Knowledge About Avi, Avi Player, Avi Converter On Mac
Knowledge about AVI, AVI player, AVI Converter on MacWhat is an AVI?AVI, an acronym for Audio Video - Buy Your Highly Successful Email Survey Software Today
Email Survey Software- Boost Your Business and Increase ProfitsAn email survey software could be one - Xrm - The Anything Relationship Management Solution
I recently attended the Microsoft Dynamics West Region FY11 Sales Planning Retreat. This year's meet - What Are The Benefits Of Working With Electronic Medical Records
Recording medical information is a vital part of health care services. These records are necessary f - Basic Factor To Make Website Business Oriented
Internet is home for millions of websites. The online business is becoming more and more competitive
Most viewed articles in this category:
- Parental Control Software
Parental control software is software that can help parents protect their children when they are onl - Digital Asset Management Software
Managing and organizing your organization's documents is a critical component to your business's suc - AdobeRGB vs. sRGB
Understanding color spaces I'll try to explain it very simplified, but understandable for everyone - Confessions of a Prankster
I wanted to get a jump on April Fool's Day, partially because of the long, cold winter blues, and pa - Malicious Thoughts About The Spyware Ills Of My PC
Who would think I was capable of such revengeful thoughts about the parties responsible for inflicti - Recover File and Recover Deleted File Tools
Data recovery software is a very effective way of retrieving data from a worn or damaged hard disk d - Life without Windows
Ubuntu, a user-friendly version of Linux, has been running so nicely on my home PC that I decided to - What Benefit Does an Online Software Download Site Offer You?
Are you having a problem that where you find a good softeware when you consider to have a try or wan - Maintaining A Website
There was an era when people were talking about how to create a website using html coding or some ea - Benefits Of Proper Time Tracking
Have you ever written down time when you have started and finished your work? Maybe you have had mul