9 ms·
On the job side, this is a scary consequence of specialization. If you can learn a job in a day or a week, you can go where opportunity is. If it requires a deg
by 6gvONxR4sf7o 2y ago
On the job side, this is a scary consequence of specialization. If you can learn a job in a day or a week, you can go where opportunity is. If it requires a degree (or a graduate degree!) then you're so much more stuck.
I've wondered if this is part of the reason for high software salaries. When so many industries needs software, developers can hop from the failing industry to the lucrative one, forcing more efficient competition. Not so for many careers, where the skill set and the industry are tied together.
I'd bet the whole second chance thing gets more brittle as competition and specialization get more important in general, even beyond jobs.
- tombert 2y ago> If it requires a degree (or a graduate degree!) then you're so much more stuck. That's a situation I've been in now for a few years now. I'm somewhat burnt out on software engineering, but the last 13 years of work history, a bachelors in CS, and about half a PhD in theoretical CS, my options on who will hire me are kind of limited. It seems like my only options are: 1) Start a fresh career with a fresh new degree and accept about 1/3 of my salary that I have now for the next 13 years after that. 2) Take a career in non-degreed labor and probably permanently have about 1/3 of my salary. 3) Try and pivot into the management side of things. 4) Start a business. 5) Just live with it. Since I don't really want to take a loss salary for 13+ years, I'm extremely risk-averse, and I don't want to become a manager, I'm more or less stuck with option 5. I like software and computer science, but "software engineering" barely counts as either. I expected to be utilizing a million data structures or figuring out proofs of correctness or designing the next amazing distributed system, but it feels like 2/3+ of software engineering is "add field to JSON" or "write a for loop to convert something to a different shape" or "change color of button" or "change width of page layout and then modify selenium tests", and the only data structures that ever get used are hashmaps and arrays. I spent so much time learning the minutia of CSP and TLA+ and set theory and I feel like I have basically nothing to show for it, and now I can't really even change to a career where I would get to use them. Not that it's really a thing to complain about; I'm pretty lucky to be in a postion where I make about 3x more than I realistically need, so I'm not really trying to garner sympathy, but it's also a situation that becomes kind of easy to burn out on, and sometimes it depresses me more than it really should.
- badpun 2y agoThere are jobs (e.g. database engine development) where knowledge of distributed systems algorithms comes in handy. Most likely not nearly at the level of your theoretical PhD, but also much more stimulating that adding fields to JSON.
- tombert 2y agoI've never worked on database engine stuff, so I cannot speak to it, but I've worked a million jobs, many of which have titles like "Distributed Systems Engineer". My frustrations come from the fact that "Distributed Systems Engineer" seems to broadly translate to "we use Kafka to glue two services together" for most companies. While that can still require some level of clever engineering, it doesn't really require a ton of theory. At multiple companies, when I do on rare occasion come across a project that requires some more elaborate planning, I will try suggesting using TLA+ to test things out, and management will look at me like I suggested kicking a puppy or something. "Math" is sort of a dirty word in industry, at least in the places I've worked. Maybe I just don't do a great job selling it. In every single job I've ever had, I've always been "that weird math guy", despite the fact that I really don't think I suggest anything that arcane, at least shouldn't be to a software crowd. Again, it's hardly something to complain about; "Woe is me, I'm making yuppie money but I don't feel fulfilled all the time". It's just something that annoys me.
- photonthug 2y agoLots of us are increasingly interested in formal methods coming out of the labs and ivory tower and seeing more casual usage in industry. But pitching this sort of thing to management is hard, where if they’ve heard of it at all then they associate it with big brain critical path shit at the highest levels of huge orgs like nasa or aws. Can’t blame people for not seeing the value yet though.. we need to make things easier/cheaper. Plain old testing is often seen as a cost/effort sink that dev teams and management resent and so of course Model checking looks like a whole different layer of ambiguously-worthwhile effort. Mere advocacy here won’t win people over, because they care more about costs than “correctness” as an abstract virtue. We probably need progress on things like generating code from models and models from code if we want to see more adoption
- pif 2y ago> If you can learn a job in a day or a week, you can go where opportunity is. And you will find a very crowded place, populated with all the other guys who leant the job yesterday. > I've wondered if this is part of the reason for high software salaries. When so many industries needs software, You are describing demand and offer: nothing more, nothing less.
- 6gvONxR4sf7o 2y agoWhat I'm describing is friction. In a market where demand changes over time, supply friction affects efficiency. The time scale over which the market reaches equilibrium and that time scale's affect on the people providing supply is what I'm talking about.