Live data from Hacker News

Things they didn’t teach you about software engineering

vadimkravcenko.com

221–230 of 285 posts

Re: Things they didn’t teach you about software engineering

#221

Earlier quoted context omitted.

My mind jumps to things like.. - Don’t rewrite the architecture with microservices when the monolith is working fine - Avoid rebuilding the company blog on the latest CMS unless there are good business (time/money) reasons to do so. - Choose boring technology, which would be the ones that most of the people on the team already know, and probably not the cool new language you heard about last week. Avoid fragmenting t…

Can't disagree with any of those really. I guess it's really hard to draw out general conclusions about these sort of things when the specifics really make a difference. You can pretty much say "spend your time wisely" which is not very actionable. For instance on your last point - I've heard that used to argue against any new technology even if it solves real problems . Rust, Bazel, React, Typescript, etc. I would g…

Premature optimization is much more useful as a deterrent for stuff like building complex data structures and processes to speed up looping through like 100 items.

"But it might be a million items later!"

Yeah, or the company might pivot before we ever go live with this feature. Just slap a for-loop in there and get on with your day.

Re: Things they didn’t teach you about software engineering

#222

Rare work-life balance. In other professions, your work day ends at 18:00, and you forget about the job. Not here. You will most likely always be online and checking the code, even in the evening. If that's the case, quit immediately. I've been in this industry for over a decade (oh god, has it been that long already?) and I have never had a job where I was "always online and checking the code, even in the evening".…

I was trying to get my current company to cover our cell bills because everyone messages us all the time at all hours, even past midnight. When I talked to the c levels they said there's no expectations to reply off hours so they won't cover our cells because they don't want to promote that atmosphere. I turned off all notifications and it's much better tho I think people are starting to get annoyed

This is a part of many company's culture I hate. Where the "official stance" is work-life balance but the reality is everyone is putting in overtime all the time with emails and chats on their phones.

When I start a new job nowadays I don't install teams or slack or connect my work email to my phone. If I have messages waiting in the morning I just address them then. If anyone complains, oh well.

Re: Things they didn’t teach you about software engineering

#223

Pretty decent article (don't agree with everything, but for the most part) > Code is secondary. Business value is first. I wish I could shout this from a mountaintop. If there's one thing I could change about engineering culture it would be this. But then again I would lose my edge if everyone understood this, so maybe it's best that they don't Engineers: If you want to stand out in your career - take this to heart.…

You can probably also extrapolate this advice to most jobs that involve building or manufacturing something. The way you make it, the techniques you use, the practices you put into play... are all secondary to whether what you're building actually serves a purpose/fills a need.

And that's equally true of everything from programming to design to writing. The value of a newspaper article is often the story it tells, not the actual way it was written. Same with a video, film, tv show, design, or whatever else. Most people don't care how good your technique is or how elegantly the product was made, they care about whether it does something they care about.

Re: Things they didn’t teach you about software engineering

#224

Pretty decent article (don't agree with everything, but for the most part) > Code is secondary. Business value is first. I wish I could shout this from a mountaintop. If there's one thing I could change about engineering culture it would be this. But then again I would lose my edge if everyone understood this, so maybe it's best that they don't Engineers: If you want to stand out in your career - take this to heart.…

But if I don't build it with Rust with pure functional programming, how could I scale type correct, shared-nothing architecture? Who cares if customers like it? It could be a disaster if Coq cannot verify its correctness! ;-)

Re: Things they didn’t teach you about software engineering

#225
This looks so bad because author mixes up "happy hacking" aka programming ("Programming is a craft" - Stallman) with industry-only experience. If you haven't had a joy of building things on your own, just for fun, the world looks boring (and even depressing), as it's described by the link.

However, the whole another universe uncovers if you remove "industry" concept that has been illegally attached to "software engineering" concept by Vadim.

In reality a lot of cool stuff has been built outside of corps, managers, offices, deadlines. The whole Internet works on Linux. Many successful games were built by folks who wasn't even once employed as software engineer. Some of them earned millions and billions.

Re: Things they didn’t teach you about software engineering

#226

Something I would like to add to the list (being in the field for 33 years): Discover that your greatest struggle is with your own deep rooted sense of insecurity, I think that software engineering, like no other form of engineering, has an aspect of creativity (source code), in combination with many (often hidden) single points of failures (bugs), where cooperation with others is essential, causing all your insecuri…

Null space propagation toward. Viral outbreak of not.

Re: Things they didn’t teach you about software engineering

#227

Earlier quoted context omitted.

This is something I talk about with SDE teams I’m coaching: - we’re like a football team - and that means it’s okay we have different roles that utilize our unique skills - or because we need a single play caller - but that doesn’t mean your role isn’t important; QBs can’t work with no linemen - and managements job is to be high level direction, staffing, and play calling - but they need to step back and let the peop…

> I just wish we could get to a paradigm of “team building” instead of “fungible cogs in the process chart”. Both sides, employees and employers, would be happier. Sadly I’m not so sure about that. If you’re mostly cleaning toilets in a hospital then you would benefit greatly from confusion about your role, so that you can have a bit of the compensation and recognition of a senior physician. In fact when there is a w…

Except that doesn’t happen:

“Janitor” and “physician” are different kind of cogs.

What actually happens is that you don’t build the depth in your janitorial department that trades require — so the overall quality decreases.

“Janitor” and “physician” are different teams: they don’t “play the same sport”.

Re: Things they didn’t teach you about software engineering

#228
As I advance in my career, I start to like the messiness of real life software engineering more and more.

We all like starting from scratch, from a clean slate, but that's actually the easy part, it only becomes hard later, when the requirement have changed and you start to notice the consequences of the bad choices you made earlier, and then you try to leave, or restart from scratch. So you want the easy part and leave the hard part to others...

But where is the fun in that? I went to programming because I like things like problem solving, and it is not problem solving if there is no problem. Digging into code that no one understands, that is not documented, working around limitations, finding what needs rewriting and what doesn't (with an emphasis on the "doesn't"), managing technical debt and deadlines without overworking yourself, etc... Now this is a challenge, this is interesting, this is the job I signed for even if I didn't realize at first.

And don't let anyone tell you that these are not coding skills. These are totally coding skills, where code reading is as important as code writing, where you have to be able to code with any API, in any environment, in any style. Not just the narrow subset of algorithms (which is also important).

Re: Things they didn’t teach you about software engineering

#229

Pretty decent article (don't agree with everything, but for the most part) > Code is secondary. Business value is first. I wish I could shout this from a mountaintop. If there's one thing I could change about engineering culture it would be this. But then again I would lose my edge if everyone understood this, so maybe it's best that they don't Engineers: If you want to stand out in your career - take this to heart.…

I disagree with both. Code and business value are worthless. Boss approval is literally everything. It really doesn’t matter if your ideas make a ton of business sense if they are in conflict with your direct manager or any part in the chain of hierarchy. As long as they don’t like what you’re saying - you’re literally worse than worthless. Often this is because your idea isn’t their idea - therefore damage to ego. D…

ahh and finally we get the real answer that careerism is about playing jester to the court of the mad king regardless of any other concerns

if you don't want to be a jester and you want satisfaction doing a good job professionally you need a union

Re: Things they didn’t teach you about software engineering

#230
post #99
post #85

Earlier quoted context omitted.

You are not describing interest, you are describing obsession. I love being a software engineer, still, my family is orders or magnitude more important than my employer’s codebase. I really don’t care about my code architecture issues at work when I play Legos with my son or when I ask my wife if she had a good day while cooking together. And I say that while currently working for a good employer on interesting topic…

> You are not describing interest, you are describing obsession. I'm describing passion. > love being a software engineer, still, my family is orders or magnitude more important It's not mutually exclusive... I wake up at 6am, usually because that's the time my son wakes up. I spend around 30m with him until my wife takes over. Then I work on some stuff from 6:30 to 8:30 before the rush of the day starts. My wife doe…

[flagged]
Post reply on HN