Live data from Hacker News

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

old.reddit.com

171–180 of 510 posts

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

#171
post #166

> I don't know why full stack webdevs are paid so poorly. In my experience it’s because they either don’t really know any of the stack well enough to do more than implement someone else’s design, or else they don’t know most of the stack well enough to do even that without very poor, confusing implementations. I’ll take a backend person and a backend person willing to do front end work before a full stack “dev” any d…

> And I’d take the full stack dev before a front end one

So you think one person can't know the entire stack but also half of the stack is not complex/important enough to be worth specializing in?

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

#172

Earlier quoted context omitted.

> Something bizarre I have noticed though in junior-almost-senior engineers is that they pride themselves in obfuscating and writing "highly complex" logic I think it happens because most measures of code quality are quite fuzzy, but brevity (which is valuable, other things being equal) is relatively objective. "Have I made the code shorter?" is a much easier question to answer than "Have I made the code easier to un…

I think another place people can end up here is if they don't know what the compiler is doing under the hood, it's easy to assume the shortest code will perform the fastest or something like that. "Presumably this cool trick avoids these extra steps" type of things.

Before I had written much assembly, I used to think ifs to avoid assignments was smart. Turns out avoiding branching is better for both testability and performance.

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

#173
> The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.

I see this in myself also. Static typing is such a fever at work especially amongst juniors and mids. Sometimes it’s almost as if they believe object types will spontaneously change at runtime, unpredictability.

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

#174

Earlier quoted context omitted.

> Something bizarre I have noticed though in junior-almost-senior engineers is that they pride themselves in obfuscating and writing "highly complex" logic I think it happens because most measures of code quality are quite fuzzy, but brevity (which is valuable, other things being equal) is relatively objective. "Have I made the code shorter?" is a much easier question to answer than "Have I made the code easier to un…

> "Have I made the code shorter?" is a much easier question to answer than "Have I made the code easier to understand, modify and maintain?" This is something that comes with experience though, and I think a lot of people don't truly grok this until they are trying to maintain their own terse/clever code written months/years earlier. Nothing is quite as humbling as doing `git blame` on some crappy code only to see yo…

Yeah, it's certainly a phase I went through.

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

#175
post #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.

In Hebrew we have "נכנס יין - יצא סוד", loosely translates to "Wine entered - secret came out".

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

#176

>I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so l…

There's also an issue with how many full stack web developers who are actually capable of doing all the things he lists.

My experience is that at some scale it works out okay, but beyond a certain point it just falls flat for most. We deal with insanely talented developers, who will trash a database, because it don't understand how it works. Talented JavaScript developers, who don't really understand how HTTP works... or load balancers, or caching... or webservers. Sometimes you get these fantastic software machines as deliverables, complex, you can't monitor them, or configure much, and the it just implements a basic feature of HA-Proxy or Apache, but badly.

My point is that they should be paid poorly, because they fail to be excellent at every part of their job, but rather than: Yes, this should in most cases not even be a job title. If you find someone who can do all of this well, you almost can't overpay, but are you really sure that you want to tie everything up on one person anyway?

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

#177

> The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me. I see this in myself also. Static typing is such a fever at work especially amongst juniors and mids. Sometimes it’s almost as if they believe object types will spontaneously change at runtime, unpredictability.

I’m operations focused (traditionally Sysadmin but I can code to a decent degree and do professionally) but I suspect we’ve all been bitten by something being inferred we didn’t expect.

YAML interpreting NO (Norway’s country code) as false being the most immediately obvious.

Bash has a lot of these kinds of issues too, I don’t remember all the rules so I quote everything to be safe and still get bitten by variable expansion sometimes.

Types that change depending on what the value is: that scares me.

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

#179
> The older I get, the more I appreciate dynamic languages.

Exactly the opposite for me. I just can't stand hovering a variable or a parameter and not getting its exact type, or typing "." after a variable and not having my editor gives me all the available methods on that variable, or running my code just to discover that it instantly crashes because I made a typo or forgot an argument or passed the wrong argument or tried to call a method that doesn't exist on that variable or whatever other issues that happens only with dynamic languages. What a waste of my time.

Post reply on HN