Large or small company

A computer science graduate wrote to me: “I just graduate and have two job offers. I want to know whether large or small company would give me the best advantage for my career. Please advice.

Answer: When consider company to work for, you must look at several factors rather than just the size of a company. You will need to know the business direction of the company to determine if it fits your career goals. You also need to know about people who work there too.

Small company (10 to 50 people) is usually not stable but it can grow fast. Although small company tends to be risky but it also has the possibility of higher reward. (Imagine that you work for Google or Facebook when they are still small). If you work for small company, you may have to do everything so you will have to learn fast. The work is challenging and working hour is not clearly defined so you may have to work long hours to get the job done. In small company, most projects are small so they often use Agile approach (Scrum or Extreme programming). Software developers who like to work for small companies are typically friendly and motivated. They like to work in team, go out together, play together and focus on contributing to the goal of growing the company. These workers love building software and enjoy the challenge as well as the friendship of people who share the same interest. If the company is a new startup, you may have extra benefit such as stock options.

Medium size (50 – 500 people) or large companies (500 – 1000 people) are more stable. Their businesses are well defined and organized. Their projects can be small (5 – 10 people) or big (20 – 50 people) so their methods vary from agile to traditional plan-driven. If you work for medium or large company, you may be placed in particular functional area as the work is often organized into functions based on skills such as Testing, Developing, Quality Assurance, or Network etc. You will be trained to follow company process and procedures. Software developers who work in large companies tends to follow a disciplined process, their career grow with time as they move from one function area to another. Medium or large companies have good benefits, working hour is defined. Many developers prefer to work for larger companies are likely to have a family so they like the consistency and stability.

Beside the size of company, you may need to look at the business of the company. Companies that rely on software as their product or rely on providing software as a service usually focuses on the latest technology. To advance your career in this type of company, you will need to continue learning new thing to upgrade your skills. By having the latest skills, you can ask for higher salary. Other company where their business is something other than software but use software to support their business may not follow the technology trend. Software workers who like to work for this type of company are likely to remain behind the technology but their jobs are more stable.

Your career is your choice and what you want to achieve. Traditionally, software people usually follows a path: When they are young and single, they like to work for small company to learn new things and build better skills but when they are older and have family then they often switch to larger and more stable company.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University