Live data from Hacker News

Drunk Post: Things I've Learned as a Sr Engineer

old.reddit.com

101–110 of 510 posts

Re: Drunk Post: Things I've Learned as a Sr Engineer

#101
post #22
post #5

> Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all. This a thousand times. Having empathy for future devs, maintenance, and bug fixes is so important.

Amen. Something bizarre I have noticed though in junior-almost-senior engineers is that they pride themselves in obfuscating and writing "highly complex" logic, with no documentation. It's almost like they are demonstrating their new abilities in the worst way possible. I have been dealing with one of these engineers recently, and they have expressed to me that they love writing because it's so terse. It's been a poi…

The same goes for junior writers who think that complex sentences and words are a sign of superiority, and later discover that the real (and bigger) challenge is writing clearly.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#102
post #5

> Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all. This a thousand times. Having empathy for future devs, maintenance, and bug fixes is so important.

This sentiment is exactly why programming in an org-chart is so much different than programming as an individual. Don't apply corporate best practice designed to withstand turnover to personal programming - you're leaving abstraction and efficiency on the table. The better code for your own projects is almost definitely inscrutable to a newcomer a lot of the time. It's okay for there to be prerequisites to understand…

I’m not sure, you can become the newcomer yourself when you have to come back to parts of your code base months later. My experience writing simpler code has been pretty successful to respond to customers wanting random new features.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#103

Earlier quoted context omitted.

A common meme I've seen recently is "no one knows what they're doing". I think people like to believe this because it helps them cope with impostor syndrome, or maybe they think it puts them on even ground with people who do in fact know what they're doing.

Even worst is the meme that “programming is just copy+pasting from stack overflow”

Because good senior programmers are rare (as can be observed if you post a job listing).

Most of this stuff comes from students / junior developers, where yes, they probably visit stack overflow every 20 minutes

Re: Drunk Post: Things I've Learned as a Sr Engineer

#105
post #5

> Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all. This a thousand times. Having empathy for future devs, maintenance, and bug fixes is so important.

I agree with having empathy for future devs, but I think it only goes so far. I've often seen junior engineers unable to differentiate between code they don't understand and bad code. Usually they end up thinking they can do a better job, decide to rewrite the thing from scratch, and take 10x longer to rewrite it than they thought it would take. And accomplish nothing in the end, because the thing they rewrote worked…

Indeed, and during rewriting they realize why the original code was made that way and how it solves the problem more efficiently than their rewrite.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#106

> When I first started, I was enamored with technology and programming and computer science. I'm over it. This is the saddest. One more soul taken by the shrinking of the hacker culture.

The other day, I started playing this game called TIS-100. The game simulates something like assembly programming and I had so much fun with it. Then I realized it’s been nearly half a year that I’ve actually written proper code for something (rather than a GitHub workflow script or account provision mechanism for testing framework) and built something that I was actually proud of.

The love and passion are still there, but their buried under the needs of my current mediocre job. I need to find a position that will let be get back to the task of building things again, rather than just tweaking scripts and keeping the machinery humming.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#107
post #7

Earlier quoted context omitted.

I think people in the industry are paid based on the potential value they can create (whether real or not), knowing many things or understanding fancy technologies matters little if one can't put them to use for the benefit of the company.

Also, most companies like to brand themselves as ‘tech’ to signal that they are growth based. Why is Peloton a tech company? They’re not. A lot of us have jobs because companies need to fulfill the image. It’s half the reason why so many people are allowed to do full-stack when in reality they would have no business dealing with those parts of the stack in a real operation. So no, you don’t actually deserve more mone…

Peloton easily a tech company compared to Schwinn.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#108
post #18

>Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us. I thought they were going to go the direction of "he's an asshole" and was ready to accept that, but this particular criticism is actually disturbing. People with strong visions can often appear to be "making it up as they go along,…

The problem is idealizing such people in the first place. Sure, they may have had incredible achievements, but they're humans at the end of the day.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#109

This, and the current “sober” posts on r/ExperiencedDevs, makes me think of Herodotus describing the way the Persians made important decisions - once sober, once drunk, and if the drunk and sober decisions were the same they knew it was a good one.

https://en.wikipedia.org/wiki/In_vino_veritas Is the phrase. Useful if you want to appear cultured at a company party.

Re: Drunk Post: Things I've Learned as a Sr Engineer

#110
post #5

> Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all. This a thousand times. Having empathy for future devs, maintenance, and bug fixes is so important.

I disagree strongly with it on multiple fronts. That concern should be secondary to your program actually doing its job well. Your customer will literally not care how elegant or ugly your code is; they just see the end result. And when the program fails them, it really doesn't matter to them whether your juniors understand the code or the error. Moreover, not every abstraction is (or can be expected to be) accessibl…

It really does matter to the customer if the junior understands it when the code fails though.

Easy to understand code can be more quickly patched and repaired by anyone on the team. If you don't need to call in the senior who built it two years ago to repair it, and you can have someone do it right away, it is better for the customer.

Post reply on HN