11 ms·
It's not complicated: the costs of software development are almost entirely in labor. As long as that remains true, older people will be at a severe disadvantag
by Cacti 8y ago
It's not complicated: the costs of software development are almost entirely in labor. As long as that remains true, older people will be at a severe disadvantage simply because they cost 2-5 times as much as a new hire. Once Moore's Law slows down (or whatever we want to call the current golden age we're seemingly still in), this will change, but until then you're just fighting against exponential growth.
- abritinthebay 8y agoIf you don’t factor quality of code/architecture in there, then yes. But that would be folly long term.
- virmundi 8y agoFrom being on HN for years, folly is ok for a lot of VC backed startups. "We know Ruby! Let's do everything in that!", said the team at Twitter. Then performance took a nose dive since the language was known at the time to not scale. Now it's Java or Scala.
- abritinthebay 8y agoAbsolutely! Short term a startup will make a lot of fuckups - that’s a good thing, it’s learning! But once the product is set having sane architecture and good code quality often become a deciding factor in being successful - because they allow you to iterate faster & outmaneuver your competition. Sometimes you can get away with it for longer, but eventually you’ll grind to a place where you need to fix these things and it’s easier to do earlier.
- marcinzm 8y agoTwitter is arguably successful so why would you consider their decision to be folly? It worked for them. Startups have limited resources. If you devote them to solving tomorrow's problems then you'll be beaten by someone who devotes their resources to solving today's problems.
- virmundi 8y agoI wouldn't use Ruby/Python for web development given their know issues. I'd use Java/C#/Go/Closure; two of these existed at the time Twitter was made. While those two are more verbose, the IDEs make most of that easy (I use Eclipse and AOP to generate almost all of that bulk). So picking something that's good at the start will save you in the end. People tend to think, "We'll architect it later" means "We don't have to think now". You need to think at every step. You don't need to know how you'll deal with everything, but there is a lot of rooming for being rational. You should think about fault tolerance when you start. It could be that you think you don't need much since everything will deploy to one box (and you're okay with loosing the whole thing). You need to be rational. You need to know why you did what you did and what the impacts would be. I'm going to stop picking on Twitter since they are the case study in what not to do. They learned from themselves and taught us all much in the process. Many startups don't think all this through (even if they only need to think 2 moves ahead). They over-hire. They under design. They make lots of poor choices because they think they have the runway and want to be cool with the latest frameworks. All of these actions I'd place squarely in the folly camp since Uncle Bob and other resources have been free since at least 2014 (https://www.youtube.com/watch?v=Nsjsiz2A9mg https://www.youtube.com/watch?v=Nsjsiz2A9mg).
- dasil003 8y agoWow I don’t even know where to begin with this. Perhaps the biggest flaw is confusing language with architecture. Twitters scaling issues had to do with non-trivial architecture issues that are much more widely understood now than they were a decade ago. It’s very easy to sit in your armchair now with your pipe and claim how bad their approach was, but the fact that you think it has to do with choice of language shows you aren’t as smart as you think you are. If Twitter has used 2006-era Java they likely would have moved too slow to even get traction and we’d never have heard of them. It’s a pleasant fantasy land to think you could survive early Twitter hypergrowth, but actually dealing with it is not simply a matter of correct up front planning.
- virmundi 8y ago
- ggg9990 8y agoWhy does an older person cost more? Either they produce more, or they’re overpaid. The first type is definitely worth finding and paying... I’ve seen companies built solely by 22-year old script kiddies and usually the stack can’t scale. At that point, you’re in a trickier spot because a 40-year-old who can inject some good sense at the beginning of a project is a lot more abundant than a 40-year-old who can lead a turnaround effort on a fucked up stack while keeping the company and stack operational for existing customers.
- pm90 8y agoSo this is a nuanced question and requires a detailed response. But the gist is that older folks don't necessarily cost more. I've seen many older folks continue to work as developers for most of their lives (albeit this is outside Silicon Valley). But for many older developers who continue on the technical track, they have accumulated a lot of experience building software and they do bring a lot to the table, in terms of design, or prescient thinking, or knowing the internals of certain stacks very very well. That kind of knowledge is certainly useful for firms that operate on scale, have systems that cannot tolerate downtime, and so on. In other words, it depends on the individual.
- kokey 8y agoMore experienced developers are also more willing and able to take on a pre-existing production code base and clean it up and plan how to divide and conquer to improve, migrate and replace it, while younger developers often prefer to work on greenfield projects or want to throw out and replace existing work. Younger management doesn't always understand this difference, and more experienced developers might be contributing in avoiding a lot of costly mistakes but this benefit is mostly invisible. This is really down to what side of the tech industry it's happening on and what that side needs. Working with new web and mobile technologies delivering novel applications for consumers are more suited to younger people as opposed to say developing, maintaining and evolving systems for aviation, transport and military automation and safety or certain parts of finance.
- gascan 8y ago
- nbm 8y agoWhen people talk about agism and finding it hard to find a job as an older person, they're generally comparing against someone with the same capabilities and salary expectation going for the same job. (Edit:) And they're not complaining about companies not matching their salary, they're complaining about not getting an offer at all. It isn't in comparison with the job available to new grads. (Of course, there's the question of whether a senior industry hire is actually only worth some factor of a new grad hire.)
- markbnj 8y agoI'm not sure what you're comparing but it sounds like you're comparing experienced vs. inexperienced and not necessarily older vs. younger. I'm 57 and I don't think I am that much more expensive than younger experienced backend engineers and SREs. We're all as a group a lot more expensive than people who are just starting out but that's hardly surprising. Between those of us who would be considered senior in terms of experience I might be $10k or $20k more expensive just due to salary history and growth over time but I doubt that amount is a deal breaker for the average tech company.
- anothergoogler 8y agoAgreed, it's actually kind of awful that it takes about ten years to hit the pay ceiling. 2-5x, if only!
- deleted 8y ago[deleted]
- jonhendry18 8y agoWhich just goes to show: Software development isn't "knowledge work", if the additional knowledge of experience isn't valued. It's more like "typing work".