Personal development
Personal development is key to the choice of job, mainly because the route taken differs greatly between the two.
Startups are usually characterized by fast solution, burning problems and innovative technologies; as such they provide the perfect platform for building up your engineering skills.
I know some jobs at big companies offer very big challenges, but they rarely entail the wide array of skills required for building an entire application from the ground up.
Working in a very small company requires you to think about everything from deployment, integration and customization to security and testing. No aspect is covered by some other team or department it’s all you all the time.
While large companies can produce some great engineers, they will still be by definition limited to a specific area or field. From my perspective if one wants to improve his overall engineering skills little places can offer the kind of rapid learning and development startup companies offer.
While startups excel at engineering their small size and relative lack of experience make them less likely to offer management positions.
If in a large company you have many teams and many more developers. A highly regarded engineer can be rewarded or advanced into the position of team leader or process manager (PMO) relatively fast. In small companies such promotion is unlikely to occur fast, let’s assume you enter a startup company with 5 engineers. Even if successful the company can’t grow at a very high rate without damaging it’s quality and organization, so even if a year later you number 8-10 engineers odds are there will still be no opening for a team leader position.
Generally speaking, from my experience I would have to say that large companies provide the best platform for developing ones managerial skills whereas startups can help one develop very strong engineering skills.
When I made my decision to switch companies it was largely this distinction that affected my judgment, although I knew I could have probably reached some managerial position by staying at the big company for a couple more years. I felt that I need to improve my engineering skills in order to really understand which is the route best suited for me.
Today, a year later, I can say with certainty that no position at my previous work place could have possibly given me the tools and engineering skills I acquired during my time at the startup.
Like everything else this choice is largely affected by who you are and what your goals are…