Live data from Hacker News

"Programmer" is an Overgeneralization

blackhole12.blogspot.com

11–20 of 51 posts

Re: "Programmer" is an Overgeneralization

#11
post #7

"Programmer is overgeneralization" is overgeneralization. It 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…

Agreed. The world works fine with all sorts of categories, some overlapping, some with varying degrees of specificity. I see nothing special about the 'programmer' category.

Anyone interested in how categories and language relate to cognition should check out George Lakoff's "Women, Fire, and Dangerous Things".

Re: "Programmer" is an Overgeneralization

#13
post #9

Very nice article. To be a "systems programmer" or a "rails web programmer" are two very different things. One is not "better" than the other, only different with different skill sets and knowledge while still sharing some general concepts (looping, variables, etc).

The difference is that it's not uncommon for the same person to be good at both systems programming and rails development, while the elusive quantum physicist-marine biologist is far more rare.

Re: "Programmer" is an Overgeneralization

#14
Do you know why we have pointless language wars, and meaningless arguments about what is good in practice?

As a veteran language warrior, I resent the claim that my efforts are "pointless". There's a lot of terrible software out there, and one of the reasons for this is that inappropriate choices were made on the outset.

Now, I'll be the first to say that there isn't "one language to rule them all". I recently got into a debate over C++ (which I dislike) where I learned that there are people making judicious use of this language, which is still inappropriate for 90% of the purposes to which it is put, but seems to suit some needs perfectly in a way that neither a high level language nor C can.

Software engineering is a generalist discipline: how to solve problems and add value to organizations using software. It applies whether you're writing performance-critical weather simulations or web apps. It has rules (such as "prefer immutable data and referentially transparent functions") which you must know to be a decent software engineer but that you will end up breaking 1 to 10 percent of the time, because to break said rule (e.g. using mutable state) will be the most tasteful decision.

I think skill as a software engineer is pretty easy to measure-- increasing scopes of contribution, reliable competence on harder architectural problems. Domain-specific programming skills are much harder to measures, and skill of that variety is n-dimensional without question.

Software engineering, I'd argue, is the liberal arts of programming. You need to know about algorithms, but not necessarily become an expert. Same with AI, programming languages, operating systems and databases. You study all these things to learn how to learn, so that if you find yourself, some years later, needing to tune a NoSQL database, you know how to find the knowledge, autonomously if necessary, and apply it.

Re: "Programmer" is an Overgeneralization

#17
post #13
post #9

Very nice article. To be a "systems programmer" or a "rails web programmer" are two very different things. One is not "better" than the other, only different with different skill sets and knowledge while still sharing some general concepts (looping, variables, etc).

The difference is that it's not uncommon for the same person to be good at both systems programming and rails development, while the elusive quantum physicist-marine biologist is far more rare.

I've not found this to be the case.

Re: "Programmer" is an Overgeneralization

#19

Do you know why we have pointless language wars, and meaningless arguments about what is good in practice? As a veteran language warrior, I resent the claim that my efforts are "pointless". There's a lot of terrible software out there, and one of the reasons for this is that inappropriate choices were made on the outset. Now, I'll be the first to say that there isn't "one language to rule them all". I recently got in…

n-dimensional without question huh?

Boy did you miss the point of that article.

Although I do know of a great position which might interest you, it's called a 'software architect', just let me take you round the back here, ignore the guys with guns...

Re: "Programmer" is an Overgeneralization

#20
Hackers love complexity. Others just don't. Understanding differences between two (especially "difficult") things means at least having a vague idea of what each is about. And regardless how you find that interesting, almost any non geek/curious/techie will not give anything about both "what (general-purpose) programming is" and "what whatever-complicated-thing-you-do is instead". Unless they have any specific reason to put some effort in it.
Post reply on HN