When your software development career is young, you have many options on where to start. My first job was at a small consulting company and I think it's the best way to go. Why? Small companies are great because of the following reasons:
- You'll have an immediate impact. Hiring in a small company happens because there is a need, not because a manager wants to grow their empire.
- You'll have access to decision makers. Because it is a small company, you will meet the CEO (he or she will probably make the hiring decision). If you have an idea, you can discuss it with decision makers.
- There's less policy, and more trust in employees.
- Because everyone knows everyone, there's no place to hide, like at some larger companies.
- Everyone is (usually) pulling in the same direction.
- Although there is always politics as soon as you get two people together, smaller companies are much less likely to have elaborate infighting. They can't afford it.
The above all spring from the company being small. What benefits are there from working for a consulting company?
- Regular new clients mean that there are opportunities to explore new technologies.
- You will get exposure to a large number of different processes and methodologies, because every client is different.
- Variety is the spice of consulting shops, so if a project isn't working for you, you can often work on another project. If that isn't available, the project might take months. This is hard, but a far cry from working on a product for years.
- You will get as much client interaction as you want. As a developer, the ability to work with non technical people to build software to spec and on (or, to be honest, near) budget is a very valuable skill to have.
- Your clients will find value in the work you are doing and you can often know whose life you are improving.
- You will learn how to come up to speed on new applications and projects quickly.
- As a member of a small team, you'll be trusted to write production code, possibly the same day you'll start.
Of course there are good things to be found in any job, but the above reasons are why I think that a small consuting company is the best place to start your career.