"Programmer" is an Overgeneralization
blackhole12.blogspot.com
"Programmer" is an Overgeneralization
1–10 of 51 posts
Re: "Programmer" is an Overgeneralization
#2 > These jobs are both extremely difficult for completely
> different reasons, and neither person can do the other
> persons job. What is good practice for one is an
> abhorration for the other. We are both programmers.
This applies to pretty much any job description in the world. You're always generalizing at some level; that's a fairly straightforward necessity. Depending on the requirements, you adjust your description. No two accountants do the exact same thing; doesn't mean they're not accountants. Neither does the fact that everybody's doing some accounting make them anything other than accountants.Stating that "programmer" is too broad a term means drawing an utterly arbitrary line. Because for the all the same reasons and at some level, "AI researcher" is too broad. So is "graphics programmer". So is "HLSL shader coder". Etc.
Re: "Programmer" is an Overgeneralization
#3> These jobs are both extremely difficult for completely > different reasons, and neither person can do the other > persons job. What is good practice for one is an > abhorration for the other. We are both programmers. This applies to pretty much any job description in the world. You're always generalizing at some level; that's a fairly straightforward necessity. Depending on the requirements, you adjust your descrip…
As he alludes to, "scientist" is a perfectly sensible word, with a meaning that most people would agree on, but at the same time the divisions within it - from botanist to nuclear physicist - are also very clear. We all understand that those are two very different roles with a fairly small intersection of skill and knowledge.
He argues that the same should be true for programmers, but that we don't acknowledge that.
Re: "Programmer" is an Overgeneralization
#4>On a vertical axis, a programmer … could be writing compilers … On a horizontal axis, they could be experts on databases, or weeding performance out of a GPU, or building concurrent processing libraries, or making physics engines, or doing image processing, or generating 3D models, or writing printer drivers, or using coffeescript, HTML5 and AJAX to build web apps, or using nginx and PHP for writing the LAMP stack the web app is sitting on, or maybe they write networking libraries or do artificial intelligence research. They are all programmers.
"They" could very well mean a single person. What does one call oneself in that case? I don't really like "Full stack developer" but it's the best I can think of, besides "programmer" that is. Perhaps "generalist developer" but that sounds wrong too. I don't do all of those things mentioned but I know how I could learn to do all of them adequately enough to create business value, and the specific things I do actually do are pretty varied. One day I might be writing in C caring about every byte of memory, the next I'm writing in Python and creating and destroying thousands of new objects willy nilly, wasting many megabytes of memory, and not tweaking the GC because the problem doesn't call for those optimizations. Maybe for an hour that evening I'm back in C again but writing a one-off prototype on an embedded system and so I don't bother freeing any of my mallocs or don't bother practicing any decent coding practices that aren't habitual since I know the code will be thrown away after its purpose is served. And the next morning maybe I'm firing up a hundred Amazon instances running NodeJS servers doing stuff with gigabytes of data.
I am a programmer. I program things. What, specifically, changes from day to day, sometimes from minute to minute. Trying to pigeonhole me into a specialty like other fields just doesn't work; programming is my specialty. If I'm at a corporation and the bean counters want to call me "Product X Maintainer" for a job title just so they can associate it with a salary, fine, whatever. My business card still says "Programmer" on it. When people actually want to know what I do, I'd be happy to go into more detail, but it quickly gets verbose and tedious and not very exciting to most people.
Re: "Programmer" is an Overgeneralization
#5Re: "Programmer" is an Overgeneralization
#6my point is, that after 15+ years of software development in various languages and environments I could take on any programming task in any language (even having to learn it). the task could require either specific domain knowledge that I already posess or that I have to learn to the extent that allows me to do the job.
if I get interested in AI and spend 3 years experimenting with it, I'm still a programmer... and an AI pro.
Re: "Programmer" is an Overgeneralization
#7It depends on context. Some advices apply to programming in general, some are only true for some fields.
Also - in science there's much talking recently about too strict specialization, and people from different fields not speaking between themselves, not sharing their tools. I guess it's good that in programming we don't have that problem yet. And if it comes with flamewars, so be it.
Re: "Programmer" is an Overgeneralization
#8Re: "Programmer" is an Overgeneralization
#9Re: "Programmer" is an Overgeneralization
#10The only way not to overgeneralize is to say "I'm an Andy" or "I'm a Kate" or "I'm a Jerry". Everyone is quite unique. The purpose of titles is to generalize a bit ;)