Live data from Hacker News

Things I’ve learned in my 20 years as a software engineer

simplethread.com

391–400 of 745 posts

Re: Things I’ve learned in my 20 years as a software engineer

#391
post #184

40+ years of experience here, and I'll tell you the #1 thing I've learned: * Software is a social service. Its for other humans. Incredibly, it doesn't matter how educated the developer, they still seem to have to learn this lesson themselves, over and over, until it sinks in...

I do a lot of dev work with non-profits and such. About a year ago I was working on an extremely difficult project as a volunteer where I was insistent that a specific part was vitally important to getting the project to move forward (generalizing tables extraction from scanned OCR docs) and I was spending a lot of time on it. One of the devs I worked with, with 40+ years of experience, basically told me this exact t…

It's a permanent balance. I have to "manage" (but I still am a main contributor) a small team in a big investment bank with angry busy trader-users, irrational "global" management in other continent thinking we're all dumbasses in Asia, and people on loaned rotation.

So, like your colleague, I try to strategize delivery. I would never tell a guy not to work on a genius idea that could change the entire paradigm, in fact I let 3 of my guys do just that for the last 3 months, together, sometimes alone. But they either not deliver, or very slowly, or sketchily (not working as well as thought).

So what I do a lot is a compromise. I force them, despite their complaint I don't care enough about the big picture of their non-delivering work, to take smaller issues every week. 1 or 2, give a candy to the user, and do your stuff then.

It worked incredibly well: while they've delivered absolutely nothing of value in their own initiatives yet (but I still think they can, it's just very long term), the users are delighted by a constant stream of little innovations and we've been recently identified as one of the most productive team.

Meanwhile, the team next to us, algo programmers in C++, can take 2 months to enhance an error message. Because they're all revolutionizing the system and have no time for basic human needs. They don't know yet, but they're gone soon. The budget people found there's a new model of delivery that could work, I wonder which one ;)

Re: Things I’ve learned in my 20 years as a software engineer

#392

> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…

I think time off is very important, but you don't need to ask it during the interviews. Just wait until they give an offer and then ask for what you want.

Re: Things I’ve learned in my 20 years as a software engineer

#393
post #184

Earlier quoted context omitted.

I do a lot of dev work with non-profits and such. About a year ago I was working on an extremely difficult project as a volunteer where I was insistent that a specific part was vitally important to getting the project to move forward (generalizing tables extraction from scanned OCR docs) and I was spending a lot of time on it. One of the devs I worked with, with 40+ years of experience, basically told me this exact t…

Make an API out of that. There is huge demand for it.

I needed to do this, so happy someone else made it!

A nice FOSS library for it was on HN recently, sharing is caring I guess

https://news.ycombinator.com/item?id=28680136

https://extract-table.com/

https://github.com/vegarsti/extract-table

Re: Things I’ve learned in my 20 years as a software engineer

#394
post #313

Earlier quoted context omitted.

This is especially true if the company uses "unlimited"/not-tracked/etc. time. Otherwise, unless you know someone at the place (and even then it can vary by group), you're left with making assumptions about norms that may not be accurate. Personally, I've never not used all my PTO in a given year and would consider being unable to do so a show stopper.

Unlimited just means they don’t have to pay out when you quit or get laid off, doesn’t it?

Bingo.

Re: Things I’ve learned in my 20 years as a software engineer

#395

> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…

If the company thinks they have a good story around PTO they will sell it in the first interview. As an interviewee it's very important to me and I will definitely ask questions, but later in the process when I have more leverage. I don't think someone asking in the first interview is lazy, just perhaps naive. They'd be better to ask about work/life balance and expectations in general and then probe what the interviewer answers back.

Re: Things I’ve learned in my 20 years as a software engineer

#396

> I’d rather someone give me opinions that I violently disagree with than for them to have no opinions at all. I've been a developer for 15 years... anybody else feel like the further they get into their career, the more they want to keep their opinions to themselves? I feel like as a junior dev I had way stronger opinions and I was a lot more vocal about them. Now, I still have opinions, but I've learned that nobody…

No, I've been doing this for ~30 years now and I have really strong unpopular opinions on things. Like: - NPM/Yarn/Gems etc is a disaster waiting to happen. Having lots of dependencies is a security nightmare and a maintenance issue. As these projects get dropped by their original maintainers we'll start seeing more supply-side attacks and more vulnerabilities going unpatched. - Docker is a great solution for a speci…

Fellow 30+'er here...

You had me at

> - Simplicity is an important design goal for all systems. Complexity breeds bugs. Boilerplate is simple. DRY can be taken too far. Every abstraction layer leaks at least a little. "clever" code is usually not what is needed for reliable software.

Nuff said.

Re: Things I’ve learned in my 20 years as a software engineer

#397

> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…

I think time off is very important, but you don't need to ask it during the interviews. Just wait until they give an offer and then ask for what you want.

agree: if you don't get the job it doesn't matter, and until they offer you the job you don't have any leverage.

Re: Things I’ve learned in my 20 years as a software engineer

#398
post #313

Earlier quoted context omitted.

This is especially true if the company uses "unlimited"/not-tracked/etc. time. Otherwise, unless you know someone at the place (and even then it can vary by group), you're left with making assumptions about norms that may not be accurate. Personally, I've never not used all my PTO in a given year and would consider being unable to do so a show stopper.

Unlimited just means they don’t have to pay out when you quit or get laid off, doesn’t it?

Yes, but it also doesn't give any indication of norms around the amount of time off people take.

Expectations may differ from how much time is in a traditional PTO bank but at least in general, it's OK to take accrued time off barring special circumstances.

Re: Things I’ve learned in my 20 years as a software engineer

#399
post #367

Earlier quoted context omitted.

True, my problem with Ruby is stuff like having select/filter/find_all or map/collect and then frameworks also inventing their own conventions and this somehow being ruby philosophy. Also naming conventions like to_i to_a to_s to_h. And then the scoping rules. I'm not a fan of the language or the design philosophy and will avoid in all future projects. As for calling it retarded - it's the emotion it evokes, I don't…

Do you think that because you don't find it offensively personally, that it's 100% fine to say and anyone else who finds it distasteful is wrong?

Tasteful is subjective by definition. In a casual conversation on a anonymous forum ? I don't really see the issue. The only people that might be offended here are authors of RoR but then again, I have no qualms about offending them since their designs caused me a lot of pain the year I worked on a project written with it.

Re: Things I’ve learned in my 20 years as a software engineer

#400

The sad realisation that I'm the 0.1x software engineer.

Maybe software engineering isn't for you? Not judging you but if you admit to being 0.1x, why continue to do it?

I really hope software engineering isn't the problem. I love building software; Thinking about creative solutions, trying to apply the right design pattern in the right context and all.

Seeing myself in 3rd person, the main reason why I'm 0.1x engineer is attitude/motivation problem. Not having power over specification/design, reading bad code, seeing a bad UI specification, or when my code doesn't work is enough for me to start complaining, getting super pissed and not get anything done.

I just can't work for other people, and really believe if I leave, many people would have the biggest sigh of relief.

Post reply on HN