After working for about 2 years in a startup, one thing sticks out the most compared to a “normal job” at a more established technology company: the meaning of “proactivity.” While I’ve always thought of myself as a proactive person, I don’t think I knew the real meaning of the word while working for big companies.
Example. Suppose you discover a problem in the system you are building/maintaining. Well, at a large company sometimes you have the luxury of simply ignoring the problem. Depending how “skilled” you are in the fine art of bullshitting people, you may succeed into making them believe that (1) it’s not your fault, (2) “somebody else will fix it.” It’s pretty sad.
If you do that at a startup, you’re guaranteed to have it backlash at you one way or another, sooner or later. When other people find out, YOU are going to have to fix it if it’s your code, and if not you, YOU are going to have to help others fix it. Obviously not fixing it is not an option. If noone else finds out immediately, it’s even worse. It will be a tour de force the next day to repair all the damage the bug has caused in the mean time, without even considering the effort to actually fix the bug.
But there’s an even bigger backlash. If you don’t take charge at a startup, you’re subject to the implicit mocking of your coworkers, who will resent your laziness like an insult. You will lose reputation immediately. This is probably the biggest motivation to fix things. The “reward” is big, because people will thank you and they will not be faking their gratitude. In a big company people might thank you (often without meaning it), or might even resent you because your warning revealed a flaw in their code.