| In the past 13 years have gone from dev -> tech lead -> manager -> director -> VP/CTO at startups (50-250 people). Here are my tips: - Your job is to provide effective technical solutions to business problems via managing a team(s) of engineers, everything else is an extension to that. - Managing is nothing like coding and requires a completely different mindset and skill set. - Authority comes through respect and understanding, not rank/title. - When you are pressured or stress reverting to what you know (coding) is almost always the wrong answer. - You should take all the blame but distribute all the credit to those under you. - Code quality in itself is meaningless, you must learn to balance quality and hitting deliverables. - Say no / only agree to what you know your team can deliver on... and always double your estimate. In the long-term reliability is valued over agreeableness. - Culture above all, a team that likes working together and takes pride in the product they work on can overcome most obstacles/issues/failures. - At least once in your career, you will face a direct who is very smart and very productive... but is a complete toxic asshole to everyone around him. Fire them... by the time you have seen the true damage they have done its too late. - Managing people is hard, each person is unique and you need to tailor your approach in a case by case situation. You will get a lot more out of people if you understand them and they trust/respect you. - You should always allow your team(s) to grow/learn/try new things. However, engineers are always looking to learn the latest fad/tech to grow their resume. Building things with tools your team does not understand is a risk, attempt to minimize that risk. |
Early in my career I read that X (almost) __always__ takes twice as long and cost twice as much as you typically estimate.
I can't count the number of times that's been true. It's also universally true. e.g. Wanna hang a picture. Piece of cake, right? Until you have to find the stud. Likely get a tape measure to get the height right, etc.
Perhaps an over-implied example, but once you start to keep track in your head of your estimate vs actual, the 2x Rule pans out quite a bit.