views:

463

answers:

11

What would you look for in a software company before deciding to join it?

Related:

Dealbreakers for new programming jobs?

+3  A: 

Capitalization, or at least a good chance of getting some.

Paul Tomblin
YOU MEAN PROGRAMMERS SHOULD BE YELLING ALL THE TIME?!?!?!?!
MusiGenesis
+1 for getting some capitalization.
Gurdas Nijor
+13  A: 

The Joel Test and whether they have enough money to keep the doors open.

cletus
Definitely be thorough if you are joining a start up. I've been burned before, don't let it happen to you.
Jack Marchetti
+1 with a caveat: If they're open to change, then they don't have to score well on the joel test. The company I work far was a 1 on the joel test when I started; we're an 8 now.
SnOrfus
A: 

Good practices (the Joel Test is a good place to start), and a desire to improve on them.

David Johnstone
+5  A: 

In addition to the good development practices/tools stuff (glibly epitomized by the Joel Test), you should look for good hiring practices.

Does the process you've gone through suggest that your coworkers will be well-qualified? Did you meet people you'd be working with and like them? Were you treated well during the recruiting process?

Novelocrat
This is a big one for me. It doesn't matter how awesome your project is, when the person sitting next to you is checking in craptastic code and they're hiring three more just like him next week.
Ether
+15  A: 

I don't put as big a priority on the Joel Test as it is just a starting point. A company can have a score of 12 and still be a lousy place to work.

I think getting an understanding of the culture is important. How open are they to new ideas, or is it their way or the highway?

How do they determine whether someone can get promoted. Is there a set way or is it up to sucking up to the manager?

Do they test new versions of their software, and how hard is it to decide whether to move to something newer?

How challenging is the work?

James Black
+1 for challenging. If you have everything that Joel's test says so but you dont have challenges, your everyday work gets all automated and just become boring.
GmonC
+8  A: 

Here's some of the considerations I use (based loosely on the Joel test) for deciding if I want to work somewhere.

  1. Do you have fair compensation?
  2. Do you have tech support?
  3. Do you have testers?
  4. Do you have sales people?
  5. Do you generate revenue?
  6. Do you have product designers?
  7. Do all areas of the code have an owner?
  8. Do you have coding guidelines?
  9. Do you do code reviews?
  10. Do you do unit tests?
  11. Do you do regression tests?
  12. Do you use source control?
  13. Do you document your code?
  14. Do you build weekly?
  15. Do you have a bug database?
  16. Can programmers get by without more than 3 hours a week in meetings?
  17. Do you have up to date specification documents?
  18. Do programmers have quiet working conditions?
  19. Do you have a rigorous interview process?
  20. Do you accept people being jerks, just because they are good at something?
  21. Do you have an owner of the build process?
  22. Do you document your processes in a single easy to find location?
  23. Do teams share ideas, processes, and technologies?
  24. Do you reuse code?
cdiggins
@ #16. Oh gosh, I probably average 3 hours a day...
tster
10 minutes a week for me!
Ether
Regarding #24, at most places I've worked, reusing code would be a *bad* thing.
MusiGenesis
+1  A: 

I would want to know that I can get behind whatever this company's mission is.

If you don't believe what you are working on matters, then the amount of pay, perks or environment will never be enough.

rhettg
+5  A: 

It really depends on what you're looking for in your life.

At 51, I don't have so much time remaining on the planet that I feel like wasting it. And while I wouldn't mind being rich, it isn't really a lure for me any more. I'm very happy as a programmer, and if I were independently wealthy, I'd just write code for free.

These days, my main criteria for an employer are:

  • Work-life balance: my wife and I enjoy each others' company, and I like to spend time on avocations including martial arts, foreign languages, and travel
  • Making enough money to support myself and my family comfortably
  • Intelligent, capable management who don't waste their employees' time
  • Co-workers with whom I can have good relationships
  • Interesting work, preferably on things that go beyond merely making a profit, and actually benefit the recipients in a tangible way
Bob Murphy
+4  A: 

I ask every person I talk to what their quality process is. (No leading questions; just ask how they do it and let them sink or swim. Then go for the details.) Big negative points if

  1. The answers from different people don't match.
  2. They think that "quality" is the job of the quality assurance people.
  3. They don't have a functioning problem tracking system or change management.
  4. I don't think their quality process will work.

I ask about their software process. I want to hear about how it works, cradle to grave. How are requirements collected, validated, prioritized? How do they work with customers and users? How do they deal with feature creep, quality problems, deadline slips, every possible problem you can think of. How do they decide whether a product is ready to ship? If any answers take the form "we're trying to move towards ...." then probe hard - why? What are the obstacles? What are the checkpoints? What's their schedule?

You learn a lot about culture from questions like this. Order or chaos? Top-down or collaborative?

Cylon Cat
A: 

An office with a door. A quiet work environment is very important for getting things done.

Mike Blandford
A: 

Run by the office at 9pm, and count the cars.

kyoryu
and ..? what should you see?
hasen j
Not many cars :)
kyoryu