Hacker News new | ask | show | jobs
by verinus 904 days ago
this.

first company is good for starters to get to know others.

third should be avoided if you want to stay in software and not transition to management. You will always be seen as a necessary evil, your problems not understood while others working on core products will be perceived as an asset.

second one is the one to make a career in software dev.

3 comments

I actually had a pretty good time at a third-category place. When you're writing software for a non-tech company, it means your customers are very close - often in the same building, working at the same time. You can watch them use the software, hear complaints in real time, and push solutions very fast.

In my case, I might've been lucky, though. One of the co-founders had a CS degree and deeply valued the productivity boost we got from custom software.

Along those lines, one of the most toxic places I've ever encountered for developers was at a company that sold b2b software. You would think that developers would be valued for creating the product, but they were fully treated as a cost centre. The profit centre was the sales team who went out and got companies to send money. The developers merely existed because legal said that, for compliance reasons, the firm was required to provide the costumers with software after the client paid for said software (legal accounted for 24% of the company's budget while software development was 15%). If the sales team promised something that the software couldn't do (e.g. track the position of any cell phone in the country with just a phone number in the early 90's before smart phones), then any refund owed to the client would come out of the product team's budget. The salesman (they were all men) would not be required to return his commission, since he did his job and got someone to sign a cheque.

Surprisingly enough, the company was not Oracle.

interesting that this company could stay in business.

over the long term I would think that two things will happen: good devs will leave the company while the remaining fight an uphill battle maintaining code until the customers leave.

but ofc sales and incentives in general are a whole different area of problems.

It's interesting that you mentioned the good devs leaving, because they never got the chance. The owner had a policy of only hiring average devs and 10x devs were fired with extreme prejudice. His hiring theory was similar to modern server management: Cattle, not pets. It should be possible to fire a dev on Monday and have their replacement closing tickets by Friday. Good devs were harder to replace than average devs, so every good dev was a liability.

This policy was also useful for retention. Other firms in the area knew that he fired all of the good devs, so they never tried to poach his employees. In fact, if you got tired of the toxic environment and quit, the firm's name on your resume meant that you probably weren't going to get another dev job without leaving town. When a dev sees their former colleagues making sandwiches at Subway, another weekend of unpaid overtime doesn't sound as bleak.

> In my case, I might've been lucky, though. One of the co-founders had a CS degree and deeply valued the productivity boost we got from custom software.

This. A mentor told me, “[As a software developer], never work for a company with a CEO who has never pushed code to production.”

I think you miss some good places to work by following that advice, but you avoid a ton that are worth avoiding.

ofc individual experiences might differ! it certainly depends on the company and leadership. From my experience in a bigger one understanding ended when leadership was needed in software areas, but leadership was recruited only from the other domain...
> second one is the one to make a career in software dev.

Your comment and a dozen others make this out to be so black and white. If this is true then why am I finding it so difficult to make a career out of these situations. I find it impossible to identify companies in this category that are good to work for. Does anyone have any heuristics, or should I keep bouncing from one to the next until I get lucky?

Just look for “good WLB” in the Glassdoor/blind reviews, AND that the company is healthy (doesn’t need to be a rocket ship) business wise
Honestly the second is most likely to find you outside of the field in 10 years with burnout. Third option allows you to take over part of a company and run things your way but you are being judged on different things. But great experience if you want to do a startup. The first option is great to get experience but teaches you speed over quality and will burn you out in time.