| Hire a Lead Dev before you hire engineers/programmers. You'll save SO much time and headaches. I summarize here what I expect from Lead Devs: - A lead knows how to architect solutions. Not just code them. - A lead talks higher level than programmers/engineers. You don't want to hear code, you want to hear solutions/implications + pros/cons. - A lead is interested in the interconnections with other systems, and doesn't overlook them. - A lead has experienced a range of advanced problems (optimization, weirdest bugs, scale) - A lead is able to recognise and be interested in the problems he hasn't come across yet, and has the will to tackle them asap if they are a priority for business. - A lead has a quite deep understanding about the full range of solutions available to solve a problem on his platform. And he spends time on this daily, ideally because he's passionate about it (never seen it other way) - When you ask a lead how to solve a fairly open engineering problem he'll come up with 1) A good range of approaches 2) Pros/Cons for each of them 3) For each pro/con advise based on his experience. - A lead has confidence when taking a decision on architecture, he investigates the impacts beforehand. If he's wrong he recognises it. - Ultimately a lead should be able to come up with a plan to help you refactor any mess with the lowest impact possible in the product. Ideally building the new on new refactored structure, and re-factoring the old by bits when maintenance is needed on those sections (low-budget approach..) A lead will help you spot other good devs, including other platforms leads. From there, hire engineers who follow the Lead! |