Live data from Hacker News

Things they didn’t teach you about software engineering

vadimkravcenko.com

131–140 of 285 posts

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

#131

Earlier quoted context omitted.

eh.. in my experience those who always spent time sharpen their knifes barely create anything useful, even code looks mediocre because they only want to play so what they write against are likely to be some non realworld puzzle. And "But I write a compiler" is also that.

There are a lot of useful things that don't have any business value, also in software. There is no business value in writing and maintaining a compiler for instance (not anymore at least), yet without compilers, no software with 'actual business value' could be created.

You're saying there is no business value, only to end with saying that there is business value? Very confusing.

If you take something away and no one will ever notice it has no business value. If people do notice, it has business value. Very simple right?

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

#132

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

You think that doctors never mentally bring their work home?

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

#133
I've got a couple of life hacks that have seen me through things quite well: 1. My short term goals are: good quality sleep (8hrs), daily exercise (30 minute walk), proper healthy good meals 3 times a day. 2. Work intensely for 40 hours a week. Then switch off, and then have a could not care less attitude until you next return.

Most work environments will recognise the discipline and reliable work ethic and will leave you alone. Some environments will measure you by hours-attendance and will push you out or criticise your work methods. These are not healthy places.

Anecdote: I was learning about climbing and the instructor showed us a thin climbing rope chord (emergency back up). He explained it was plenty to carry your weight but comically thin. What might appear that it "would never work" sometimes can work. Hence my above advice to others.

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

#134
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…

I'm 62 and have been in this industry for 40+ years. The BIGGEST regret in my entire life has been the time I spent as a young man working stupid hours on "super important" jobs, and missing seeing much of my kids growing up.

First, very funny that with each comment the author is older. Second, I’m 33 and regret yet. I misunderstood every customer is king with every customer is important and has the right to call me outside of work.

I worked 7 years about 60-70 hours each weak for customers which „are so important“ to work at weekends.

No one will give you the time back you could have spend better by developing yourself, family time or staring your own carrier. But working for a company is most of the times lost time.

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

#135

Earlier quoted context omitted.

eh.. in my experience those who always spent time sharpen their knifes barely create anything useful, even code looks mediocre because they only want to play so what they write against are likely to be some non realworld puzzle. And "But I write a compiler" is also that.

There are a lot of useful things that don't have any business value, also in software. There is no business value in writing and maintaining a compiler for instance (not anymore at least), yet without compilers, no software with 'actual business value' could be created.

I agree only if fun is included. I've seen a lot of wow a cool opensource I wanted to try this, I want to play with, I will find problems to justify using this.

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

#136

Earlier quoted context omitted.

> It produces this weird state where everyone saves up what they have to say for the meetings to avoid an awkward lack of participation or "I have nothing" in the meeting This is an odd meeting culture. Just remove the requirement that everybody has to bring up something. FWIW I've never felt like that in my teams.

I'm not sure it can be removed, fundamentally. After all, if everyone sent out their emails, so to speak, what would be left for the meeting? I mean, what are the odds of someone discovering something worthwhile to communicate to the team just seconds before the meeting starts? Any earlier and the email would have already been sent and there would be nothing left for the meeting. Maybe it happens once in a blue moon,…

> After all, if everyone sent out their emails, so to speak, what would be left for the meeting?

One thing I've learned is that a lot of people simply don't read emails.

You can send out all the status emails you want, no one is going to read them unless it's directly related to their own work.

Short, frequent status meetings ensure that people are actually aware of the status and gives them a chance of unblocking you if they can.

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

#137
post #51

Earlier quoted context omitted.

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.

It goes both ways though - if I can't stop thinking about something that's just not quite working yet, then I haven't/can't 'clock out'.

I think I'd like a job with truly flexible hours: work all evening on something if it's occupying my thoughts anyway, but then get a full 'evening' to chill, full night's sleep, and start the next day when I'm ready. I can do the former, but I'm still going to be expected to dial in ~to pointlessly summarise it~ for stand-up in the morning. (No I don't have young children, yes yes this wouldn't work for everybody.)

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

#138
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. Code is not the goal. Money is the goal, code is a tool to get the money. You work in a capitalistic business, whether you like it or not. Push your colleagues to build the thing that makes the business the most money, not the thing that is the "best" engineering solution. You will get tons of pushback on this - but eventually your pushing will bubble up to someone who works in "the business" (directors, executives, etc) and not just other engineers and they will invariably support you. This is your contrarian view now. This is your answer to Peter Thiel's question "What important truth do very few people agree with you on?". And you will thank me in 10 years.

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

#139
post #131

Earlier quoted context omitted.

There are a lot of useful things that don't have any business value, also in software. There is no business value in writing and maintaining a compiler for instance (not anymore at least), yet without compilers, no software with 'actual business value' could be created.

You're saying there is no business value, only to end with saying that there is business value? Very confusing. If you take something away and no one will ever notice it has no business value. If people do notice, it has business value. Very simple right?

To me "business value" means it involves "doing business", which comes down to "making money". A compiler enables creating software that has 'business value' but the compiler has no 'business value' to the maintainers of that compiler (unless it's a commercial compiler which is a very rare breed nowadays).

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

#140

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

money is not the goal. providing a useful and valuable product or service to customers is the goal.
Post reply on HN