Live data from Hacker News

Man spends entire career mastering crappy codebase

taylor.town

501–510 of 596 posts

Re: Man spends entire career mastering crappy codebase

#501

There are talented people everywhere, the probability of somehow being ground breaking and world impactful is ridiculously small. Anyone pegging their self-worth on that goal is setting themselves up for a lot of mental health struggles. My levels of ambition and relentlessness absolutely shifted after having kids, I used to be absolutely furious about being the best. Now I am very much "fuck you pay me" and my prior…

> There are talented people everywhere, the probability of somehow being ground breaking and world impactful is ridiculously small. No there aren’t. For every Jonathan Blow, Salvatore Sanfilippo (redis) or Mike Pall (LuaJIT) there are probably thousands of run of the mill developers working at feature factories. You don’t build amazing software by being lucky. Your boss at GenericCo will never go out of their way to…

Yea this is as classic fallacy.

This famous talk outlines it: https://www.cs.virginia.edu/~robins/YouAndYourResearch.html but theres a huge amount of factors that go into becoming one of those guys.

Its not just talent, or desire, or luck.

Its:

  - Talent - obviously have to be really good to even do anything in the first place
  - Vision - Need to have a goal of some sort to accomplish something 
  - Decision making - The goal needs to actually be something the world finds useful. 
  -  Drive - Be able to take constant set backs and negative feedback and believe in yourself to an almost delusional level. 
  - Consistency - This means doing  and thinking about your "thing" for a REALLY REALLY long time. Like weekends and holidays and ignore family and etc...
The talk above goes into it pretty in depth, but theres no mystery about it. You need ALL those things and no less. People who achieve at this level aren't accidents. They are simply not only talented in their fields, but also in areas of being able to consume volumes of information and handle failures. They're the ones getting up at 6AM every day working and thinking about their "problem" and going to bed dreaming about it, for years.

You can be a 10x developer, but you also need to be 10x in several other areas to actually accomplish valuable things. Theres a grand canyon of difference between them and everyone else.

Re: Man spends entire career mastering crappy codebase

#502
post #24

For ten years, I worked on codebases written in C++ without using any third party libraries (no, not even STL -- we needed faster, thread safe versions of strings and maps which were not available at the time; Boost? What's that?), its own custom messaging middleware built directly on sockets, its on distributed process management system built with unix syscalls (obviously). There was not a single line of HTML, Java…

That first place sounds awesome

Re: Man spends entire career mastering crappy codebase

#503
post #157

Earlier quoted context omitted.

There is though. It's 2023 and today companies will quite happily lay you off the moment you aren't profitable to them. This fictional person made it all the way to retirement and good for him. But the guy who followed this strategy for 15 years and now is job hunting because the company needed to cut 18% of its staff? He's got a huge gap in useful skills and decades left before he can retire. That guy is in real tro…

This is the real reason I put moderate effort into staying current: I've interviewed too many guys with 15 years in the field who can't write actual code at all because they only have written a few dozen lines ever. They are a sad lot and it's embarrassing to even interview them. If I could be guaranteed I'd have the same job forever with the same tech then who cares, but I've never met anyone for whom that was true.…

They worked the same year 15 times, or maybe the same two months 90 times.

Re: Man spends entire career mastering crappy codebase

#504
post #91

I swear this guy exists at every company I've ever worked. He's the guy you go to when you find some legacy code which you have no idea how the hell it works and end up getting a 2 hour history lesson into a decade of company politics and failed replatforming projects. They're hard not to love.

"... And the AIX machines were a real beast. We had 20 of those things, and each had its own 20 amp circuit. Had a tendency for the grounding to the steel case to fail. If you wanted to upgrade it you'd first need to grab a pair of thick leather gloves...."

"They were afraid to turn off or reboot the DEC Vax for fear that if the disks stopped spinning they wouldn't start again. I saw it once at the retirement ceremony and it didn't look like a server but more like a set of industrial washer and driers. The users transferred files using the Kermit protocol and printed locally by a telnet client that could understand the special characters that redirected character output from the terminal to a lineprinter."

Re: Man spends entire career mastering crappy codebase

#505

Man spends entire career convincing himself the reason he keeps job hopping is because everyone else is writing crappy code. Karl Hackerman shows up to each meeting complaining. He seems sour that he hasn’t been given the go ahead to rewrite the system in Rust. He knows a lot about bleeding edge frameworks and best practices and always seems annoyed that he can’t use them at work. He thinks it’s because everyone else…

This was great.

I felt this way earlier on, but quickly learned to get fulfillment in my day job purely from shipping and contemplate the mysteries of computer science largely on my own time. Sometimes they overlap, but good day jobs are often 80% boring in my experience.

Re: Man spends entire career mastering crappy codebase

#506
post #24

For ten years, I worked on codebases written in C++ without using any third party libraries (no, not even STL -- we needed faster, thread safe versions of strings and maps which were not available at the time; Boost? What's that?), its own custom messaging middleware built directly on sockets, its on distributed process management system built with unix syscalls (obviously). There was not a single line of HTML, Java…

I have a pretty similar story. I spent 7 years working as a subcontractor for a big telco with CORBA, pthreads and the ACE reactor library. First week, I halted a whole contact center service by adding a sleep call to the codebase (it was on UAT environment). Fast forward several years and I could effortlessly debug cores with thousands of threads, reason about semaphores, reentrancy and even tell the difference betw…

> I understood the business and how it mapped to the different architecture elements

If you have access to key systems, you can definitely reverse-Conway to understand how an organization really works.

https://en.wikipedia.org/wiki/Conway's_law

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

— Melvin E. Conway

Re: Man spends entire career mastering crappy codebase

#507
For decades, Arthur raised flags to upper management about the high complexity of the codebase, and begged them to hire a couple of junior devs. Only then could he delegate enough work for him to take on the refactoring project. The software's uptime and stability - he reminded them - was critical to the survival rates of children stricken with spinal meningitis. But management churn and budgetary chaos at the org resulted in the project fluctuating between "investment" and "divestment" states for decades, leaving him to fend for himself.

He told his manager that the data access layer - consisting of 5k LOC batch scripts calling Microsoft Access - needed to be brought up to speed. Maybe they'd consider PostgreSQL this year. Containerization, he protested, isn't going to fix the problems inherent to the system's labyrinthian integrations with countless software vendors and proprietary components. He also reminded them that it's 2023 and Windows containers still don't support RDP.

They still needed a replacement for "Bob". Bob left the org back in 2008. Under duress, and impossibly tight sprint deadlines, Bob was asked to make surgical modifications to the WingdingsAbstractFactory.java class - to be deployed directly into production no-later-than-end-of-sprint. Bob complained that there were no conceivable DR plans, or QA engineers assigned to the project. After a ten hour deployment - and a highly blameful postmortem - Bob exited on record-short-notice.

Arthur was forced into an early retirement under the recommendation of his physician. It was said that his stomach issues were brought on by the stress at work. Only Soylent and tinned meat were within tolerable levels of discomfort.

Arthur will be remembered by his loved ones for his patience, steadfastness, and creativity.

Re: Man spends entire career mastering crappy codebase

#508
post #424

Earlier quoted context omitted.

> They're hard not to love. I often search for a clearcut answer to a technical question and I'm met with a 2 hour history lesson into a decade of company politics and failed replatforming projects. Yeah, thanks for telling me why John from accounting was a dick 10 years ago and you had to code this module in a certain way. I really don't care. I'm new to the codebase and I just want to know how it (the codebase) wor…

> I'm new to the codebase and I just want to know how it (the codebase) works. You should want to know _why_ it works that way too if you want to do any meaningful work with it. Context matters. I’ve seen many cases where the way something works seems dumb, only to learn later they had already tried the “smart” way but ran into some obscure problem which the “dumb” way solves.

When I realize I'm writing some code that seems dumb/overly complex on the surface, I leave a comment explaining why it was done that way.

Re: Man spends entire career mastering crappy codebase

#509
post #123

Earlier quoted context omitted.

There is a massive advantage in being able to see the web tech stack for what it is and wielding it without over-engineering or fanaticism, while your competitors are spending 2-3x on monstrosities that essentially does the same thing, but slower.

The day a professor made me implement a simple http server was the day I achieved code enlightenment. At that level of abstraction it’s all just strings

Relevant: https://twitter.com/serbantanasa/status/1582019078533046272

Re: Man spends entire career mastering crappy codebase

#510
post #335
post #265

Earlier quoted context omitted.

Hard to do if most of your life is work. I find it very hard to find space for an actual life after subtracting a full-time job, exercise, personal hygiene, nutrition, etc. from my waking hours. It's essentially ~2h a day + the weekend, which often also consists of getting stuff done you didn't manage during the week. I hate the thought of my life starting in retirement. Especially if I might be 67 by then, which is…

> Especially if I might be 67 by then, which is the legal retirement age, where I live. When you say "legal retirement age", what do you mean? Is this to receive some sort of retirement benefit like Social Security in the US? Or is it something else?

mate you think retirement age is 67, thats very cute of you. just wait for 20 years and see how many times this milestone will change with the way the world population is going :)
Post reply on HN