Small businesses are a techie's friend

Early in my career, I had an important decision to make between two companies. One was a large Fortune 500 company that offered me a position running test scripts for good money. Not writing test scripts mind you, just running them and checking off a box for success. The second was a small business that was looking for a software engineer for not as good money. The best decision I ever made was taking the lower paying position for less money. When you go to work at a small business, you do not have the option to be a database developer, or a network administrator, or a ASP.NET developer...you have to be all of those. An important part of success is rolling up your sleeves and doing whatever needs to be done to get a product out the door, or keep a service running, and bring in income for the company, as income is survival.

I would heavily recommend for any software engineer...especially someone early in their career...to work for a startup or small business. It amazes me how many programmers cannot write a SQL query, or a stored procedure, and likewise how many database programmers cannot understand statelessness in a web application. I don't think it is because of inability to understand, as much as a lack of need to. And without this basic knowledge, I don't know how you can expect to be an effective software architect or technical project manager or whatever advanced technical position you would want to hold long term.

For myself, my career has led down a number of interesting roads by chance, but I believe that being a well rounded software engineer has opened the path to these opportunities. In my short career, I have done everything from ASP.Net applications in telecommunications software, to contract work managing information at medical device companies, to writing and winning government research proposals, to statistical modeling, to intelligent agents, Java middleware, and many places in between. I strongly believe that starting early in my career in jobs that forced me to learn and adapt has provided me with the foundation to do such a wide variety of things, and do it all well. For this reason, I highly recommend to anyone, especially to those breaking into the computer field, to look for a position in a small business where you are forced to wear many hats, and do what you need to do to excel in it. I promise you will learn a lot.