That hasn't really been my experience, for every 50 people I meet maybe 1 is here for the craft, the rest want to do 9-5, have a visibility at work, work on impactful projects but actually talk about their problems, their opinions in a deeper way - almost never.
For example, the number of developers who are in this field only because of money, and money alone, increased greatly. Of course, companies are also responsible to slowly kill every other incentives (and they are working to kill this one too), but the difference is stark compared to 10 or 15 years ago. And I heard that it’s more brutal compared to 2000s.
I remember, that we were considered still loosers at that time. Even in early 2010s, I had discussions that how geeks are loosers. We even had several movies and series whose main topic was that geeks are loosers. Even in those where we were the protagonists. So I highly doubt that your experience is generic.
On the flip side when I became a developer, it really felt more like being a part of a real community. People would show up at my desk and say, "Dude, have you seen this new plugin?" or "Man, I just found the coolest logic game, you'd love it!" or "I just started playing around with this new JS framework, have you tried it yet?"
As in, all the people I met were so genuinely interested in my opinion. Lunches were suddenly brainstorming sessions. Or someone had a problem and we'd all sit around frantically scribbling on napkins trying to solve it. Or talk about the latest conference or when DefCon was and who was going. You really felt a part of a culture in every way. The devs I got to be friends with genuinely loved what they did. It wasn't just a job, it really was something they were all passionate about. Something that consistently extended beyond the 9-5 jobs we had. Side projects were always a hot topic at gatherings and lunches.
For the first time in my career, I really was proud to be apart of the developer community at a time when everything was (and still is) changing so rapidly. Without those friends and mentors, I have no idea where I would be. It was kind of like landing at college and finally finding a place you felt you finally belonged and fit in with like minded folks.
> Meet and talk to people who think like you.
#1 I think this is true. And even if it technically isn't, you get to meet and talk to smart people. YMMV and not everyone at work.
#2 work moderates your coworkers.
work is disneyland. If there's a problem with someone, they are stupid, disruptive, directly mean or dangerous, work will mostly take care of it.
In the real world, none of this applies. So work can be nicer, but you might not have/need the skills to deal with real problems.
I recommend the book "difficult conversations" for getting along outside of work. (though it applies there too)
https://www.reddit.com/r/ExperiencedDevs/comments/nmodyl/dru...
> He fire me? I'll just pick up a new job in 2 weeks.
And... yeah... the reddit post is from 5 years ago when the job market was very, very different.
> What’s the [worst] that can happen? He fire me? I’ll just pick up a new job in 2 weeks.
Ha yup - I've felt this one before :D
On the other hand, I've contacted several of my heroes (not been able to meet as many of them in person) and that's always been an exhilerating, formative experience. I strongly recommend it if you can think of a good reason. (I have a list of heroes I have yet to reach out to because I haven't yet encountered an interesting enough problem to offer them. Several of them unfortunately have an actuarial deadline not too far into the future.)
[1] https://eelhips.tumblr.com/post/7035963689/early-life-crisis
His code did not match the hype, to say the least. His SDLC even less so.
There is probably an ego associated with being renowned that doesn't align with team-based work. He likened basic things like code reviews or PRs to being brought before The Hague and that the rest of the team was a bunch of bureaucrats.
some are just a bit better at guessing
You can legitly learn how to do things properly and people who learnt to do that do the polar opposite of guessing. It is just that the world of software development has yet to be made liable for their results in the same way as civil or electrical engineers. So in software development many are just guessing because guessing wrong won't ruin their life.
There is software engineering and it is known how to do things that absolutely must not fail. It is just thst these standard are not commonly deployed if nobody forces you to deploy them. And why would you? Costs money and a software error is widely treated like divine intervention.
I'm very wary of anyone in tech/software eng that says "this is the only right way to do this." I'm aware those attitudes exist everywhere.
Not much different in software. There is always many ways of solving problems and that is typical of any engineering. Contrary to sciences.
I would expect someone building a bridge to keep the average/peak winds into consideration - and then feed it to CAD or whatever modeling software they use to design the structure. They don't need to know the exact force a screw was tightened with - they do need to give the specs of what range they should be tightened to. Again - considered in CAD. They don't need to know that theory is right - they just need to know it's not wrong to an unacceptable degree.
I'm sure there's some guessing, but a lot of these things are actually factored in.
Imagine living your whole life thinking you couldn't do it?
I'm not saying it's fun. Just saying it may be a good thing.
1. You'll never be as smart as the smart guys. It's okay to give up.
2. Most likely you'll work with incompetent fools, get used to that.
3. Workplace is the best place to make friends. If someone tells you otherwise it's a psyop to turn you into a robot.
4. Minimize your output while trying to maximize your salary because mythical "job satisfaction" doesn't exist and it makes much more sense to redirect your energy elsewhere.
5. Luck is the most important factor.
There is nothing I've done at work I'm truly proud of. Everything I'm proud of is completely unrelated to work.
Document why. I can read code. I want to know _why_ this nebulous function called "invert_parameters" that is 200 lines long even exists. Which problem did you have that this function solved? Why was this problem there in the first place? Write some opinions on maybe its intended lifetime of the codebase. Hell, I write comments that apologize, just so that a future reader knows that the code I wrote wasn't meant to be great but that I was in a time crunch or a manager was breathing down my neck, or that some insane downstream/upstream thing did something... well, insane.
Paint some picture of your mindset when writing something, especially if it's non-obvious, as that'll give all the additional context not captured in code, when reading the code.
Obviously this isn't the only good documentation rule, but I wish people - juniors and seniors alike - would do this more often, especially at the workplace.
Documentation can take many forms: ADRs, system diagrams, specs, JIRA tickets, commit messages and descriptions, PR descriptions, code comments, idiomatic/intuitive code, etc. etc. and much of that requires maintenance or review to ensure it's still up to date.
Outdated tests quickly become broken tests, and they serve a purpose as documentation as well, but aside from throwing around buzzwords like TDD and BDD and all that, it's rarely a skill that is explicitly developed. Or maybe it's handed over to an SDET or something.
Build a decent set of tests that can survive the implementation being refactored, rather than coupling them to the runtime code or filling them with mocks and stubs, and you can get a good way to documenting complicated routines simply because you are explaining how it works through numerous well-described assertions.
That means you never need to bother with the 'how' or 'what' when commenting code, and you have multiple levels of 'why' as you go up from the code to commits to the issue tracker and beyond.
Sometimes the intent is obvious and doesn’t need explanation, you’re implementing the feature.
But if the intent is not obvious - like compensating for some out of band failure, or responding to some not obvious business need, or putting in something temporary that will be fixed later, then the reader needs to know.
It’s frustrating that so few think about the perspective and needs of the reader or reviewer, not just the machine.
Code is a specification for execution. It should include everything needed to fully execute and understand it.
This is why even microchip makers put much of the SPI signal specification into each datasheet despite SPI being a super common protocol. The more your code's comments act as a datasheet, the better longevity it'll have.
Some of that's inevitable, but I'm continuously surprised about how unconcerned people are about it day to day.
I document why stuff in comments, commit messages, and other documents all the time. It's super easy since 1) I've been there when that shadow knowledge goes away, 2) I can think about future-me when I write that stuff, because I know I'll forget a lot of it. I don't know why so many people have a problem with doing the same, and need to be constantly reminded to do it.
Probably a big part is letting the perfect be the enemy of the good. I don't consider anything to be definitive, it's all clues to be pieced together later, and I just like to leave as many clues as possible.
That's why I always believe the following two points:
1. Engineers are trained on-job. This means, if you want to be a good engineer, a really good one. You need to be very picky about what you do. Most of the "engineer" positions out there, like 95% of them, do NOT promote, or even go against the best principles of true engineering, so you are basically fighting against the objective that is to be the best engineer you can be.
2. Engineers should NOT deal with complicated business rules -- that is, it can exist in code, but the stakeholders are the one to provide and explain it. We should want NOTHING of it.
Serving business interest, and keeping our jobs ≠ doing whatever the business stakeholders want, that means we have to be very picky about the kind of job we do, the kind of team and company we want to be part of it.
I can kind of see that, if you're so disengaged you don't care if your job is hard or easy. Then you just see it all as slogging for a certain number of hours a day.
But I don't get that. I don't like things being unnecessarily hard, and writing stuff down makes it easier to actually get things done in the future. And at some point you're going to get judged on your performance, so wasting a bunch of effort uselessly slogging doesn't make you look good if someone paying attention to if you're actually getting things done or not.
The biggest reward is me making my own life easier, and when I do that I can always later pretend to slog a big to grab some time for myself.
I had similar mindset about other things. My wife always wondered why I need to slice chores into pieces and do them one by one. "Why don't you just do them in one shot? It's a bit easier". "Honey, I really hate chores, and I might get hit by a truck in the next hour, so if I push as much work to the future, I maximize my happiness function at the moment."
Frankly I don't blame workers either, it's not their fault they have to play a stupid game that helps no one so they can continue to have health insurance and not become homeless.
The last business I started, I was coding at full steam building features that I could make work now although not optimal, so I would add comments reflecting that.
Over the > 15 years the product’s been on the market, there have been several times I’ve come back across those comments when we outgrew the quick solution several years later.
It wouldn't be able to reverse engineer why something was done when the "why" is some arbitrary decision that was made based on the engineer not having had his morning coffee yet, but those "whys" aren't an important property of the system, so who cares? Even in the unlikely event that someone documented that they zigged instead of zagged because it was just the vibes they were feeling in that moment, nobody is going to ever bother to read it anyway.
The issue with AIs reverse engineering code is that context is very important - in fact knowledge and understanding of the context is one of the few things humans can still bring to the table.
Unless every relevant fact about that context has been encoded in a recoverable way the system and tests, AIs can only do so much. And there are essentially no non-trivial systems where that's the case.
Absolutely you have no control over what others have written, but you also have no way to access their lost context, so you are no further ahead than an LLM in that situation. The available information is the same for you as any other system.
Maybe. If I know that the performance of this particular code path is going to be critical to the project's future success, sure. It's more common for something like that to be premature optimization though and the extra code is dead weight. I am not convinced by the idea that LLMs make that kind of dead weight much less undesirable.
An experienced developer will often have a good intuition about what might deserve attention in the future but isn't worth the effort now.
It's also useful for social reasons. Maybe the CTO wrote the original code and a junior developer working on the optimization thinks they know a better way but isn't sure about questioning the CTO's choice of algorithm. A comment saying it was arbitrary gives them permission.
If changing the algorithm is going to negatively affect the program then the CTO would have written tests to ensure that the important property is preserved. There is really no reason for the junior to be concerned as if he introduces an algorithm that is too slow, for example, then the tests aren't going to pass.
Yes, it is most definitely possible the CTO was a hack who didn't know how to build software and the junior was brought in to clean up his mess. However, in that case the information is simply lost. An LLM will not be able to recover it, but neither will a human.
I have seen countless engineers just while away the years modestly building and documenting incredible systems. Systems that "just work" for years on end. They never get fired because they're recognized for their value, but they also never get to the top.
Bullshitters, on the other hand, have no ceiling. They are never out of their depth because they transcend skill or accountability. They'll tell you they know everything, they'll tell you nothing is impossible, they'll gossip and disparage everyone else. The best bullshitters are full-on psychopaths and these are the guys that run the world.
If there's any 20-somethings here that make 6 figures, listen carefully:
1. Max out your 401k, and invest all of it in a target date retirement fund. (Some companies are douches and will assign you mostly their own stock, which when it tanks, there goes your retirement... so check your allocation)
2. Get an HSA and max that out. Invest it all in a target date retirement fund. Do not use any of it, pay for medical expenses with cash and save your receipts. Get reimbursed for the receipts when you retire.
3. Contribute to an IRA and max it out (or backdoor roth when you make enough that that's necessary). Invest it all in a target date retirement fund.
4. Keep 6-12 months of living expenses in a high yield savings account.
If you start when you're 23, and you make $100k/yr, you can retire at 45. That may sound very old right now, and you might think, I'll just save later. But consider that when you turn 45, you may realize you have 20 more years of this shit job before you can retire.We live in Ohio, and I suppose we would qualify as frugal and having cheap hobbies. But I certainly don't feel like we're missing out on a lot.
We also set aside over $1,000 a month for giving, with some of it going to various individuals and organizations automatically and some of it just waiting for when we see a need.
Do you understand that your extreme massive privilege is something very few people will ever able to obtain? What should they do? Work until they're 80 and die on the job?
Re: cheap hobbies, I used to date a public school teacher. She would save to go on guided trips to Antarctica, Peru, the Galapagos, New Zealand. You can live an amazing life if you plan for it.
Does that mystical creature still exist? Or is it perhaps more likely if one of the pair has a high yield income?
If you earn $100k and are willing to have the median lifestyle, and you can find a spouse that's willing, then the numbers work just fine.
Challenges include lifestyle inflation; housing costs if your six-figure job is in an expensive area; and finding a partner who's willing to be put in what is often a vulnerable and low-status position.
Kinda hard to do that when you've locked all your money up in a retirement vehicle that doesn't let you withdraw until age 59.5.
There’s a few methods here - and it’s going to depend on your mix of retirement accounts (ROTH vs Trad vs HSA vs non-tax advantaged). There’s lots of tools to help plan scenarios - I particularly like ProjectionLab. I would also recommend hiring a professional that can assist in the planning and especially taxes during early retirement.
For SEPP 72T you need to make similar withdrawals every year for at least 5 years or until you hit 59.5 of age. My plan is a mix of SEPP 72T + non-tax advantaged accounts for 5 years. During those 5 years I will also be making ROTH conversions from my Trad accounts. Once the 5 years are up - I will continue my ROTH conversions but can finally start withdrawing the money I converted 5 years ago (this is a ROTH conversion ladder).
I was a bit of a late bloomer and spent my 20s working my way into tech - so I won’t retire at 45 - but am on target for 50ish.
If your employer offers a match, you should absolutely contribute up to the maximum match (it's free money after all), but not a penny more IMO. There are much, much better vehicles for parking your money than retirement funds.
Historically, tax rates have gone down over time, not up. Especially in recent history.
You do pay a reduced tax in retirement because you're able to blend your income. You defer taxes on the 401k until requirement, but you pre-pay taxes on a mega backdoor/roth, so if you need 100k of income in retirement you pull 50k from 401k and 50k on the roth and only pay taxes on half of it, putting you in a lower bracket.
Having the pretax money to grow before paying taxes on it is greater than having post tax money and having less to compound.
The alternative to tax advantaged places to park your money for retirement is strictly worse than non-tax advantaged. In a 401k you pay taxes only in retirement, for roth's you pay taxes only with your paycheck. In a brokerage, you pay taxes at your paycheck and then you pay taxes on withdraw for your cost basis.
At the end of the day though, I'm sure it boils down to having both instead of trying to minmax it. Being able to liquidate a portion of your investments to, say, purchase a house is probably a good idea, which you can't do if you've been putting everything you have into a retirement account.
For example - if my wife and I max out our 401k’s - that’s about 50k we are deferring taxes on. If our pre-tax household income is 300k - then that 50k would have been taxed at 24% marginal rate.
In a year of retirement - let’s say we withdrawal that 50k but now it’s doubled (probably more than that since it only takes 9 years to double at 8% annual growth via compound interest). Now we pay 12% and end up with 88k. (Technically we’d have more than that because of the 24k standard deduction - but we’ll ignore that for the sake of simplicity)
Let’s take the non-tax advantaged comparison. We’d have paid 24% up front and invested 38k. It doubles to 76k. We’d pay 0% capital gains - but even then we end up with less investment income.
[1] https://www.investopedia.com/ask/answers/042415/what-average...
A few things to note:
* In the US at least - you invest your 401k in whatever funds you want. Mine are a mix of S&P500 and Total Market.
* 7-8% is the average inflation-adjusted return of the S&P500 over its history and is general figure you’ll see used in retirement planning discussions
There’s a huge wealth of resources out there on this topic. Look up Canadian specific “FIRE” guidance (Financially Independent Retired Early). I don’t know enough (or anything!) about Canada to really engage on this - but I’ve done pretty extensive planning both myself and with my financial advisor on my own early retirement objectives. For me - the math massively works out in favor of a 401k over non-tax advantaged accounts. I personally have a mix of Traditional (pre-tax), ROTH (post-tax), and non-tax advantaged accounts (because I save more than I am allowed to stuff into tax advantaged accounts per year).
I started doing this when I got a raise and realized pretty much half of my raise was going straight to taxes, whereas I could invest it all if I just upped my 401k contributions.
TFSA: you pay standard income tax up front, but no income tax on investment earnings. Annual contribution room is added. You can withdraw anytime and get the contribution room back.
FHSA: you do not pay income tax up front, you do not pay income tax on investment earnings. But you can only withdraw for a first home purchase (or convert into RRSP), and there's yearly and lifetime limits on contributions.
Non-registered investment account: you pay standard income tax up front. Investment earnings as capital gains are 50% of standard income tax. Withdraw anytime, no limits obviously.
With RRSPs: you do not pay income tax up front, but you pay standard income tax when you withdraw, and pay standard income tax on investment earnings (no capital gains rate). You cannot withdraw until retirement age.
Those are effectively your only four options here. When they're broken down that way.. does it make more sense?
If you're referring to US retirement accounts, that's not accurate. The early withdrawal penalty is 10% - the same as jumping from the 12% to 22% tax bracket when you're working.
If your company allows partial withdrawals starting in the year you turn 55, you can use the "rule of 55" to get your money out penalty-free January 1 the year you turn 55.
You can withdraw Roth contributions penalty-free at any age.
You can take SEPP withdrawals without a penalty.
You should have some cash and brokerage account money too. You could also own a rental house, sell your house and become a renter, etc. The 10% penalty is seldom going to stop someone from retiring.
Still cheaper than my current Long-term Capital Gains tax rate too.
Everything is not perfect in the singular country of Europe, I sure as hell don't want to be relying on only what the state decides it can give me in my old age.
No complaints, I know how much I saved, projections on how my pension will look like if I retire in year X, Y or Z. I don't expect more from a good social security system if one wants more it should be on them.
So far plan is retiring at 60, already I work on 90% and thus sporting 10 weeks of paid vacations yearly. That way, I don't thread the knife edge of burnout, in contrary and have plenty of time to unwind, have adventures (just came back from 2 weeks road trip in Dominican republic) and spend literal months on vacations with my kids and wife. There is no salary achievable in our field that would force me to consider it a better setup and instead working hard... these are best years of my remaining life and waste them just working would be tremendously stupid and shortsighted. To retire in 45, seeing my skills atrophied and being at the mercy of things like inflation... doesn't sound that great.
So there is another perspective to just chasing biggest paycheck at all costs.
The 100k is just a number that means 'doing well for yourself in the local market and for the work you do'. From what I understood the 'retire at 45' is something separate.
(that's the other thing, state pension age is being pushed back as life expectancy increases. Not for the main boomer generation of course, they were already retired when the age started to creep up or only had to work a few months longer)
they were being sarcastic.
For investments, you invest post-tax and pay capital gains when withdrawing.
Then more recently (as in, as of around 2012 and up to 2018) we got auto-enrollment into private pensions, which are more like Defined Contribution (DC). Employer has to pay a percentage into the pot and so do you. Usually 5% employee and 3% employer by default but many will offer better (or contribution matching) as a perk. I think this is probably the same or similar to the 401k in US terms. The employer chooses the pension provider but you need to proactively switch to a high risk scheme to see any growth from it.
At a certain point the tax rebate from the government doesn't cover your whole income so you have to file a tax return to get the rest of the rebate. You can instead choose to 'salary sacrifice' which means you are lowering your income on paper but the sacrifice is put directly into pension (or otherwise can be used to get a car on lease or a bicycle via another scheme). Salary sacrifice is used by a lot of higher earners to bring their gross income down in order to avoid being cut off on certain benefits like child-care.
After all that you have SIPP (Self-Invested Personal Pension) which gives you more control over what you can invest it. Not just stocks, ETFs, and all that, but can also be commercial property (so the pension itself owns that asset). This gets the same tax treatment for pensions.
Finally there is the ISA and LISA. The first is a savings account where any interest or capital gain is free of tax, the second gets a 25% boost by the government to help buy a house or flat, but you can only use that money for a mortgage deposit.
Most people won't see all that much from their auto-enrollment given they could just opt-out to get the extra cash in their paycheque (especially when a low earner), or might not know to switch to the high risk fund, so the state pension and other benefits for OAPs will be there still. Those with more disposable income or a long term view (e.g. doing FIRE) are likely to max out the various vehicles available to them but at that point you're gonna be earning too much to care.
No need to optimise healthcare costs or any of that unless you want to go private.
6 figures is possible, there are/were some software companies (VC backed, US based, US startup style, FAANG) that pay that much, otherwise there's highly paid jobs like management, doctors/dentists, landlord, public motivational speaker, drug dealer, etc that can earn you that much. But it's not handed to you like it feels like it is in the US / SF, but I realize that's very much a unique bubble.
So yeah, basically none of your comment is true, it's just not talked about as much because our basic systems are alright for most people and few have the extra income to think about doing more with it.
Of course some roles can earn six figures or more, hopefully everyone knows there isn't a hard cap on earnings. Should've been obvious that wasn't my claim.
The GP described tax optimizations for the highest earners. The idea that they would be better off in Europe is plainly ridiculous.
If you’re not one of the senior managers, I don’t think these kinds of long term investments are feasible anymore.
Very important detail, FSA is not HSA lol.
People are often quick to dispense technically correct (or mostly correctly) financial advice but rarely is financial mangement simply a technical problem to be solved in someone’s life
We have nothing like the 401k/roth/IRA and it sucks.
And how big is your dick too?
While here I am, 39yo, having been in this field for 17 years and worked my way up to a lead, and having worked at banks, fintechs, medtechs and consultancies, am 'only' making roughly €76k/yr.
And this is with pouring personal time into studying and applying latest tech in side projects to stay relevant.
Honestly if the financials of the US tech scene ever normalize to what the rest of the world has, you guys are in for a rude awakening.
Most jrs in America are working jobs like this - https://www.indeed.com/viewjob?jk=0dcd3d05ab694ba8
Holy crap, you can do this? I always assumed for some reason you had to pay for expenses with an HSA in the year they were incurred.
Drunk Post: Things I've Learned as a Sr Engineer - https://news.ycombinator.com/item?id=27333260 - May 2021 (494 comments)
- Drinking wine solo is odd. Whiskey, vodka, or beer (and if you Russian) is the standard. Spelling mistakes like 'ever thing' support the idea of alcohol induced unordered thoughts, that's good.
- Webdevs would one of the last to consider to be experts.
- While I don't use darkmode, browser extensions solve the unsupported web pages. Dark mode used to be the only possible option on a black/green screen, glad that changed.
- Pharmacist require a degree and quite a few years of studies and exams with tons of organic chemistry.
- HN comments being worthless is an awkward one. Lots of posts (e.g. Apple CEO change) had tons of useless stuff but it's very often the comments would bve better than the post itself.Funny to read from someone else who noticed :) maybe broad appeal of the topic had a big impact
Then you can offload stuff to the DB engine (as it should be), making everything more efficient, less data going between DB and App layers is good for everyone.
Also you get to do cool SQL shit nobody understands and you become invaluable =)
Goddamn right!
Maybe because that work is being pushed to the devs :)
I'm running a link shortener on shared hosting. No SSH, FTP-only deploys, no background workers, no Redis. Every time I wanted to add something "proper" — a job queue, a WebSocket, a cache layer — the hosting said no. So I didn't.
The result: click notifications go out via a cron job that hits a PHP endpoint once an hour. No queue, no retry logic, no worker process. It either sends or it doesn't, and I log the outcome. Six months in, it works fine.
If I'd had a VPS from day one I'd have built something I'd still be maintaining. The shared hosting said "you get a cron and a database" and that turned out to be enough.
Pharmacists have to get a special degree before they can even get an interview, and I've heard that the education is heavy on organic chemistry. Then you get a job as a cashier selling pills.
> Hacker news and r/programming is only good to get general ideas and keep up-to-date. The comments are almost worthless.
You got me.
> Once, someone asked me who I looked up to and I said Conan O’Brien [...]
He wrote for SNL and studied literature at Harvard, so there's probably plenty going on up there.
Conan really handled that disaster with tremendous grace and it paid immediate dividends. I can’t really think of a similar situation in popular culture. It is a good reminder of how to handle oneself especially during turmoil.
- I agree, 100%.
And here's a take that a lot of the folks will disagree, and categorically state that these both belong to two entirely different domains: "Rust, is the evolution of Java. Not Kotlin, not Scala, not clojure, but, Rust".
Rust has a similar role to C++ but reads more like Python and Elixir's lovechild.
I guess jit is bad for a micro service that scales constantly or a lambda. But java does have all of these options now. They just are not useful for most people.
I would say Rust is a successor to C/C++ for specific use cases.
No real successor to java yet so just keep using it, works fine and has finally evolved.
Point of java was always ease of use. Rust is... Not so.
Maybe golang is kind of an Evolution but into a very specific slightly different direction.
I've been rate limited by the HN mods and knowing I can only reply a few times a day now I don't bother reading the comments anymore because I can't participate.
It also feels icky to continue when you're no longer welcome somewhere, but they're trying to be nice by slowing you down rather then an outright ban.
I was worried that means I'll miss out but maybe that "pull" I feel to check the comments might not be such a bad habit to break as I might not have been getting the value I thought from it (at least I hope so)
What's also nice is that because the community is smaller there you end up seeing familiar faces and due to that on some threads I actually hope they post their take/opinion.
That's my parasocial third place these days /s
That did not age well.
this is probably the best truth. after a while it's easy to recognize people that are consistently being their "authentic self" and they're usually the worst.
FFS, be professional at work.
Literally the only thing I miss
Or was the point a shared whiteboard? If your Teams-or-equivalent doesn't have it, there's still an app for that.
Sure there's software for "whiteboarding" but it's just not the same. And until everyone has drawing tablets it won't be as freeform
Mood. Like yeah, everyone at the moment is criminally underpaid with relation to productivity gains and cost of living, but generalists in general are woefully underpaid compared to narrow specialists.
I come from the IT space, where I've got to fight tooth and nail to keep my job versus the race-to-the-bottom mentality of MSPs and outsourced sweatshops overseas. I'm a generalist who builds globe-spanning networks while memorizing VLAN schemas across dozens of sites, while also owning IAM across Entra and Okta for the Enterprise and the associated JAMF/InTune MDM profiles for mobile and desktop endpoints, and the SME for Windows server environments and VMware VCF datacenters and the AWS/GCP/Azure tenant, all while forecasting and budgeting for future CapEx and OpEx projects within the IT space for long-term planning relative to corporate needs and strategy. I own storage, identity, server, endpoint, networks, physical security, infrastructure, cyber security, hardware, software, licensing, architecture, support, and on-call, in orgs ranging from 20 to 80k people in size. I've saved companies 20x the TC they paid me through cost-effective infrastructure.
You know what employers feel that skill set is worth right now, with 15 years experience? $130k, exactly what I made in 2019 before COL doubled. Not even enough to make median rent in my metro (~$3500) on a standard 50/30/20 post-tax budget scheme.
It's disgusting out there. Nobody wants to pay the people who do the actual work.
This is interesting. At my employer we see job hopping as a bad thing.
I think there's a unique perspective you get by seeing your 5+ year old code in production. I can kinda tell when someone only does short stints based on the way they talk about other people's code.
18-24 months generally seems to have been the sweet spot in terms of improving your income. Especially because the promise of equity after 4 years often means fuck all and you almost never see a promotion or a decent pay increase either for inflation or performance.
If an employer is going to ding you for taking advantage of the market then they better be offering enough above market to keep you around for longer.
It's nice for writing libraries though
Some good points. Laughed at TDD is a cult. I mean a lot of software orgs/cultures are cultish (Agile, Scrum, whatnot). At work I often feel I'm part of a cult.
My take on static vs dynamic is that a sufficiently motivated programmer can make a mess out of anything they're given, and that types actually really don't help that much. Furthermore, "the types work out!" is also not actually an incredibly comforting fact to me. There are so many more places things can be wrong. And I also find that the types of errors static typing prevents tend to not be the most meaningful errors to prevent or the hardest to catch in subsequent testing, ESPECIALLY with gradual typing!
With python in particular, gradual typing with a checker gets you 99% of the benefits of static typing, with the HUGE added benefit of you just being able to tell the type checker to stfu when it's not adding value. ORMs and data parsing are so much easier in dynamic languages, for instance. And I find the most ergonomic ORMs and data parsers in static languages tend to be the ones that have gone to extraordinary lengths to make them feel like the stuff you just get much more cheaply in dynamic languages. I have recently been writing python with basedpyright and very intentional type hinting and it has been my favorite experience in a long time. More impactful to my productivity (real productivity - actually producing things that work and are real) than AI.
I've interop'd with JS from Haskell and you can just go full dynamic property access. And gradually add phantom typed APIs around it.
console.log also still works fine
I've been coding professionally for >30 years. I don't think any of my code has survived 5 years in production.
I don't think code quality affected that at all - I know the really, really, shitty code I wrote when learning OOP in the 90's survived for a looong time, while the amazing code I wrote for a startup 2018-2021 died with it.
A lot of code makes a difference but I guess there's a lot that doesn't?
At the time, a lot of it felt "important" and "significant". And some of it probably was at the time, to the businesses I wrote it for. But whether I sweated blood and tears to craft the most elegant and efficient software I was capable of, or I phoned it in and just copy/pasted Stack Overflow answers together until I met some interpretations of a requirement to be able to leave the office on time - really made no difference.
I've been pondering lately, thinking about GenAI and vibe coding, with the very real risk of creating completely unmaintainable codebases - whether that matters, if the code is likely to be retired or rewritten in 3-4 years anyway? My current gig is on to the 4th rewrite of it's web/mobile app backend platform in 15 years, which started out as a Groovy on Grails app, which got rewritten in Java, then rewritten again in Java, and now it's being rewritten in Python. Each rewrite had fairly good reasons at the time, but a huge amount of code here gets thrown away every 4 years or so - which looking back makes me seriously question whether any of it was "of any significance". To be honest, the 2026 Python code really isn't doing anything notably different or more complex than the Perl and JavaScript code I was writing in 1996 - web work is CRUD apps all the way down.
Posted on a significant website built in a dynamic language.
I tend to disagree. Static typing can catch some bugs, but most serious errors are not type errors, and the common situation where the type system disallows just enough invalid states for developers to get complacent is the worst of both worlds.
The entire AI ball of wax is built on python (dynamically typed) - or at least a large part of it. It probably needs to move to rust to save on power and compute cost.
Python is also the choice of non-programmers for simple work. Nothing wrong with that. But I wouldn't want e.g. my car's ABS system to be programmed in Python (or my browser or my OS or many other examples).
This gets more terrifying if you've ever experienced spurious ABS activation. It's the third scariest thing that's happened to me in a vehicle.
Fourth was probably a makeshift bridge over a creek collapsing while crossing it as a passenger on an ATV. I was pretty young when that happened.
Design-by-Contract[0] is a formalization of this concept and well worth considering when working in code using mutable types. In addition to pre/post conditions, DbC also reifies class invariants (which transcend method definitions).
That said, the people who change companies aren't the ones that believe that management ever had the best ideas, or are able to push back on the cult thinking with clarity. Unfortunately, though, it's not necessarily evidence that wins arguments, it's charisma, which is how the cult is started in the first place.
Good docs are docs that make it easy to implement the next feature.
From an AI perspective, it's my observation that LLMs often write code with lower quantity / quality docs. At the same time, they are reasonably good at synthesizing / inferring meaning from code that lacks good docs. They often do so internally by forming a chain of thought / reasoning around how the code works. The docs that should be written as part of the code are probably the same things that an LLM would reasonably come to by spending tokens when modifying that code. I believe that this should be trained into model so that future LLM work starts with not having to build up context.
In the absence of that being built in, something I've been experimenting a little with is tuning what I want to see in docs that actually help source control / development. Currently that's at https://github.com/joshka/skills/tree/main/doc-steward - still needs a bunch of work, but it's generally better than nothing. YMMV
Just wait till he hears about Claude Code
LOL can't disagree with that opinion.
It's one thing to write drunk, it's another thing to get drunk to write about being drunk
I would again see Bukowski.
Perhaps he also had fun doing it.
See what the current thought leaders in tech believe and say out loud and this makes a lot more sense.
Then again, this person is obviously also lying to claim the engineer title - sit down, "data science!" You're only even here because Product prefers being lied to - so that really sets an ironically honest baseline on how seriously anyone should be taking any of this farrago.