1,946 karma · joined September 27, 2009
I love Python, but I cringe whenever someone asks me why a Python program isn't running properly on their machine. Obligatory xkcd: https://xkcd.com/1987/
Disclaimer: I’m about to say stuff that are just my impressions, without a lot of “I think” or “I believe.” Take those as implied.
Generally the stress of management is in coordinating various personalities and balancing competing priorities, while being on the hook for delivering results without having any direct impact on whether a project gets done to a high degree of quality. They rely on others’ expertise, some of whine may not be that reliable, and it’s stressful!
Directors and VPs have that stress plus they are more directly accountable to financial results. However, they have to be cheerful and optimistic and never show weakness or worry to an almost psychopathic degree. This may look like a good work/life balance externally but internally “work brain” and the weight of stress are relentless. The bad ones sublimate stress and occasionally explode and yell at their subordinates.
To engineers none of this looks like “work” because none of it produces concrete results. (I haven’t mentioned the endless word docs to read and write, and the spreadsheets, oh god the endless spreadsheets.) But it does accumulate a lot of stress and anxiety.
On the vacation side of things, seriously, take a vacation! It will be okay!
There are only two kinds of programmers in this world. Those who don’t make anything, and those who create sev 10 global security nightmares.
In the real world, poorly designed microservices make the ball of mud problem much, much worse, and whatever pain you had in deployments in a monolith are now magnified ten-fold. I have not been fortunate enough to see well-designed microservices, so I suspect the ball of mud is the default. Can this be rectified through discipline? Probably, but I haven't seen it.
Asynchronous? Doesn't save you, when an upstream service changes event definitions and emits events with unexpected structure, and a downstream service starts failing. Can this be rectified through Async OpenAPI and rigorous contract testing? Probably, but I haven't seen this happen in a way that helps.
I have seen large companies survive perfectly well on a monolithic ball of mud, and small companies get lost in a mud pit of microservices.
My point is not that microservices are bad, they're not, they're just a tool, but they are a tool that is a poor fit for most companies, in my opinion. I can't speak to the few giant companies that need them and use them effectively; there is a good reason the tool exists.
However, their wants always grow just beyond the no-code capabilities, and there's still a need for software engineers for things that haven't been fully solved yet.
Squarespace is actually a good example; someone still has to write all the nifty widgets and figure out how they'll work together for a pleasing experience. If putting an attractive visual layer on top of code was all it took, then Smalltalk would have won decades ago and everyone would program.
The main barrier to "no code" and "everyone can program" is still the mode of thought, not the mode of representation.
This has parallels in artificial intelligence, where as soon as a problem is solvable by a computer, solving the problem no longer counts as "AI" (chess, natural language processing, even sentiment analysis!). Similarly, as soon as a problem is made easy and accessible to non-algorithmic thinks, programmer move on to the next thing that requires that mode of thought. Maybe we'll exhaust the problem space of potential programs someday, but I don't see any evidence for it.
In terms of the facts involved, this has nothing to do with China's social credit score. Note that I am strictly talking about the facts involved, not the political fallout and usual bloviating.
Post something, or don't. Don't put up a blocking modal to force me to read some terms & conditions before reading the actual content.
I have observed, as many other parents have as well, that if the kids spend too much time in front of the screen (> 20 minutes, give or take), they become resistant, moodier, and worse behaved. This is not true if we're playing a board game or having reading time. So, I think a bit of moderation is important.
Incidentally, since having kids, I've also noticed that I am short-tempered if I spend too much time in front of the screen, a good reminder to take a walk a few times during the day.
I don't know if it's true, or if it's even something we can falsify at any moment in history, but stable civilizations have collapsed, and it's worth understanding that it could happen to ours too.