Ask HN: Should I stay in a company if I know they are selling smoke?

4 points by gaelow ↗ HN
I've recently started working for a medium-sized start up (~100 employees, 8 years old) as a junior developer. Up until now I've been working as a freelancer in direct contact with the client/end user, and all my projects translated into something useful: a product or some extra functionality on a product that satisfied a particular demand. Very small contracts lasting only a few months and comprising just a few thousand lines of code each.

Now I just do whatever management throws at me, which is usually work handed to them by account managers who get contracts to work on big projects (hundreds of thousands or even millions of lines of code and several months or even years of development).

One of the first things I've noticed on my new job is that a good number of projects never reach production or, if they do, they are useless products retired or restarted from scratch by a different company a few months later. Specially when it involves government contracts or collaboration with other companies.

Should I worry about this smoke/functional product ratio and start looking for a new job, or is it what I should expect from any software development company handling many big projects at once?

What should I do if I stay between a few months and a couple of years and become project manager to avoid any products I am put in charge of ending up as vaporware?

What should I do if despite my best efforts I still can't avoid it?

5 comments

[ 4.5 ms ] story [ 18.8 ms ] thread
I suspect what is driving your question is that you're mystified how you can be paid to produce work which isn't meeting some need, or being tangibly important in some way. If you're working on stuff which never reaches production or is immediately retired or restarted then it probably seems to you like a bad way to run a business.

I can sympathize. I worked for a bank in a role doing tasks which, to me, clearly did not meaningful add to the companies bottom line. In my estimation, my (and my department's) existence was a drag on the bottom line. I constantly found myself amazed that the company spent so much money in inefficient counterproductive ways. So I wasn't honestly all that surprised when my department was wiped out last week and I was laid off.

I think ultimately you're right: when it's all vapor then there will likely come a day or reckoning. But you never know how soon they day will come. Maybe it's a proactive restructuring of the company and they downsize and cut because they realize the error of their ways (and pivot to producing more value), or maybe it happens when the economy tanks and money gets tight.

I think you'd just be smart to continue to diversify your options however long you work in your current position. Play your cards in such a way that if you ever wanted to leave or had to leave, you would be able to frictionlessly pivot to something else. If you can do that then I say don't sweat making a buck off your employer's vapor production. When and if the gravy train comes to a halt, you'll be ready to do other things.

On the other hand, if you're not happy in your job--i.e., if you don't like your work, your colleagues, the environment, or your boss then consider staying there just long enough to make it legit (probably about a year) and then go looking for something else.

Good luck!

Thanks :-) I'm actually quite happy. The pay is decent, the colleagues are great, smart and they have a good deal of experience. Plus the office is not far away from home. From what I know from my college partners, such a combination is quite difficult to achieve.

I enjoy what I do and I am learning a lot. I see many things I like and many other I would do on a very different way, such as:

- There is no automated testing at all,

- No separation of duties either,

- The version control system is ridiculously outdated, misused and underused,

- The deployment strategy is practically non-existent,

- The upper management constantly tries to push technical decisions that sell great to the client but make little to no sense on the project context, adding many man hours to achieve the same results.

Fortunately everybody identifies this issues and they do what they can to fix them (except for the automated testing, it seems like they all think it's worthless), but the company is growing and external image is all they can care about for most of the time...

I currently work for an MLM business. It literally is a pyramid scheme.

I'm shopping around for something better, but the pay is decent.

Standard Advice for your situation. Do the best you can in your current job, while looking for something better. You already have a job, so you can be somewhat picky about your next project. Knowing that you will have an new job in 1-12 months means that it's easier for you to put up with their foolishness for now.

Good advice, indeed. I don't think I'd have any problems getting a new job right know, because everybody wants junior developers, and practically none of them are as experienced as I am.

A few years from now it might be very different, so if I intend to switch I should better do it ASAP.

The only problem is: What do I do to avoid ending up in the same situation? I did my research on this company before and during the interview, and it's almost impossible to know what happens inside the office beforehand (Even people you might know already working there usually won't tell you anything about what's going wrong, because it can damage the company image...)

That's why I want to know if that's something every company has to deal with, and what are the chances of finding one where it doesn't happen.

There are no guarantees. It's hard to size up a place until you're there a few weeks/months.

For example, at my current job, the boss admitted on the interview that their system was a mess and they wanted to clean it up. But, once I was working there, I'm doing 100% maintenance with no real opportunity to refactor or clean up the old system.

Also, after a management change, a good job can turn bad. When my current boss was hired, all the programmers hired by the previous boss quit in the next few months.

I had a job turn sour when a coworker was fired. I had double the workload, and the easier tasks my ex-coworker was doing wound up on me.

It does get a lot harder as you get older. If a job ad says 2-5 years of experience, then 15 years of experience makes you ineligible. Also due to technology churn, your experience in older languages has a market value of zero (even though it does have real value).

I have had jobs that I liked. In one job, most of the team interviewing me seemed awful. The guy I wound up working with was very nice, but he only spoke for me for 2 minutes during the interview. I thought I flunked the interview and it would be an awful job, but it wound up being nice.