Yeah but you get a nice ramp-up period where you’re allowed to be bewildered and unproductive. In that time, you can probably pick out two or three grandiose changes (ideally with hot new technologies) to throw on the pile before that period ends, and use them as resume padding and interview stories for the next job.
Unlike the old developers, you aren’t complicit in the mess until a few years go by.
There’s a second-order thing going on though with tech debt that makes it different than just maintenance: Tech debt is when you address a problem in a way that makes future problems more difficult to address. So if the wire-and-tape fix is actually robust, easy to work around, and/or easy to reverse, then it wouldn’t be tech debt. But if it made it harder to unclog/clean the tap, or to fix the next leak, or install/remove things around it, then it would be like tech debt.
To your first point: Yes, and decreasing reliance on China would be exactly how we could start to counteract that. I think we’re agreeing with each other there.
As far as EU/US manufacturers behaving badly… I don’t know enough about that situation to really comment intelligibly, but yeah that also sounds bad.
The other two posters are 100% right, but I’ll also chime in and say that fast charging all the time is bad for long-term battery health, too.
Not to mention it’s WAY more convenient to just plug your car in when you get home. I remember living in an apartment with no chargers and having to wait for one of the two fast chargers nearby… I’d end up either having to carve out 30 minutes late at night to run out and sneak a charge in, or take a peek out my window every 15 mins to see if one had freed up.
Using fast chargers as Plan A is not a good plan or reasonable expectation.
Yeah, I’m wondering about how they characterize “bot activity.” It seems like “any traffic not proximally related to a user’s synchronous activity” is a little too broad.
I’m not sure if fediverse syncing is bot activity. Or my laptop checking for software updates while I’m sleeping. Or my autopay transactions for utility bills.
We had planned to get some memeing done but we had an all-hands right before sprint review, then sprint retro, then there was an “optional” product sync that we kinda had to go to, and then the team social, and that was basically our whole day.
Thought we might meme a bit at lunch, but there was a lunch-and-learn and it’s not like we were going to skip a free lunch.
Design in your head a cabinet that can be designed and built within 30 minutes with no research or preparation, and build it. We will be watching over your shoulder, so please coherently describe your process as you figure out what it is.
You wouldn’t have learned to do this at any previous workshop, so hopefully you’ve specifically practiced making this kind of shitty half-hour cabinet in preparation.
That sounds like a good plan in many situations… But how do you handle candidates who say something like “look, there’s heaps of code that I’m proud of and would love to walk you through, but it’s all work I’ve done for past companies and don’t have access (or the legal right) to show you?”
You might just say “well the ideal candidate has meaningful projects outside of work,” and just eliminate the others… But it seems like you’d lose out on many otherwise great candidates that way.
Pretty questionable take IMO:
The truth is, there are typically a bunch of good candidates that apply for a job. There are also not-so-great candidates. As long as a company hires one of the good ones, they don’t really care if they lose all the rest of the good ones. They just need to make sure they don’t hire one of the no-so-great ones.
That’s actually a pretty bad thing. Like you could say the same thing about rejecting applicants who didn’t go to a certain set of schools, or submit a non-PDF resume, or who claims to have experince with a library/language that you don’t like (I had a colleague who said that he’d reject anyone with significant PHP experience because they probably learned “bad habits”) or any number of arbitrary filters.
If “good at leetcode” was a decent proxy for “knows how to build and scale accessible web UIs” or whatever, then okay great… But it’s not, as the author admits in the conclusion:
Coding interviews are far from perfect. They’re a terrible simulation of actual working conditions. They favor individuals who have time to do the prep work (e.g., grind leetcode). They’re subject to myriad biases of the interviewer. But there’s a reason companies still use them: they’re effective in minimizing hiring risk for the company. And to them, that’s the ball game.
So it’s unclear to me what they mean by “effective.” Are they good at evaluating how good a candidate will be at the job? No. Are they good at identifying talent that hiring teams might otherwise overlook? No. They are good at “minimizing hiring risk” by setting up another arbitrary hoop to jump through.
Let’s just call a spade a spade and admit that our hiring processes are so bad at evaluating talent that we settle for making candidates “audition” to prove that they can code at all, and then decide based on whatever entrenched biases we’ve decided constitute “culture fit.” Then the title could be “Coding interviews are the most effective tool we have, and that’s kind of a disaster.”
Thank you for reading my rant. I am available for podcasts and motivational speaking appearances.
Oh, that’s too bad. There are band-style or hook-style versions that could maybe help with that, but yeah most of them are buds.
One thing I’ll say is that when I used to wear wired buds, they would fall out all the time and I thought I just had weird-shaped ears or something… But when I got into wireless buds, I tried out a bunch of styles and found that without the cord, they stay in way more reliably. Wired ones would fall out when I turn my head or just walk 10 steps, but with wireless ones, I can shake my head or run or anything, and they stay in. I guess the weight/movement of the cord makes a big difference, at least for me.
Have you considered Bluetooth (or wired) earbuds? I can’t stand phone calls without them. Speakerphone makes me self-conscious in public and I can’t help but get shouty, and I have the same problem as you do with face-smush mode. But my Bluetooth earbuds are exactly how I want my phone call experience to be.
It’s not a single issue, though-- It’s many:
And so on. Those problems are related in many ways, and well-summarized by the umbrella term “cost of living,” but I think it’s a mistake to think of it as a single issue… Both in general, and in the context of “single-issue elections.”
Yeah…I don’t think he was talking about “distributed monolith” in that instance, but he does talk about it in the article. It’s weird, cause he obviously knows why it’s an antipattern, and why microservices are a categorically different thing, but then says stuff like that, with what I can only assume is a straight face.
I think maybe he’s trying to bolster his point that “it’s not a binary distinction, and you’re trying to achieve the same things with either architecture,” but you gotta be careful to not accidentally say “mix and match, anything goes!” And IMO he’s not that careful, lol.
My test is always “What is my hypothetical simple-but-pushy CTO going to latch onto and how annoying would that be for me?”
I think there’s alot of good wisdom and perspective in this article, but man he has some weird takes, lol… e.g.:
A microservices application is just a monolith, but with the number of services dialed up and the sizes of the services dialed down.
Like… There’s a charitable interpretation, I guess, but that’s such an odd way to put it.
That version is so much more readable for some reason. Like this is actually a wonderful sentence:
Lest we forget, the software your teams sweat blood to build will knuckle under to the gravitational pull of the enterprise structure, echoing its splintered silos and delightful dysfunctions.
That doesn’t sound (to me) like an LLM, and yet the stuff it produces by default reads in a tone that we would have described as “robotic” long before GPT.
If this person believes that Conway’s Law means “you SHOULD conform your software architecture to your org structure,” then I wonder what that means for his interpretation of Poe’s Law?
without a clear indicator of the author’s intent, any parodic or sarcastic expression of extreme views can be mistaken by some readers for a sincere expression of those views.
Look, they only had $70m to work with, okay? You gotta make some compromises when you’re on such a shoestring budget.