The Generation Ship Model of Software Development (2014)(medium.com)
medium.com
The Generation Ship Model of Software Development (2014)
https://medium.com/@wm/the-generation-ship-model-of-software-development-5ef89a74854b
9 comments
> The New York times used to maintain it's own programming language whose only application was the NYT website. Trello did too, and there are many companies that did that without hitting the conference circuit about it.
C#, Swift and to a lesser degree Hack are still very much alive. But the two former are public by design. There's no advantages anymore to having a custom DSL.
> The big cultural marker might be MIT switching their intro course from scheme to python in the late 00s.
The target audience of the course also changed quite a bit. Now it's taken by undergrads of all majors while it used to be taught to a mostly CS audience.
With that in mind, it makes sense to teach Python, since it's nearly universal and has nice data-analysis libraries that are well documented.
C#, Swift and to a lesser degree Hack are still very much alive. But the two former are public by design. There's no advantages anymore to having a custom DSL.
> The big cultural marker might be MIT switching their intro course from scheme to python in the late 00s.
The target audience of the course also changed quite a bit. Now it's taken by undergrads of all majors while it used to be taught to a mostly CS audience.
With that in mind, it makes sense to teach Python, since it's nearly universal and has nice data-analysis libraries that are well documented.
Used to be like?
IME NIH syndrome is alive and well. Not that this article would be entirely off base even if it wasnt.
IME NIH syndrome is alive and well. Not that this article would be entirely off base even if it wasnt.
There's always going to be that guy. The question is whether he builds his own shed or gets to design the whole skyscraper.
The equation is better expressed as "Build versus Buy", imho.
Actually it seems to me to be a 'natural law' of software development - no matter the discipline/industry/inkling - that on certain event horizons, one must decide whether to build something, or buy it.
For many people, the act itself is all that matters.
For some, its the users who decide.
Actually it seems to me to be a 'natural law' of software development - no matter the discipline/industry/inkling - that on certain event horizons, one must decide whether to build something, or buy it.
For many people, the act itself is all that matters.
For some, its the users who decide.
I think you might be that guy. Don't worry about it - that guy gets to work on some cool stuff.
This article is bad, actually. The analogy does not illuminate anything about software development. It's just a semi-interesting bit of scifi writing with a contrived connection to software development, but it doesn't contain any information or advice. If you enjoy the scifi scenario, fine, but it doesn't make any sense for it to be posted to Hacker News because it is not hacker news, it's a scifi story with a bad analogy tacked on the end.
I think you are missing the date it was written. The article is almost 9 years old. That is older than even most stack overflow answers. The software world has changed quite a bit in the last 10 years. You are less likely to find yourself in an environment where this analogy was more appropriate (thank the gods). But as someone who has worked in the software industry for 30+ years, this was more accurate than you think.
+1
And even today, regardless of software stack, tooling, etc the problem of silo-ed development and limited understanding of the big picture in large systems is still very much alive. Getting shared understanding of the ideas embodied in complex systems with lots of little teams is still a challenge and always will be.
I think the fundamental message is very relevant to software development: question everything. It’s really easy to get so caught up in the layers of abstraction, that we forget that we’re making software for people.
A chef who painstakingly concerned himself with where he sourced his ingredients may or may not be a good chef. But the chef who concerned herself deeply with the taste of the meal would probably be a good one.
Yet, when we talk about software development, 90% of what we talk about is stack, and 10% is what we built. I’m not super successful or anything, but I imagine the founders who focus on the 10% are the better ones.
A chef who painstakingly concerned himself with where he sourced his ingredients may or may not be a good chef. But the chef who concerned herself deeply with the taste of the meal would probably be a good one.
Yet, when we talk about software development, 90% of what we talk about is stack, and 10% is what we built. I’m not super successful or anything, but I imagine the founders who focus on the 10% are the better ones.
> You dig into the code. It’s an exercise in archaeology.
Reminds me of the "programmer-archaeologists" from A Fire Upon The Deep.
Reminds me of the "programmer-archaeologists" from A Fire Upon The Deep.
that was a fantastic book, and the Arguing On the Internet in it was both very descriptive of it's time and very prescient of ours.
and the aliens (no spoilers) in it were very cool
and the aliens (no spoilers) in it were very cool
The author is Vernor Venge (pron. "Vengie"?); He's not exactly prolific. He's done a couple of other books in the same world. They're good too. But his day-job was teaching maths and CS.
I wonder what you could do with the film-rights to that story.
https://en.wikipedia.org/wiki/A_Fire_Upon_the_Deep
I wonder what you could do with the film-rights to that story.
https://en.wikipedia.org/wiki/A_Fire_Upon_the_Deep
Protip: this isn't just abt sw, it's a metaphor for human existence.
Reminds me a bit of the most depressing episode of Kino's Journey, "Three Men Along the Rails."
Kino is traveling by motorcycle along a railroad line, and encounters the first man, who is clearing away the grass and rust. He has worked for the company for fifty years. He had a wife and child when he left, but unfortunately, has never returned home since his first departure, he is unsure of their current well being. They exchange pleasantries and Kino continues her journey.
Kino the meets a second man working on the railroad the next day. This one is removing the tracks, as ordered by his employer. He he left home support his five younger brothers at home, and had never returned for the past fifty years. They comment on how well maintained the tracks are, but do not question on why.
She meets a third man on the third day as she follows the trail. He is setting down new tracks as requested by the railroad company. He reveals that he took the job to support his ill parents, but as it has been fifty years, they have most likely already passed away.
Kino is traveling by motorcycle along a railroad line, and encounters the first man, who is clearing away the grass and rust. He has worked for the company for fifty years. He had a wife and child when he left, but unfortunately, has never returned home since his first departure, he is unsure of their current well being. They exchange pleasantries and Kino continues her journey.
Kino the meets a second man working on the railroad the next day. This one is removing the tracks, as ordered by his employer. He he left home support his five younger brothers at home, and had never returned for the past fifty years. They comment on how well maintained the tracks are, but do not question on why.
She meets a third man on the third day as she follows the trail. He is setting down new tracks as requested by the railroad company. He reveals that he took the job to support his ill parents, but as it has been fifty years, they have most likely already passed away.
Nothing to do with software development, but this reminds me of the Silo series of books by Hugh Howey - which I absolutely loved.
At a high enough abstraction, it has absolutely everything to do with software development. Including the last sentence. I don't have the will to describe it, but I suppose with time it'll come together, or not.
And, if I had the context outside of my field, I wouldn't be surprised that it described a wide variety of other industries.
And, if I had the context outside of my field, I wouldn't be surprised that it described a wide variety of other industries.
What was that recent-ish series where the generation ship finally reaches its destination after like 50,000 years and the inside is just a mess of loose water and organic material ?
It would have been nice for the author to point out the original influences for their "embedded short story", like Orphans of the Sky by Heinlein.
Generation ship is a trope with countless examples, no single one. It's practically a vocabulary word like 'space ship'.
I would have said Brian W. Aldiss 'Non-Stop' or Ben Bova 'The Exiles' or Harlan Ellison 'The Starlost', but only because they just happen to be some of the examples I happen to have encountered and found particularly memorable. I've probably read and forgotten 20 others.
I would have said Brian W. Aldiss 'Non-Stop' or Ben Bova 'The Exiles' or Harlan Ellison 'The Starlost', but only because they just happen to be some of the examples I happen to have encountered and found particularly memorable. I've probably read and forgotten 20 others.
Orphans of the Sky wins the influence race by being published in 1951.
The Canadian TV adaptation of Starlost was great. Keir Dullea, gone tomorrow. Low-budget fun. Worth a watch.
Well, good for you - not everyone is as well-versed in sci-fi tropes.
Let me see...
You can presume to correct the blog author while in fact being in error yourself, yet you can not tolerate being corrected. Got it.
You can presume to correct the blog author while in fact being in error yourself, yet you can not tolerate being corrected. Got it.
You seem to have a problem with the correct use of words.
1. Ignorance is not error.
2. There was no correction. I simply suggested it would have been somewhat polite to point people in the direction of their original sources, considering the very literary post.
1. Ignorance is not error.
2. There was no correction. I simply suggested it would have been somewhat polite to point people in the direction of their original sources, considering the very literary post.
It's true I should have said you can't tolerate being informed since that's really all I did.
Generation ships are scary for this reason. The logic is designed so that you can't figure out whether it reached its telos.
It's easy to overestimate how hard open source has won, and how little influence "Not invented here complex" has on most systems. Most software now comes in a stack, and other companies use the same stack with some light add ons. The most common experience of software development wasn't like that as late as 2010. The New York times used to maintain it's own programming language whose only application was the NYT website. Trello did too, and there are many companies that did that without hitting the conference circuit about it.
The big shift that made the world we're in now is the idea of domain specific languages largely going away and the idea of software being an integrative practice replacing them. The big cultural marker might be MIT switching their intro course from scheme to python in the late 00s.