Dear new developer,
If you are sure where you want to go in your shiny new development career, pick that and follow it. Whether that is embedded programming or high frequency trading or generic web development, pursuing a career with focus is a great option.
If you are just looking for that first job, remember it’s a numbers game and just keep applying and networking. Then take the first job that seems like it’d be interesting and treat you well. (Avoid those that play games in interviews.)
If, however, you are looking for a tour across technologies, domains and businesses, and you want to work in an environment where everyone’s effort counts, I’d suggest starting at a small consulting company. This is where I started. I didn’t really know what I was looking for, but interviewed at some big companies like HP. I ended up getting an internship at a small web consultancy where I was employee number 61 (I believe).
By small, I mean between ten and seventy five people. Ten or more is big enough to hire new developers and give you some kind of structure. Less than ten means that you’ll have a lot more autonomy but that may be problematic when you want to learn from others–they may be too busy to help you.
Seventy five or less people means that every hire matters, and that you’ll be able to have a real relationship with everyone at your company. Larger than that means that people will start to be able to hide and not do real work. Small companies don’t have room for people not pulling their full weight, but bigger companies can.
I’ve written about this here as well. An excerpt of some other benefits:
- 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.
In general, working at a small consulting company is a great way to get a wide variety of experience. If you do a great job (especially at the beginning) and keep track of people you work with, it can set your career up for the rest of your life. I am still working and keeping in touch with people from the first consulting job I had, which was two decades ago.