HN user

shantly

2,906 karma
Posts0
Comments922
View on HN
No posts found.

How would you write your code today if you knew it would of been your last commit and still in use in 30 years ?

Generally: minimize dependencies. External library or API dependencies? Versions can drift, the system can change out from under you in incompatible ways. That goes for the OS, too, of course. Data dependency that you aren't 100% in control of? Same. All are forms of state, really. Code of the form "take thing, do thing, return thing, halt" (functional, if you like—describes an awful lot of your standard unixy command line tools) is practically eternal if statically compiled, as long as you can execute the binary. Longer, if the code and compiler are available.

FWIW I've given up on trying to gauge my own performance. I've plainly been disappointing people when feeling like I'm working about has hard as I could. I've (over, and over, and over) been complimented on both the quantity and quality of my output when I feel like I'm half-assing it, at best. There doesn't seem to be a much relation between how I feel like I'm working and what others perceive.

I'd put the desirability hierarchy something like this, best to worst:

1) mixed labor (mental, physical)

2) moderate, varied physical labor

3) jobs that are mostly just being present and don't make you pretend to work most of the time

4) mental labor

5) jobs that are mostly just being present but do make you pretend to work most of the time

6) repetitive moderate physical labor

7) repetitive sedentary labor

8) hard physical labor

With 8 being at the bottom mostly due to typically being high-risk and coming with major mid-term harm to health.

In other words, while I considered what the accountant guy did to be a rather low-effort incomplete job, he did exactly what was expected of him by the bank and what I needed to get my deal done.

The degree to which everything runs on this sort of system is kind of horrifying, once you're exposed to enough things like this for that to sink in.

Relatedly, I guess my contribution to the broader thread would be:

Almost no-one knows what they're doing, let alone is much good at it—so few, in fact, that society and the economy (and everything else) basically run on a massive and super-serious game of playing pretend. Yes, even that big important organization (public or private) where you expect everyone to be pretty damn competent. The difference between them and some normal place is that 5% of their people are impressively good at their jobs, rather than 2%.

Aldrin gets mentioned in the same breath as Armstrong often enough I bet quite a few people could pull that one out. You'd lose a bunch with "who's the guy who stayed in orbit?" and almost everyone with "name any Apollo 12 astronaut" or even the more-generous "name any Apollo astronaut who at least reached Lunar orbit and wasn't on 11 or 13". Most of the people who get that second one would probably just luckily guess Alan Shepard without actually knowing for sure he was on an Apollo mission, just the first famous space-program-guy who came to mind who wasn't Armstrong or Aldrin (and in fact the Apollo part of the career is not why they know his name).

If there’s a real downturn we’ll see the big boys cut jobs—maybe a lot. Or even just some regulatory changes (especially reigning in spying and fruits-of-spying monetization) without a broader downturn. Wages downmarket would suffer a ton with all those top-comp folks with (by definition) above-average résumés and work history suddenly looking for a job. Probably upward mobility (into lead/senior/et c.) will suffer a lot. Doesn’t take more supply, lower demand is something we will see again.

I eat mostly vegetarian (I'm not a principled vegetarian so I'll eat meat in some circumstances, just way less than most people) and that's pretty easy, but milk is really cheap & convenient (chemically) for so much cooking, eggs are like a nutrition-on-a-budget cheat code and also chemically useful in lots of cooking, and I love cheese. Going vegan would hurt.

[EDIT] if there's one modification I'd really like to make to my diet, it'd be to add fish once or so per week, ideally the fatty, oily, low-on-the-food-chain sort that're supposed to be so heatlhy. I need some kind of guide for how to work up to enjoying fish when you didn't grow up eating it. I can tolerate larger fish when cooked & seasoned very well, but don't really enjoy it at all, and have no understanding of what even to do with the smaller, healthier sorts that isn't stomach-turning (to me) to even consider. Though for some reason I love sushi and calamari, so, go figure.

This is kind of what I'm talking about WRT the cloud being more trouble than it's worth if you app sits somewhere in between "trivial enough you can copy-paste some cloud configs then never touch them" on the one end and "so incredibly well-resourced you can hire three or more actual honest-to-god cloud experts to run everything, full time". Unless you have requirements extreme/weird enough that you're both not-well-resourced but also need the cloud to practically get off the ground, in which case, god help you. I think the companies in that middle ground who are "doing cloud" are mostly misguided and burning cash & harming uptime while thinking they're saving and improving them, respectively.

Just.... just... no. First of all, nobody's got good backups. Nobody uses tape robots, and whatever alternative they have is poor in comparison, but even if they did have tape, they aren't testing their restores. Second, nobody has good alerts. Most people alert on either nothing or everything, so they end up ignoring all alerts, so they never realize things are failing until everything's dead, and then there goes your data, and also your backups don't work.

But you should test your backups and set up useful alerts with the cloud, too.

Third, nobody needs push-button re-deploy-from-scratch unless they're doing that all the time. It's fine to have a runbook which documents individual pieces of automation with a few manual steps in between, and this is way easier, cheaper and faster to set up than complete automation.

Huh. I consider getting at least as close as possible to that, and ideally all the way there, vital to developer onboarding and productivity anyway. So to me it is something you're doing all the time.

[EDIT] more to the point, if you don't have rock-solid redeployment capability, I'm not sure how you have any kind of useful disaster recovery plan at all. Backups aren't very useful if there's nothing to restore to.

[EDIT EDIT] that goes just as much for the cloud—if you aren't confident you can re-deploy from nothing then you're just doing a much more complicated version of pets rather than cattle.

In practice I see a lot of breakage (=downtime), velocity loss, and terrible "bus factor" from complex Cloud setups where they're really not needed—one beefy server and some basic safety steps that are also needed with the Cloud, so aren't any extra work, would do. "Well designed" is not the norm and lots of the companies are heading to the cloud without an expert at the wheel, let alone more than one (see: terrible bus factor)

An awful lot of server systems can tolerate a hardware failure on their one server every couple years given 1) good backups, 2) "shit's broken" alerts, and 3) reliable push-button re-deploy-from-scratch capability, all of which you should have anyway. Lots of smaller shops trying to run to k8s and The Cloud probably have at least that much downtime (maybe an hour or two a year, on average) due to configuration fuck-ups on their absurd Rube Goldberg deployment processes anyway.

[EDIT] oh and of course The Cloud itself dies from time to time, too. Usually due to configuration fuck-ups on their absurd Rube Goldberg deployment processes :-) I don't think one safely-managed (see above points) server is a ton worse than the kind of cloud use any mid-sized-or-smaller business can afford, outside certain special requirements. Your average CRUD app? Just rent a server from some place with a good reputation, once you have paying customers (just host on a VPS or two until then). All the stuff you need to do to run it safely you should be doing with your cloud shit anyway (testing your backups, testing your re-deploy-from-scratch capability, "shit's broken" alerts) so it's not like it takes more time or expertise. Less, really.

it's hard to shake the impression that the majority of our bloated military budget is a federal make-work jobs program

The majority of it is precisely that. It's the only jobs & wealth redistribution program Republicans are willing to fund (though they never call it that). Pity it's so inefficient for that purpose.

Decent (read: donated to by people with money) thrift stores are a great place to find one's sizing. Go in with a few brands in mind and an understanding of how their sizing works (they may have cut variations in addition to just small/medium/large, like trim/slim/regular, for instance) then just start trying on anything from those brands until you narrow down your correct sizing. If you get very close you may be able to guess for e.g. online sale orders from that brand (say, a pair of chinos at the thrift store is a tiny bit too tight but looks alright otherwise, so you're very confident 1" more in the waist would fit well, so you catch the next sale from that brand and order their chinos in the size you're almost sure will fit)

Difficulty: you have to know what to look for in fit so you can diagnose what's wrong with a given article if it's not quite right.

It takes some combination of time and money. On the high end of the money side you know nothing about fashion and pay someone to dress you well. On the low end you have to learn a bunch and spend serious time so you can buy pieces via thrift, sales, and seconds, that'll actually fit, look good/appropriate, and last.

Men's fashion is truly horrible compared to women's fashion. Men basically have the choice of either a stuffy suit that look like it hasn't changed in a century and is completely impractical, or baggy pants and a baggy hoody. Women get all kinds of choices in clothes, including lots which show off their bodies, while men's clothes are basically designed to hide our bodies completely and look as boring as possible. I guess that's helpful if you're fat, but if you're athletic and toned, it's really not.

Strongly disagree—you may just not have been exposed to all the options in men's fashion. There are tons, without even deviating too far from traditional/normal.

Could be either, really. 21st century and all that. (Making some assumptions about a screen name beginning with “jimmy”)

[edit] oh missed the “she” so you’re right. Probably?

I’ve had three, one allegedly from somewhere pretty good, and all were way too sweet for my taste. Only had a couple bites of each, just found them really unpleasant. And I’m American, so I’m fairly desensitized to sugar!

Yeah. Up at 7:00, kid morning routine and transport for 2hrs, log in (WFH). And no, I’m not gonna get up earlier, 7’s already inhumanely-early for about half the year.

Since he’s up-front that he’s gonna be including opinion, and about his own limitations when it comes to presenting certain philosophies (IIRC for Bergson he was like “look I can’t figure out a way to explain this that doesn’t seem like total bullshit, but I’ll try”) I don’t really get the complaints about the book. I think it’s great. Why would you want Bertrand Russell to write such a book and not provide his analyses? It’s better that way! There are plenty of similar works by people mainly known for writing their histories of philosophy. Go for those if you want a just-the-facts version.

Relative to all software development, I mean. There are tons and tons of places employing anywhere from hundreds to tens of thousands of developers each, in the US, not paying anything like this. And almost no smaller shops are, of course. All the positions at all the companies like this, even though most of them are large, I'd still be surprised if it's more than a single-digit percentage of all software positions in the US.

Same. We've toyed with the idea of moving permanently if only because healthcare here's so bad and doesn't seem likely to get significantly better any time soon (the most "left" ideas beginning to creep into the Overton window still don't address prices seriously within the next decade). However, as a developer making way under FAANG comp levels, I'd still struggle to make more than like 2/3 what I do here, in Europe. Before taxes.

I think it's more that software development's divided between the maybe—maybe—5% who are looking at comp at these levels, and everyone else who's in the $70K-180K range, with a cap somewhere in lower-leadership positions that perhaps reaches $200K, maybe mid $200Ks at best as you start to move into management proper. Anything past that you've gotta really nail some niche that someone with lots of money (probably finance) needs and likely become a consultant of some kind, or move into the smallish (relative to all US software development) set of positions that compensate like the ones at the link.

Leadership positions like that mean doing a whole other set of stuff that feels like "not-work" if work has always meant personally, directly moving a product forward. Those meetings you always hated because they killed your productivity? Now they are your productivity. Sitting at your desk and can't think of a single thing to do that anyone's likely to care about? Try not to look like you're relaxing, but relax. You did your thing. Doing more now would be doing worse at your job because you're probably going to be annoying and slowing down the people doing the work. Maybe shoot off an email to someone else to see if you can get a chain going, just to keep up visibility. I mean, you can just "lead" a meeting (to be clear, this is actually valuable when done well!) and come out of it feeling like you contributed nothing at all, but guess what? You just did your job. Shit, sometimes just telling two other people to go talk, without you, and tell you what they come up with, is your job!

IME the weirdest thing about those sorts of middle- to upper-management software positions is that almost all the actual work feels like slacking or time-filler you might do when too burnt out to do real work, until you get used to it. Write up some proposals for something, write some specs or go over some stories with someone. Get some face-time with a stakeholder to go over some feature, propose some new ones. Talk timeline with some manager. Coach sales on the product. It is actual work that someone wants to be done, but to me (and I suspect to OP) it feels like you're no longer doing any work at all, you're just, like, someone who hangs around the people doing the work and chats with folks.

Yet (in most orgs—perhaps not FAANG) you are better-respected (you can feel this in meetings, it's incredibly weird at first) and better-compensated than you would be as a developer.

And then the Google pedigree thing is obvious. Youngish startups with a little money just starting to build their team past "a co-founder and these two recent grads" are hungry to get FAANG alums into leadership. I don't know whether that's a good thing for them to care about—maybe it is—but they do seem to show a very strong preference for them.