Щоб стати технічним керівником, важливим є наступне
Можливість наставницького персоналу на будь-якому рівні вищого стажу, від того, хто вийшов з університету протягом 3 місяців, до людини, яка займається програмуванням протягом 30 років
Добре знання вашої сфери розвитку. Сюди входять: мови, рамки, утиліти, середовища розробки
Добре розуміння систем управління випуском, навичок управління проектами та контролю версій
Будьте вбивцею помилок
Знати, як проводити своєчасний перегляд коду, на що звернути увагу та як мінімізувати кількість часу, необхідного для його проведення, та зміни, які потрібно внести
Будьте в курсі подій у вашій галузі розробки. Наприклад, якби ви не вивчили нові рамки чи технології з .NET 2, ви б сьогодні робили речі досить зворотним шляхом.
Як писати одиничні тести та макети, а також змусити своїх розробників писати їх також
Знання, що таке шаблони дизайну, і коли їх використовувати
Знання того, що таке запах коду, і як пом'якшити їх
Постійна інтеграція
Можливість планувати проекти та випуски
Залежно від вашої організації та наявності у вас архітекторів, вам, ймовірно, потрібно знати наступне:
Можливість складати свої проекти та розбити його на функціональні частини
Ретельне розуміння безпеки, включаючи правильний спосіб обробки паролів, розділення систем, захист даних тощо
Поняття підприємства, такі як службові шини, черги повідомлень, BizTalk
Шаблони дизайну підприємства
Архітектури обслуговування / RPC, такі як SOAP та REST
Структури ORM, такі як сплячий режим, Entity Framework, доктрина
Постійне розгортання
Хмара
Можливість рекомендувати правильні технології для використання в проекті. Це може бути складно, якщо ваша команда / магазин займається лише .NET, PHP або Java.
Створіть програму таким чином, щоб майбутні вдосконалення легко розмістилися
Якщо ви будете менеджером з розвитку, вам також знадобляться:
- Навички співбесіди та як знайти потрібного персоналу
- Як вирішити проблеми людей із членами вашої команди
- Керування бізнес-директивами / цілями та перетворення відповідних директив на інформацію для ваших розробників
- Можливість оцінювати час для програмістів різних навичок
- Можливість розподіляти завдання правильним розробникам виходячи з їхніх навичок та вмінь
І нарешті, деякі інші рекомендовані моменти:
Дізнайтеся поза межами домену розробки
Навчіться говорити " НІ", коли щось неможливо або виходить за межі або не суперечить обмеженням, таким як бюджет або час.
Управління командою - це складна роль, яку потрібно виконувати. Вам потрібно бути людиною, яка може відповісти на будь-яке питання, ви повинні знати правильні технології для використання (якщо у вас немає архітектора), ви повинні володіти навичками управління людьми та бути доступними. вашим персоналом (зайнявши керівну посаду). На додаток до цього вам потрібно мати точні навички оцінювання, щоб забезпечити прибутковість проекту, і вам потрібно мати змогу забруднити руки чиїмсь кодом, щоб точно визначити проблеми та швидко їх усунути. Вам потрібно уникати того, щоб робити все самостійно, та сприяти створенню в команді нетоксичного середовища. Вам потрібно постійно залишатися на вершині свого технологічного стеку та вивчати новітні розробки та методи, а також широкі тенденції в галузі.
Ви також повинні дійсно знати принаймні одну платформу бази даних і це добре знати. Знайти, як робити реплікацію, збережені процедури, як працює оптимізатор запитів і як правильно розробити схему та які поля індексувати.
Незалежно від точної посади, будь-яка старша роль вимагає від вас здатності ефективно спілкуватися. Якщо ви не впевнений оратор, погляньте на те, як робити щось на кшталт Toast Masters (публічні виступи). Дізнайтеся, як встановити та утримати контакт очей. Бути впевнені. Одягайтеся відповідно до позиції. Подавати приклад.