Now, I really do not consent with the terminology given in the article. Here's an alternative description:
In the old days of computer jargon a hacker would be someone who would be able to optimize the hell out of a code by exhibiting a crystalline beauty in his code at the same time. He would achieve his goals sometimes by unexpected means and ways. He would take pride in his code, which could not have been produced in an industrial fashion.
In the even as old debate of art vs engineering, an engineer would be the more bovine species. In reality a good software engineer is someone who doesn't focus just on the brilliance of code, but (also) on the aspects of its social production. (Is the architecture suitable to be broken up into programmers' tasks? Is the algorithm understandable? Is it maintainable? Often it's better to go for a more mediocre solution in terms of code efficience and rather have a reproducible and maintainable expression of the underlying ideas than some kind of mind twisting wizardry in your code base.) A software engineer is focused on the production of code as an industrial process.
A developer comes in all flavors, occupying any position in this continuum. He might be a hacker, but knows about the limitations of industrial processes. Generally, a developer is expected to be focused more on the task than on the social process of its production. He "speaks" his languages and knows the APIs by heart. You could say, he's centered on solutions, often encapsulating his knowledge and achievements in opaque libraries for the benefit of more earthly users.
And for the term hacker as used in the article, someone who's just poking around and not really knowing what he/she is doing? Isn't there a word like "script kiddy"? (Yes, the classic hacker was also poking around, but to be considered a true hacker, this would lead to supreme knowledge and insight in the system that would even transcend the ones of the system's designers.)
Not that this could be claimed to be more true in any way, it's just an alternative description.
But as for me, it's rather a question of attitude than of levels of skills.
In the old days of computer jargon a hacker would be someone who would be able to optimize the hell out of a code by exhibiting a crystalline beauty in his code at the same time. He would achieve his goals sometimes by unexpected means and ways. He would take pride in his code, which could not have been produced in an industrial fashion.
In the even as old debate of art vs engineering, an engineer would be the more bovine species. In reality a good software engineer is someone who doesn't focus just on the brilliance of code, but (also) on the aspects of its social production. (Is the architecture suitable to be broken up into programmers' tasks? Is the algorithm understandable? Is it maintainable? Often it's better to go for a more mediocre solution in terms of code efficience and rather have a reproducible and maintainable expression of the underlying ideas than some kind of mind twisting wizardry in your code base.) A software engineer is focused on the production of code as an industrial process.
A developer comes in all flavors, occupying any position in this continuum. He might be a hacker, but knows about the limitations of industrial processes. Generally, a developer is expected to be focused more on the task than on the social process of its production. He "speaks" his languages and knows the APIs by heart. You could say, he's centered on solutions, often encapsulating his knowledge and achievements in opaque libraries for the benefit of more earthly users.
And for the term hacker as used in the article, someone who's just poking around and not really knowing what he/she is doing? Isn't there a word like "script kiddy"? (Yes, the classic hacker was also poking around, but to be considered a true hacker, this would lead to supreme knowledge and insight in the system that would even transcend the ones of the system's designers.)
Not that this could be claimed to be more true in any way, it's just an alternative description. But as for me, it's rather a question of attitude than of levels of skills.