Ultimately I prefer working with people that have experience in both.
Engineers who've only worked in smaller companies tend to be harder to work *with*, on a social inter-colleague level.
Engineers who've only worked in larger companies tend to be less capable when left to their own devices, they need more help if there is less demarcation. Engineers who've worked in smaller teams tend to pick up the slack proactively, from larger teams retro-actively.
At least that's been my experience both from within as well as without. (Currently working for a small company that has large corporate clients, have worked for small and corporations before that)
I definitely skew that way - anything in particular I might want to watch out for, that would play out as "hard to work with" in a big company setting?
- Inability to play politics for longer than 2hrs, let alone months,
- Self-selection, skilled people go to startups, and people who can maintain interest despite tons of paperwork to fill in, go to large companies (sometimes they’re as skilled, but it’s not the most important, 80% as skilled and able to run through processes is better).
- Everyone-in-a-startup is a side-effect of incredible automation where every competent engineer can leverage dozens of automations, CI/CD, automatic accounting and SAAS products. It’s a real capacity of coordinating.
- Titles will readjust. Titles will mean nothing. They should mean nothing. We’ve already given up reading the degree/diploma of programmers, skills matter more. Software development is so erratic and devspeed is so much due to individual talent that single founders with 50 employees can sell themselves to Facebook for 18 billions. When we can get predictable results out of software engineering, we’ll discuss how to position each one in a hierarchy.