Some blunt advice on management

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com

This is an interesting essay:

Managing people at startups is different because you have no safety net. You may think, having spent a few years at a big company in a management position, that you know how to manage already. You’ve given performance reviews, done interviews, dealt with project timelines, played politics. You know the basics. Right?
Here’s what you don’t see until you leave the safety of a big company. You don’t see the millions of invisible systems all around you that have set you up for success. The army of recruiting personnel, the pipeline of aggregated talent, the power of a known brand. You don’t have to figure out salary bands. You have standards, you have processes, you have rules, and you have people who make it relatively easy for you to live by those standards, processes, and rules. You have no idea what it is like not to have someone to check your work, to make sure that people get paid on time, that reviews happen, that holidays are tracked, that budgets get approved. You’ve never looked at an excel spreadsheet of numbers for year-end compensation only to find it full of errors that needed correcting.
Or maybe you’ve never been a manager at a big company. Your whole career has been spent in startups, and you have not only no management experience at all, but you’ve never experienced the safety net. You too are in for problems, but they will be much harder for you to detect, because you don’t know what a smooth-running operation even looks like. You are comfortable making your own rules, but you may not appreciate the value of having a machine behind you. Instead of chafing at the chaos, you not only thrive in it, but create more of it.
In both cases, creating the safety net yourself is part of the job, whether you realize it or not. Create sane processes, sane standards, and shared values, so that the team can scale without you having to make every decision yourself. If you find your team has doubled and you’re still making roughly the same decisions you were before it doubled and you’re just working twice as hard to get it all done, you are trying to paper over the safety net via effort. It doesn’t work.

….Lots of engineering leaders think that the way to maintain empathy for their team and to understand where problems lie is by continuing to write code. Here’s the deal: if you have the time to do the full process of writing code (write code + tests, get review, release to QA, validate, release to prod, fix loose ends, document/hand-off/maintain), by all means, write code. It may be valuable to do this for one or two small things a year (protip: hackweek can be good for this). But as your team grows it is completely unrealistic that you are going to understand the pain of every engineer by walking a mile in their shoes. You may be able to do this for a service, but not the javascript, or the javascript, but not the app, or the app, but not the tooling. You must figure out how to get information about the bottlenecks and problems in the development process without actually having to do it all yourself. That is the job. It is not easy, and it is usually less fun than writing code.

Source