Live data from Hacker News

Ask HN: Do you hate software engineering but love programming?

news.ycombinator.com

351–360 of 733 posts

Re: Ask HN: Do you hate software engineering but love programming?

#351

The strangest thing is that I love refactoring, and I sort of assume that it's another one of those things that programmers love to do, but managers keep pushing us to limit our time and move on to things that are visible to customers. But now I'm wondering if that's not the case. Or maybe it's just the sort of programmer who loves abstractions and is cast as a "perfectionist". I'm currently getting my footing now as…

I have to disagree with other responses. I think you could make a career of this for the same reason management consultants can.

You could swoop in and "fix" some stuff and then leave the in-house team not understanding what you've done. That sounds profitable. You might even get called back to fix things a second time.

As with management consulting, I think it would at the system level tend to do more harm than good, even if you do good work and get paid well for it. I agree strongly with feoren that the code needs to reflect the in-house developers' mental models of the domain or everything will fall apart. If you fix things and then give them a bunch of processes and coding standards to follow, they will not do well and you will be thought of as some clueless architecture astronaut by them. But profitably.

Re: Ask HN: Do you hate software engineering but love programming?

#353
Research & Development, Academia. Gigs where you're paid to experiment and try things out at your pace. If you can find something super niche it can be similar. Helps to be an expert in your field / very smart.

If you just want to 'get something out now', join a startup. They're full of amateurs churning out terrible code at a rapid pace with no thought to the future

Re: Ask HN: Do you hate software engineering but love programming?

#354
“I'd rather get to value now by making something that just works(… and is tested)”

IMO that is the gold standard for 80% of professional software. Ship. Fix bugs if needed. Ship.

If your org wants to do pointless cargo cult process junk and this troubles you, switch employers. Preferably to a place with old steady hands.

Software engineering is not the problem. Problem are orgs that invent pointless process and encourage the managerial types to get some more process in. Not all shops are like that (yet… at least).

I suppose you can probe this at the interview. Too little process and too much are both res flags. Too little:no CI, no testing, that sort of stuff. Too much: like porn, you know when you see it.

Re: Ask HN: Do you hate software engineering but love programming?

#355
I actually enjoy the parts you don't seem to - architecture, refactoring, designeding systems from teh ground up is what I really enjoy. Debugging - my own code, fair enough, that's my responsibility, when it's other people badly written code, not so much. Sprint and agile is meh, but I guess you need a way of organizing a team. uess I like focusing on the large scale parts of the problem, while you seem to prefer the small scale parts. Maybe we wwould make a good team.

Re: Ask HN: Do you hate software engineering but love programming?

#356
post #335
post #55

I love most of the things around writing code but absolutely despise all the people that have popped up around it. Software engineering feels like a jobs program where we let nontechnical freeloaders figure out how to insert themselves into our process. I think that part of the reason that software sucks so much now is that the people designing it don't love software and technology the way we do, and it shows. I thin…

There are plenty of non-technical people who have made my life happier. The more effective managers and business consultants/owners find a way of making my life easier by avoiding road blocks and taking on work that I didn't want to do anyways. The more frustrating ones would find arbitrary limits to my ability to produce or micro-manage. This isn't an everyone problem, this is an acute number of people who made prod…

I think a critical reduction of your praise of good/effective non-technical people is: They made your life easier by triaging with all the other non-technical people.

I wouldn't assert that this isn't valuable in most organizations; but it drives further into the OP's point that if non-technical people weren't involved in the process, things would simply Be Better; and large swaths of very real, numerous organizations do feel like work programs for people inventing work for themselves.

Allow me to tell a story: I take on an epic of work. The final stage of this epic of work is to build out some UI stuff for a feature. Things get missed, we're approaching this final phase, boss says "oh crap, we need to coordinate with design to get some designs; I'll set up a meeting". The soonest they can get us in is two weeks. I spend three days twiddling my thumbs, then decide to Just Do It. We have component libraries; its like five UI components on an admin dashboard; just do it. I implement it; deploy to staging; then DM one of the designers "hey, I just released a new UI feature; if you have ten minutes today do you mind taking a look and giving feedback?" He had one piece of excellent feedback, I implemented it, and we shipped.

Allow me to tell another story: Two days ago, someone from customer support DMs me and says "We got a security vulnerability report (links to ticket); are y'all the right team to look at this?" We were. I PR the fix, share with the team, done.

Third story: Customer support DMs again. Hey we got a report from a customer about some odd behavior on this endpoint. Me: "Do you mind opening a ticket? That just helps us track it a bit better." "Sure man no problem (links ticket)". "Gravy my dude, I'll take a look at that tomorrow, sound good?" "Awesome!"

There's nothing about any of these stories that would fly with many MBA Orgs' idea of "The Software Engineering Process". They certainly don't fly with our process. It still happens. Why not? Once you start asking five-whys down the reasoning behind things like "it causes interruptions" or "engineers don't like talking to people" you eventually arrive at something proximate to: The MBAs invented a sandbox to justify their existence, they're here on a VC-fueled work program, and everyone has to play in their sandbox.

Things are not better in that sandbox. Companies are less efficient. Employees have higher average misery. Revenues grow slower. But many are blind to it because the MBAs, if nothing else, are great at Talking Good, and we don't know anything else.

(To be extremely clear: I'm adopting the terminology of previous comments, but think "technical" to mean "product-oriented", Product Managers and Designers count, and "MBAs" to mean "People & Process Oriented". Ex-Engineering Engineering Managers are gray area; but I think once you start viewing that role through the lens of buzzwords MBAs love like "Leaders" e.g. "To Lead Your People" e.g. "Inspire" "Mentor" etc; they can only be technical, and need to be more Product-oriented than People/Process-Oriented.)

Re: Ask HN: Do you hate software engineering but love programming?

#357
People will disagree with me here, and at the end of the day I might just be getting hung up on semantics. But I don't think that the processes that come with sprints and agile are what change it from being "just programming" into "software engineering".

I took this off of the Wikipedia article for "Engineering", but pretty much every definition I've seen says something like this:

> Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings

So if you're using scientific principles, i.e. you apply knowledge from sub-fields of computer science such as distributed systems or cryptography, then you're doing software engineering. Sometimes this is important, e.g. you need to understand how a system will scale under load if it is used by a large number of users. Other times it's not so important.

But all that agile process stuff? That's not science, nor software engineering - it's just project management. Sometimes project management is important, such as when you need to coordinate large groups of people, or manage delivery risks. But in my (probably overly) cynical opinion, Agile (in practice, big A, etc) is usually just a heavy-handed way for companies to micro-manage under-performing teams - and at least for me, this is the biggest thing that just completely sucks the joy out of programming.

> What are some good jobs for a person like this?

So given the above, I'd suggest seeking out companies that are working on interesting problems that require computer science principles to be applied, rather than just another enterprise CRUD app where the hardest part is dealing with the business stakeholders.

And avoid companies that require a lot of project management - places where every bit of work requires coordinating a larger number of people than you would normally think necessary. This is most big companies, but also a lot of small companies too.

Unfortunately, this takes a lot of jobs off the table. But if you're able to find something that fits you, that's a great result.

Re: Ask HN: Do you hate software engineering but love programming?

#358

Things were better before agile / scrum / annoying processes took over. Not all companies were waterfall, they kind of just "did things" without any well defined process. This was how things were until roughly the early 2010's. I remember working for weeks, after a couple of whiteboard sessions. You'd meet about what you were going to do, work on it, and come back a week or two later. Occasionally there would be info…

> they kind of just "did things" without any well defined process

That's called making it up. While it may have worked for that organization, I assure you it falls it a heap 99.9% of the time large software is developed that way.

Re: Ask HN: Do you hate software engineering but love programming?

#359
post #55

I love most of the things around writing code but absolutely despise all the people that have popped up around it. Software engineering feels like a jobs program where we let nontechnical freeloaders figure out how to insert themselves into our process. I think that part of the reason that software sucks so much now is that the people designing it don't love software and technology the way we do, and it shows. I thin…

Precisely my feeling on this topic. We don't need scrum Masters, product managers and even most managers who are not technical. Too many people trying to have a say in something they have no expertise in. Basically software engineers are treated like a coding monkey.

We need assistants not managers most of the time.

Why are tech assistants not a thing?

Re: Ask HN: Do you hate software engineering but love programming?

#360

Every few months or so we get these really circle jerky posts by engineers who believe the world of business is them just pumping out code and somehow getting paid. 1) that’s the difference between a job and a hobby. You do the hard parts you’re paid to do sometimes. 2) decisions you don’t like by stakeholders you don’t like aren’t always wrong just because you see some way to “code it”. A product is not just its cod…

Thank you for commenting this. I feel like I'm taking crazy pills reading some of the other comments on this post, e.g. "I think we need to get nontechnical people OUT of our process"

There are so many engineers out there that are basically coddled children who get paid handsomely to sit in a chair and write code, and have no concept of where their handsome pay comes from.

Thankfully, this era is coming to an end and companies will be/are already taking a hard look at who is driving business value and who is not.

Post reply on HN