Live data from Hacker News

Things they didn’t teach you about software engineering

vadimkravcenko.com

81–90 of 285 posts

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

#81

One thing is missing from this list. No one ever gets promoted for removing features. Any code base that has had a few birthdays has stuff that needs to be removed and might not ever get removed.

This can be a cultural thing but it needs to permeate down from the very top of engineering. Celebrate and promote cleanups. Track metrics you want to improve. Create burn down tickets that’ll help others to incrementally improve some system.

I’ve only seen this work in one company I’ve worked for and will carry those lessons with me.

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

#82

Earlier quoted context omitted.

Whoever wrote this hit the enterprise koolaid a bit too much, you're meant to sip not swallow. Calling SWE "working in IT" is where it lost me.

Honestly curious why you consider SWE not “working in IT”

Because he doesn't want the negative connotation that comes with it.

Just like the debate about, "is it engineering"; by calling oneself as opposed to 'programmer', it conveys more prestige.

As a SWE, he sees himself in the driver seat of the company and doesn't want to be associated with being 'back-end', 'a cost-center', etc.

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

#83

Earlier quoted context omitted.

Whoever wrote this hit the enterprise koolaid a bit too much, you're meant to sip not swallow. Calling SWE "working in IT" is where it lost me.

The majority of software developers are working on what is, essentially, IT both literally and in the business sense of the word.

And the majority of doctors, nurses and lab technicians work in hospitals, yet they don't all have the same job.

IT the job is nowadays mostly understood to be about installing printers and setting up computers. Software Engineer/Developer/Programmer builds software. Sysadmins manage servers. SREs develop and operate production infrastructure. Nobody knows what DevOps is.

Outside of Germany and its neighbors, nobody thinks these four jobs are the same job.

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

#84

> Meetings are there to ensure that everything is going smoothly and on schedule. Are they? At one time in my career you just let people know when something isn't going smoothly/not on schedule. A quick email (or equivalent) was more than sufficient to raise awareness. For various reasons I eventually fell into this meeting culture. I don't get it. It produces this weird state where everyone saves up what they have t…

this so much. we have these stupid weekly meetings where this one guy just asks us a dozen question. and then we try our best to answer them on the spot with incomplete information. just post that shit in the chatroom and we'll answer with a thought out answer when we can.

standups are pointless status updates where no one listens to each other.

even doc reviews, which can be useful, often get fucked because the clever folks with things to say can't leave them as comments on the doc so the owner had time to review and think about them.

save meetings for things that require actual discussion, not questions or status updates

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

#85
post #39

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".…

> If that's the case, quit immediately If you're so uninterested by your work that thinking about it after 6pm makes you sick, why did you pick it? I've been in the industry for 15 years, coding since 25+ years, and I very often think, code, read about work or work related things at any time of the day or weekend or vacation, because I find it interesting. Why would I work in something of no interest to me?

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 topics.

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

#86
post #29

Earlier quoted context omitted.

Whoever wrote this hit the enterprise koolaid a bit too much, you're meant to sip not swallow. Calling SWE "working in IT" is where it lost me.

The dictionary definition of information technology (IT) almost exactly describes software engineering. So what is wrong with calling it "working in IT"? For reference, Merriam-Webster defines IT as follows: > the technology involving the development, maintenance, and use of computer systems, software, and networks for the processing and distribution of data

I think the confusion is "IT" the sector and IT the job. Yes, computers are information technology, but saying SWEs work in IT is kind of like saying a pharmacist "works in medicine". Being "in IT" typically means you set up office computers.

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

#87

Earlier quoted context omitted.

Honestly curious why you consider SWE not “working in IT”

Because he doesn't want the negative connotation that comes with it. Just like the debate about, "is it engineering"; by calling oneself as opposed to 'programmer', it conveys more prestige. As a SWE, he sees himself in the driver seat of the company and doesn't want to be associated with being 'back-end', 'a cost-center', etc.

20 years later I still cringe a bit at the term "software engineer", but that's a different debate. Given how much work nowadays is about technology, calling 30% of the working population "IT guys" is perhaps not super specific anymore, so language evolved.

Nowadays, "IT" anywhere outside of Europe refers to basically an operational or support role. (I think Europe being the odd one out is an effect of most European business leaders still thinking computers are a fad that'll go away eventually.)

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

#88

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 lead a fairly large team and I agree with this comment. It is certainly possible and healthier to disconnect from work after 17:00. Unless you’re in charge of coding a nuclear reactor core or similar, your CRUD app can always wait. A streamlined on-call process should be in place instead.

Taking care of your headspace and unwinding at end of the day should be one of the most important routines in a programmer’s life.

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

#89

> My god, how many times has my Linux machine crashed with a segfault? It’s crazy. Zero times? It is crazy.

The last time any of my linux machines crashed with a segfault was in early 00’s. In most cases the reason was in shitty drivers for some hardware.

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

#90
post #86
post #29

Earlier quoted context omitted.

The dictionary definition of information technology (IT) almost exactly describes software engineering. So what is wrong with calling it "working in IT"? For reference, Merriam-Webster defines IT as follows: > the technology involving the development, maintenance, and use of computer systems, software, and networks for the processing and distribution of data

I think the confusion is "IT" the sector and IT the job. Yes, computers are information technology, but saying SWEs work in IT is kind of like saying a pharmacist "works in medicine". Being "in IT" typically means you set up office computers.

> saying a pharmacist "works in medicine"

Is this wrong? I mean, they do work in medicine. You can always be more specific if you want, but I don't see anything wrong with that statement.

> Being "in IT" typically means you set up office computers.

This is probably a thing that varies regionally. Here it is very common to call all the aforementioned jobs "the IT industry".

Post reply on HN