the blog for developers

7 Bad Signs not to Work for a Software Company or Startup


Photo by mundo resink

There is a job offer, you’re on a job hunt or a headhunter calls you. With the ending recession this scenario becomes more likely again. What are signs that you should not sign up with a company?

As someone who did a lot of recruiting and talked to many developers, I’ve prepared a list of signs that would tell me not to sign up with a company.

  1. No Source Control:
    Source control systems (SCM) are essential to software development. Be it Subversion, Perforce, Git, Mercurial or any other. Without source control integrating the work from different developers and projects is a nightmare. As Joel says in the legendary Joel Test:

    But if you don’t have source control, you’re going to stress out trying to get programmers to work together.

    There are still companies without SCMs, don’t sign up there.

  2. No top tools or only home brewed ones (IDE, Build System, …):
    Without the right tools, you can’t work. Depending on the programming language and enviroment, the company should use an IDE, debuggers, build systems that allow one-stop builds and professional deployments. Without the right tools, software development is a pain. If you’re a professional, insist on professional tools.
  3. No business model or not enough money:
    If you interview with a startup, ask them how much money they have and how long it lasts. Do not hire with a company that has less than 6 months of money – they most likely won’t make it. The same goes for a company without a business model. No income is high risk. If you’re young and like to take risks, it can be a worthwhile journey though (see the y-combinator financing model). It might be fun, and it might be valuable for you, but you have been warned.

    Some further reading, especially when joining a startup, is the excellent article Guy Kawasaki’s 10 Questions to Ask Before You Join a Startup:

    How much money do you have in the bank? This is a simple question. You just want a number. If you’re told that “investors are ready to put in more” or “we have a line of credit,” beware because a promise of money isn’t the same as money.

  4. They don’t let you talk to or see developers:
    During many years of recruitment, I’ve always been astonished how few developers wanted to see their working space and talk to developers. Talking to other developers will enable you too get to know a prospective company. If they do not let you talk to developers, don’t go for the job.
  5. High turnover:
    A bad sign is high turnover. There is always a reason for it. Ask people in the industry about the prospective company. Ask during the interview, if the job is new or if you are a replacement. Casually ask developers how long they have been with the company. As Kate Lorenz writes in Six Signs to Run — Not Walk — From Your Job:

    After two weeks on the job, you are already halfway to becoming the employee with the most seniority. One of the biggest issues for human resources professionals today is employee retention. You will notice that most of the country’s top companies have employees who have been around for years.

    Do not get a job at a company with a high turnover rate. Period.

  6. Hiring is mainly done by HR, not by developers/technical staff:
    If hiring is mainly done by a HR person, there will be lots of developers recruited only by HR. Most of the time, they have no clue about what a good developer looks like. If you want to work with good people – and you should, because it’s the best way to learn – do not work for a company that doesn’t do recruiting with technical staff. Bonus points for a company that also lets developers interview applicants.
  7. No decent hardware:
    A company should respect their developers. As with good tools, decent hardware helps developers to turn more requirements into working code. Developers therefor should have a decent PC (e.g. dual core 3Ghz, 4/8gb memory) and 2 22/24″ screens. Bonus points for Macs. As shown in several studies, the easiest way to gain lots of productivity is two screens. A company that is not interested in the basics of productivity, is not worth working for. They will not respect you.

So – what about you? What are your signs that steer you towards a “No thanks” when interviewing with companies? I’d like to hear.

Thanks to @andreaskaiser @Tungano @mwessendorf @AgileArtem @Devgru @benjaminm @gjmilne for their input.

Update: Great post on 10 Startup Red Flags by Adam MacBeth

About the author

stephan Stephan Schmidt has been working with internet technologies for the last 20 years. He was head of development, consultant and CTO and is a speaker, author and blog writer. He specializes in organizing and optimizing software development helping companies by increasing productivity with lean software development and agile methodologies. Want to know more? All views are only his own. You can find him on Google +

Discuss on Hacker News Vote on HN