3

Given the following two companies:

  • Less than 100 employees and not very well known, but their field seems really interesting
  • Around 1000 employees and ships a popular, high quality product.

For a junior developer, which one is most likely the best choice for skills development and career growth in general?

  • 3
    This entirely depends on the companies in question. What size normally matters less than company culture, existing career progression paths and expectations from new employees (i.e. will you be expected to be a jack of all trades or become an expert in a specific area) and how these are in tune to your expectations. – Oded Jul 14 '12 at 10:16
  • Hi Hina, I've edited your question to focus a little more on the question as I read it. I hope this will help to focus the answers. If I have completely missed the point, feel free to revert the edit. – pdr Jul 14 '12 at 13:54
  • pdr, thank you. My English is so very far from perfect, any corrections and clarifications are certainly welcomed. – Notka Jul 14 '12 at 15:42
14

It's difficult to say without knowing the specific companies in question. As a general rule, at a smaller company you will have:

  • More freedom (think flex-time, telecommuting options, etc.).
  • More responsibility (you'll be expected to contribute in as many disciplines as you effectively can, whether or not they are part of your "official" job description).
  • Faster advancement (you can move up the ranks quickly; if you're good enough to actually deserve it, of course).
  • Greater equity opportunities (a smaller company will generally give employees a proportionally larger share of equity than a larger one, and there's more opportunity for the equity to increase in value if the company succeeds).
  • Less support (you may not find much in the way of training/mentoring programs, and will generally be expected to be self-motivated and able to learn new skills independently).
  • Smaller salaries (unfortunately, it is often the case that smaller companies simply cannot afford to pay the same kind of salaries as their larger counterparts; this is generally compensated for with additional equity being granted to make up for the discrepancy in salary).

Conversely, at a larger company you are more likely to have:

  • Less freedom (the larger a company is, the more "corporate" its culture generally becomes).
  • Less responsibility (it's far more likely that you will be expected to perform only your stated job description and nothing else; in fact you might even wind up being chastised if you attempt to step outside the bounds of your official role).
  • More stability/safety (it's far less likely that a well-established company will go under or need to lay off staff members in order to stay afloat).
  • Less equity (the pie has already been split hundreds or thousands of times, so your piece will be smaller, and a company that's already established itself in the market is less likely to see meteoric changes in share value).
  • More support (a larger company is likely to offer training/mentoring programs for people who want to learn new skills or improve their existing skillset).
  • More clearly defined career paths (most larger companies will have extremely well-defined career paths, and offer some form of workshop or assistance in choosing the one that you feel is right for you).
  • Larger salaries (if a larger company really wants you on board, they will pay you whatever you can convince them you're worth).

That said, a company with ~100 employees is hardly "small", and could very easily be just as corporate-minded as the one with 1000 employees. Typically you have to get down to companies that have a few dozen employees or less before the differences pointed out above really come into play.

And of course, these are just general guidelines. There are always notable exceptions to every rule.

Personally I gravitate towards the smaller companies. I just can't stand the corporate culture that you risk running into at larger organizations. But your preferences may differ, of course.

  • Tell me about it; I'm only beginning to feel the downsides of working at a corporate. What are your overall thoughts in general about larger, corporate companies that turn you away? I'd like to take notes for my next job hunt :) – HiChews123 Sep 27 '16 at 23:28
4

In many cases skill development and career growth many be a function of the size of the project. The larger the team the more focused your skills you will need must be. In a small team you might be doing development and system administration. Though a large company might have a dedicated IT staff, the development teams will be expected to do some or all of the system administration.

Options such as flextime and telecommuting are allowed in most companies, but it depends on your supervisor, the customer and the job requirements. I have worked on projects that required very rigid hours and work locations, and ones where there was total flexibility.

When you measure how well known a company is, you have to measure them inside their industry. Small growing companies could offer more opportunities to you over the next 5 years. The large companies seem like great choices because they have many thousands of jobs, but if they aren't growing the pool of jobs will still not be large enough to guarantee employment for your entire career.

When deciding which to choose, I would base it on how many different projects could you work on. If they only have one or two, you will risk that there won't be follow on work when your contract ends in a year or two. But if they have many contracts in different stages, that will give you choices in a few years. Those choices are where your growth occurs. You ask for more responsibility in the next contract.

3

In your career, I think you should do both. You will learn different things from them. I would tend to think a junior person should go for the large company first for several reasons:

  • You don't know as much as you think you know and therefore the availability of people who are more experienced is priceless. In a small shop there may be no one who can adequately judge your work, so you can go a long time as a poor programmer without it being caught. This is a real problem when you start to look for mid-level and senior positions.
  • They tend to have more structured processes - especially concerning things you may not have used much in school like unit testing, code reviews, automated builds and source control. It is important to get these skills early in your career.
  • You will have more opportunities to learn how to deal with office politics, a critical skill for success.

Once you have a spent a year or two at the large company, you are more mentally, and professionally ready for the flexibility and skill stretch that is available in the smaller company. You will be more likely to introduce good practices rather than cowboy coding.

Once you have worked for both, you have a better idea of how you want to structure the rest of your career.

  • But the problem then becomes that the smaller companies may not be able to pay you a salary that you deem appropriate at that point. It's hard for really small companies to attract highly talented people. – DanMan Sep 27 '16 at 18:20
  • @DanMan, salary isn't everything, many people love the flexibility of a small company and the stretch to their skills. If you do only1-2 years at a large company first, the salary should be doable, particularly if this is your plan and you know you will likely take a pay cut. But very few people are ready from a skills perspective to be the only dev or one of only a group of three all junior. – HLGEM Sep 27 '16 at 21:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.