<i>"By and large, programming is a young man’s game"</i><p>As a middle-aged programmer who is a much better programmer now than I was when I was young, I'd argue with the article's initial premise.
To summarize, the article suggests making the "software science" job title to:<p>* "reduce career path anxiety"
* "enhance engineering organizations' self-understanding"
* "advance the general understanding of the right way to develop software"
* "raise awareness about the sponsoring engineering organization"
* "bring out some of those 'big picture' thinkers from the woodwork"<p>The third point is the only one close to the traditional role of a scientist, though "general understanding" takes more than data and statistics from a single organization. Otherwise, this seems to be a pretty blatant misappropriation of the name "scientist"!
I don't understand how this role doesn't fall under the scenario of: "The engineer becomes a manager"<p>In order to do a superlative job as a manager of a software engineering team, one has to master these same skills. Perhaps the term "Software Scientist" will help distinguish good software engineering management practices from bad ones, but I fail to see how "The Software Scientist" is not a management role.
Young people are very popular because they don't know how to negotiate their worth and hence are cheap. Older people may be more experienced but compared to hiring two or even three (more?) younger ones they will produce less code that will (probably) be less buggy and a bit better laid out but you won't be able to get them to sleep under their desks or work unpaid overtime. And those other advantages won't show right away. So in the end the younger guys get more done for the money <i>and</i> they are probably a lot more pliable.
If I ever reach the level of an IBM Fellow or similar as a software engineer, I won't care about whether you'll call me a "software scientist" or "man with long beard" or "that guy". I promise.<p>> The engineer becomes a kind of nomadic hermit (“Principal Engineer”)<p>"hermit" implies some level of isolation. Is that really the case of distinguished/principal/fellow engineers? Is there any evidence or data available?
The military is a "young man's game." Most new recruits are 18. But the people in charge, who do the strategizing and so on, are not. It sounds to me like the article is suggesting another way for experienced programmers to be held in high esteem, not suggesting that old programmers are no good. So I honestly do not understand most of the criticisms of this article being posted here on HN. Maybe there is no real difference between a "software scientist" and a manager. Maybe there is. But it doesn't sound to me like this piece in any way insults older programmers.
>You’d think that any programmer with a basic grasp of recursive algorithms would be hesitant to take a job as a software engineer.<p>What does this mean? Is software engineering "below" programming? Do software engineers write less code?<p>I've only been in the industry for a few years, mostly working on my own. I've assumed these titles were arbitrary. Are they not?
I think of this role as "The Fixer". On most teams I've worked on there is someone who ends up doing the hard parts, knows the obscure parts of the system, and tends to end up optimizing queries, cleaning up algorithms, and generally guides the long term technical direction, whether they have a title to go with it or not.<p>In my experience, while a software scientist or fixer is highly valued, they aren't necessarily highly paid moreso than anyone else on a team. Also, a technical lead is not always going to do this job or do it well if given it.<p>The largest part of development doesn't rely on someone with this specialization to write the initial code for any feature, yet without this skillset a team will ship some terrible code without realizing it.<p>I don't really see any group hiring for this kind of role.
The first paragraph seems to imply that, to understand recursive algorithms, you need to be young. And rightly so, the software industry is not for old people. Did I get the argument right?
A fantastic article, and I hope we see more relevant research gathered under this banner. Not having a name for something can be a big problem in even knowing what's out there.<p>As a side-point, I am often shocked that we don't see more research into how to make software teams more productive coming out of places like Google/Facebook/Microsoft etc, given that these companies (claim to) live and die by the effectiveness of their engineering. If a large amount of their expenditure is in software, to the point they'll buy entire companies just for the engineers, why aren't they financing the large-scale experiments that will settle certain questions for good?
This is just another title upgrade (first "software engineer" in lieu of lowly "programmer", then "software scientist") that represents a half-baked understanding of the problem, which is that typical business-driven engineering doesn't work well, isn't very challenging, and is enough of an intellectual wasteland that, after 7-10 years, you'll have learned everything worth learning unless you become an elite engineer (e.g. Principal "hermit", thus named because top-1% engineers don't have much company except at a few dozen companies worldwide) or a manager. That all is true. The ghetto of the average line-of-business software engineer is not a place where one can be over 35 and unembarrassed about remaining there.<p>This said, I think that the "data science" title is silly. It used to mean "what we call machine learning to make it sound more practical and less AI-ish", then it meant "watered down job that occasionally involves running an off-the-shelf regression or clustering algorithm", and then it meant "any job that involves data". I don't hold out higher hopes for "software scientist".<p>We seem, in this industry, to have given up on restoring integrity to software engineering itself, so that everyone over 30 is strategizing to become some kind of XWP ("X Who Programs") rather than a JAP "Just A Programmer"), as I've discussed at length here: <a href="http://michaelochurch.wordpress.com/2012/08/26/xwp-vs-jap/" rel="nofollow">http://michaelochurch.wordpress.com/2012/08/26/xwp-vs-jap/</a> . We are so desperate to establish ourselves as better than "those programmers" who crank out Java classes and can't function without an IDE... and I understand this, because I don't want to be lumped in with them on compensation or autonomy. That said, I find it sad that we haven't managed to sell what we do (solve problems using software) as something with intrinsic integrity.<p>Because we've been raping the word "scientist" (e.g. "data scientist" for someone who worked with Hadoop once) for half a decade or more (and should really give it back to the people who have the right to use it) I would be more inclined to call myself a software <i>strategist</i>. Career-wise, I'm far past the level of the average engineer, and refuse to do (unless it's my own company, in which case I'll do the most undignified work just because it needs to get done) the sort of jobs that regular "software engineers" do in most companies (e.g. line-of-business Java-mines work) and I don't think of <i>code</i> as where I add value, but rather my knowledge about <i>problem solving</i> in a more general sense. I've probably evolved out of an engineering role (as defined by the business) and into that of a strategist who does some engineering and coding (especially because it can be a lot of fun). Of course, I'm hesitant to write a "software strategist" essay, because I don't want to see that title get mangled either.