Live data from Hacker News

Tell HN: I love programming but am sick of the software industry

news.ycombinator.com

21–30 of 33 posts

Re: Tell HN: I love programming but am sick of the software industry

#21

Earlier quoted context omitted.

At the end of they day class names like that solely come from the GOF design patterns. Nothing to do with any language. I think I’m ready to leave the software industry now too to be honest.

> At the end of they day class names like that solely come from the GOF design patterns. The GOF design patterns are influential as boilerplate templates in certain language communities precisely because they solutions to commonly-encountered problems that are not easily reducible to generic, reusable components in those languages. Design patterns — in the boilerplate template sense, though not the underlying concept…

> Design patterns — in the boilerplate template sense, though not the underlying concept — are a language smell,

Underrated comment. In C++/Java, one must turn to GoF patterns to accomplish much of what's supported using basic syntax in many other languages (e.g. first-class functions, extensible objects, coroutines, prototypes, flexible parameter types, functional composition).

When it was published, Design Patterns must have seemed sad (or perhaps vindicating) from the perspective of a seasoned Lisp developer.

Re: Tell HN: I love programming but am sick of the software industry

#22

> AbstractBeanFactoryFactories I absolutely get what you mean and it sucks. I too love learning (and arguing, which doesn't help you that much on the job...) I think these practices grow themselves out, but it takes quite some time. On the other hand, I can be defensive too if people just want to rewrite software to change the implementation language. It always sounds fun at first until you grasp the complexity of th…

I'm a PM. I spend a lot of time managing the standup, sprint planning, etc. We have to do that stuff because otherwise the engineers wouldn't do things that the business needs. What engineers are interested in, passionate in -- don't often translate into what the business needs. So we have to do these processes to make it happen. I'm sorry that we do this to you.

Re: Tell HN: I love programming but am sick of the software industry

#23

> AbstractBeanFactoryFactories I absolutely get what you mean and it sucks. I too love learning (and arguing, which doesn't help you that much on the job...) I think these practices grow themselves out, but it takes quite some time. On the other hand, I can be defensive too if people just want to rewrite software to change the implementation language. It always sounds fun at first until you grasp the complexity of th…

I'm a PM. I spend a lot of time managing the standup, sprint planning, etc. We have to do that stuff because otherwise the engineers wouldn't do things that the business needs. What engineers are interested in, passionate in -- don't often translate into what the business needs. So we have to do these processes to make it happen. I'm sorry that we do this to you.

Software development was fine without daily roll call. I honestly find it funny that grown adults have to tell their bosses what they did yesterday and what they will do today.

Re: Tell HN: I love programming but am sick of the software industry

#24
> I'm just shocked at how resistant people are to new technologies and ideas that could make things so much easier

> I see how so many things we take as standard in the industry are incredibly slow, overcomplicated and inefficient, but when I try to introduce new ideas or patterns at work they're unfamiliar and therefore "too complex"

Almost everywhere I've worked there is always resistance to change - but not always because people are too lazy to learn new things. There's an inherent cost for a team to adopt something new - there's no free lunch. Especially when it comes to new technologies, if your team doesn't have the chops to dig into the source when things go wrong, you're probably not going to have a good time even if they do adopt it. And new technologies can be incredibly complex - can your team manage the complexity? Who will support and own the builds, the deployment process, troubleshooting, etc? People who cry at the first sign of trouble will continue to do so.

You have to justify it to the team, the manager, or the business. Oftentimes if you ask for permission to add something new, you'll probably never get it. If you go ahead and prove empirically to everyone that it works, and it works better than the old stuff, that's a great way to start adoption.

Of course, if you still can't get adoption without legitimate reasons for pushback, I'd say the team culture is the real problem. People on the team think learning new things is more work, and why work more for no pay increase - especially for a job they don't really care that much about anyway?

If you work on one of these teams, you might as well just power through objections and just do whatever you want. What do you have to lose? Even if you get fired, big whoop - you weren't gonna last long there anyway. Of course, this is all predicated on the fact that you are competent and not just automatically dismissing real concerns of teammates - if you go full cowboy and actually break everything, you deserve the consequences.

I've worked at awful places like that too, but I've been able to find the top 5% of competent folks and work with them to make life more tolerable. It's hard to find a place with curious folks that dig super deep into stuff. You have to really grill the interviewers or ask to see their codebase, or know someone who already works there. I only interview with places where previous coworkers I trust already work on the team now to avoid this problem.

Re: Tell HN: I love programming but am sick of the software industry

#25

Earlier quoted context omitted.

> At the end of they day class names like that solely come from the GOF design patterns. The GOF design patterns are influential as boilerplate templates in certain language communities precisely because they solutions to commonly-encountered problems that are not easily reducible to generic, reusable components in those languages. Design patterns — in the boilerplate template sense, though not the underlying concept…

> Design patterns — in the boilerplate template sense, though not the underlying concept — are a language smell, Underrated comment. In C++/Java, one must turn to GoF patterns to accomplish much of what's supported using basic syntax in many other languages (e.g. first-class functions, extensible objects, coroutines, prototypes, flexible parameter types, functional composition). When it was published, Design Patterns…

I think this starts to boil down to those who like OO and those whose don’t.

Re: Tell HN: I love programming but am sick of the software industry

#26

Earlier quoted context omitted.

> Design patterns — in the boilerplate template sense, though not the underlying concept — are a language smell, Underrated comment. In C++/Java, one must turn to GoF patterns to accomplish much of what's supported using basic syntax in many other languages (e.g. first-class functions, extensible objects, coroutines, prototypes, flexible parameter types, functional composition). When it was published, Design Patterns…

I think this starts to boil down to those who like OO and those whose don’t.

> I think this starts to boil down to those who like OO and those whose don’t.

I don't think so; there are OO languages where many of the GoF patterns can be implemented in libraries, or are trivial given language builtins.

Re: Tell HN: I love programming but am sick of the software industry

#27
I used to be a Java developer and now I am a Golang dev. I moved from a very large company (1000's of devs) to a medium size one (about 100 devs) and would say there are interesting difference in the culture of developers around languages. My experience is that Java shops have a way of doing things based on years of debate. However, I also noticed that there where a lot of devs who just took the "best practices" at face value without much thought so there was a huge amount of friction when you wanted to do something different. Largely centered around who didn't really know why they did stuff a specific way. When I switched to a Golang shop it was much different, a lot more freedom around what to do as there was just not enough time for all those "industry standard" ways of programming to take root. I like this freedom, and the learning that goes with it, a lot more though it dose come at a cost. I have seen several coding practices I feel will cause issues, use of global variables to do testing for mocks, singletons, things like that. Basically, what I am saying is you might want to try a job that operates in a newer language if wanting to try new things is what you are looking for. If the company is open to a newer language the are probably open to new ideas as well. That has been my experience at least.

Re: Tell HN: I love programming but am sick of the software industry

#28

Earlier quoted context omitted.

I'm a PM. I spend a lot of time managing the standup, sprint planning, etc. We have to do that stuff because otherwise the engineers wouldn't do things that the business needs. What engineers are interested in, passionate in -- don't often translate into what the business needs. So we have to do these processes to make it happen. I'm sorry that we do this to you.

Software development was fine without daily roll call. I honestly find it funny that grown adults have to tell their bosses what they did yesterday and what they will do today.

It’s sometimes important to have a little oversight to make sure people are working on the right things. Junior engineer spending 3 days on the same tiny bug? Maybe they need some help. Senior engineer clearly over-optimizing a system? Time for a new meaty project.

Re: Tell HN: I love programming but am sick of the software industry

#29

Earlier quoted context omitted.

I'm a PM. I spend a lot of time managing the standup, sprint planning, etc. We have to do that stuff because otherwise the engineers wouldn't do things that the business needs. What engineers are interested in, passionate in -- don't often translate into what the business needs. So we have to do these processes to make it happen. I'm sorry that we do this to you.

Software development was fine without daily roll call. I honestly find it funny that grown adults have to tell their bosses what they did yesterday and what they will do today.

The questions give a frame to the meeting but usually the important part is what is finished, who waits on what and who stuck on something. I know a few senior dev whom if I would lead daily standups would be unnecessary but that is called a dream team. Reality is littered with juniors, subpar programmers and devs only interested in tech not in business.

Re: Tell HN: I love programming but am sick of the software industry

#30

Earlier quoted context omitted.

> Design patterns — in the boilerplate template sense, though not the underlying concept — are a language smell, Underrated comment. In C++/Java, one must turn to GoF patterns to accomplish much of what's supported using basic syntax in many other languages (e.g. first-class functions, extensible objects, coroutines, prototypes, flexible parameter types, functional composition). When it was published, Design Patterns…

I think this starts to boil down to those who like OO and those whose don’t.

Real OO looks almost nothing like C++/Java. If you listen to one of the fathers of OO, like Alan Kay, talk about these languages, they'll say as much.

C++-style indirection, I'd argue, is the invention of Bjarne Stroustrop. He's a very smart guy, but for C++ I think that's an unfortunate thing, because he didn't come to programming language design with a desire for elegance or simplicity.

Smalltalk probably best embodies true OO principles, and it has a profound elegance and simplicity about it. (And yes, many GoF patterns are easy to use without even realizing one is using them -- first-class functions and message passing/late binding make sure of that.)

Post reply on HN