Live data from Hacker News

Things they didn’t teach you about software engineering

vadimkravcenko.com

91–100 of 285 posts

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

#91

I like this list. It's also missing "debugging". That's a skill that they don't emphasize in college because they can't test it and it's hard to teach. But there are ways to teach it and techniques. There are some books on the subject: https://www.amazon.com/dp/1484290410/ https://www.whyprogramsfail.com/ That can mitigate that a bit.

I find debugging hard when it comes to web development. How can I debug a typescript web app when 1. It will actually be in javascript once it's transpiled and 2. It will run in the browser and not in my ide. It uses some kind of live reloading dev server that is completely different than the production build. Currently I'm building something with sveltekit and i have no idea how to debug this except logging out mess…

I don't know what your setup is but I've had no trouble debugging typescript in the browser or on the server. In the browser I use the browser's devtools and source maps. It works. For the server I use VSCode's built in node debugger integration. Both have worked great for me.

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

#92
> Remote work can lead to isolation. Depending on the company and team structure, software engineers may work in solitude (not including video calls) for long periods, leading to a lack of real social interactions.

Yep

> Rarely you're building something you love. More often than not, it's tedious work that needs to be done

You should switch jobs. The majority of my jobs were building something I love

> It's hard work. You're sitting behind your computer most of the day.

That's not hard. That's what I would do even if I didn't have a job.

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

#93
post #66

Earlier quoted context omitted.

> Because there is a very strong negative correlation between overworking and productivity / quality of work Working outside of business hours is not the same as overworking. I have some days packed with meetings and calls, and I actually find it refreshing/relaxing to work on more down to earth matters in the evenings or weekend. Sometimes I even take vacations just to code on some work-related projects that I find…

The difference is a a single question: “do you have family/kids?” This is also the main reason for ageism in the industry, where employers prefer to hire younger people. I love programming, but I love my family even more.

I have a wife and a kid.

Do you spend 100% of the your non-working hours with them?

I manage to have a job, spend time with my wife, my kid, learn guitar, code & think on my free time, and I run 3 times a week.

I don't watch TV though ;}

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

#94
> Code is secondary. Business value is first.

Eh, what a predictable and boring attitude :/

This advice makes sense in a company environment, but there's so many other motivations to write code than just 'business value'.

And from what I've seen, focusing on 'business value' alone is the only explanation why so much software written in company settings is so user-hostile nowadays.

My counter-hot-take: focusing on business value makes you a worse programmer.

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

#95

> Code is secondary. Business value is first. Eh, what a predictable and boring attitude :/ This advice makes sense in a company environment, but there's so many other motivations to write code than just 'business value'. And from what I've seen, focusing on 'business value' alone is the only explanation why so much software written in company settings is so user-hostile nowadays. My counter-hot-take: focusing on bus…

Worth stating nevertheless as the article is about a software engineer. Not a programmer, coder or hacker.

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

#96
post #51

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 rarely goes online in the evening but when I have an interesting problem, it's not rare that I have a solution when I wake up in the morning! So you don't really stop working at 6pm..

I typically stop thinking about work entirely after I clock out.

I already spent most of the day on the problem, and that exceeds my natural interest in it.

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

#97
post #95

> Code is secondary. Business value is first. Eh, what a predictable and boring attitude :/ This advice makes sense in a company environment, but there's so many other motivations to write code than just 'business value'. And from what I've seen, focusing on 'business value' alone is the only explanation why so much software written in company settings is so user-hostile nowadays. My counter-hot-take: focusing on bus…

Worth stating nevertheless as the article is about a software engineer. Not a programmer, coder or hacker.

And that's exactly my other gripe! :D

Those are all the same, the best programmers in the world (those in the demo scene) call themselves 'coders'. Calling yourself a 'software engineer' reeks of elitism, no matter how much time you spent at university.

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

#98
post #95

Earlier quoted context omitted.

Worth stating nevertheless as the article is about a software engineer. Not a programmer, coder or hacker.

And that's exactly my other gripe! :D Those are all the same, the best programmers in the world (those in the demo scene) call themselves 'coders'. Calling yourself a 'software engineer' reeks of elitism, no matter how much time you spent at university.

Not at all. Software engineering is very much a thing and requires a different skillset than programming.

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

#99
post #85
post #39

Earlier quoted context omitted.

> 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 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 does her morning yoga starting at 8:30 so I take care of my son from 8:30 until the nany arrives at 9am.

I do my work day WFH (with some pauses to play with my son or chat with my wife) until 6pm, then stop to spend time with my son before he goes to bed around 7pm.

I cook, eat and discuss with my wife between 7pm and 9pm.

We usually then head to the sofa where she watches a movie and I sit next to her reading/coding.

She will go to bed around 10pm, I usually continue to work/code/read until 11pm/midnight.

3 times a week I swap the cooking part to go running for an hour. Or I do it at lunch time.

Overall I spend quite some time with my wife and child, while still working between 2 and 6 hours more per day.

I really don't think I have a crazy schedule, nor that I don't spend enough time with my wife or child, or doing sport.

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

#100

I like this list. It's also missing "debugging". That's a skill that they don't emphasize in college because they can't test it and it's hard to teach. But there are ways to teach it and techniques. There are some books on the subject: https://www.amazon.com/dp/1484290410/ https://www.whyprogramsfail.com/ That can mitigate that a bit.

I find debugging hard when it comes to web development. How can I debug a typescript web app when 1. It will actually be in javascript once it's transpiled and 2. It will run in the browser and not in my ide. It uses some kind of live reloading dev server that is completely different than the production build. Currently I'm building something with sveltekit and i have no idea how to debug this except logging out mess…

If the code is running in the browser: source maps are the answer (there's a step-debugger in the browser's devtools panel). But also: Modern Javascript is (more or less) just Typescript with the type hints removed, so even debugging the output JS code is pretty straightforward.
Post reply on HN