For several days I have wanted to add something to what Kasia wrote about classifying programmers. I believe every ‘programmer’ has encountered the ‘job-titlte’ problem.
1) Programmer has become a bit of a derogatory term around here. A programmer is someone who has to program exactly some kind of stupid/easy code that others tell him to program. He’s only implementing other’s designs.
Just the other day I had a conversation with someone who said when he heard I had a computer science degree and where I was working: “So you’re a programmer …” Of course he had no idea how offended I felt. Especially when he added some more of that talk ….
2) Software Engineer / Developer is what most people with a degree in the field are called around here. Where the difference between engineer and developer is not so big. They come in different colors too! Soon. A developer has more responsibility and earns a lot more money too 🙂
3) Hackers or ‘gurus’ are those who know so much about the stuff they are working with noone else can understand their code. Those are the people with ‘secure jobs’ … we have the other kind of hackers too mostly we have had a good laugh watching them jump up and down in our statistics without any effect whatsoever.
Usually I prefer to go with the developer …. it’s my official title and what I am doing. My mother usually tell’s people “she has a degree in computer science”, which is also true but says nothing about my job actually 🙂 My dad prefers the “she works for a large ISP” and when I talk to people in the same field who don’t know me so well I add the “developer in the unix department”.
Well but Kasia forgot to mention the fourth type:
4) Fricklers. Is not quite a type in itself. It’s more a style or better a non-style. To ‘frickle’ means to ‘hack’ but without the expertise to make it a real hack. ‘Frickled’ code is very prone to errors, usually written in a haste to finish up a project or some unpleasant part of it. Fricklers usually believe they are hackers, but their code belies them. It’s hard to explain, everyone around here uses the term to describe them because it’s easier.
Each of the other types can turn into a ‘frickler’ at any point where programmers are least likely to do so because they just don’t have the freedom to do so. Hackers can drift off into frickling easily. The ‘frickle’ developers are those that believe they have a great design which is basically a lot of wrong concepts put together. Those are hardest to spot because it’s not in the code but in the flawed design.