Содержание[Скрывать][Показывать]
Является ли инженер 10X мифом?
Реальность такова, что некоторые люди лучше программируют, чем другие.
На моей предыдущей должности в технологической компании я был в восторге от того, что некоторые люди в моей команде, кажется, знают, как делать все.
Еще во время учебы в университете, участвуя в хакатонах и стажировках, мне удалось познакомиться с несколькими очень талантливыми разработчиками, у которых я многому научился.
В этой статье я расскажу о некоторых неверных представлениях людей о 10X-инженере. После того, как мы разберемся, кто такой 10-кратный инженер нет, мы рассмотрим некоторые из лучших советов, которые я могу дать вам, чтобы стать 10-кратным инженером самостоятельно.
Кто такой 10X инженер?
Многие разработчики спорили бы о фактическом определении инженера 10X. Но для ясности попробуем сейчас дать простое определение.
10-кратный инженер — это разработчик программного обеспечения, способный работать так же продуктивно, как десять его коллег.
Идея 10-кратного инженера могла возникнуть раньше, чем вы думаете.
A статья про исследование от 1968 года под названием «Проверочные, экспериментальные исследования, сравнивающие производительность онлайн- и оффлайн-программирования» впервые предложил идею о том, что некоторые из лучших программистов работают на порядок лучше, чем худшие программисты. Хотя это определение не принято сегодня, идея инженера 10X вскоре распространилась за пределы академических кругов.
Несколько лет спустя классическая книга The Мифический человеко-месяц еще раз проиллюстрировал идею инженера 10X. Автор Фред Брукс предполагает, что разработка программного обеспечения бригады могут быть структурированы как хирургические бригады.
В этой команде у вас будет главный программист или «хирург» с поддерживающими программистами или «медсестрами».
Хотя эту аналогию легко понять, я считаю ее несколько упрощенной и устаревшей применительно к текущему состоянию разработки программного обеспечения.
Командная динамика в технической команде сильно отличается от хирургической. Эта идея о том, что один человек выполняет большую часть работы или только самую сложную работу, неверно характеризует то, чем, по моему мнению, должен быть 10-кратный инженер.
Распространенные заблуждения
Поскольку идея 10-кратного инженера распространилась по всей технической сфере, большинство менеджеров часто неправильно понимают, что мы подразумеваем под «10-кратным».
Распространенным заблуждением является то, что инженеры 10X производят в десять раз больше кода, чем их коллеги. Это просто неправда.
Хотя разработчик 10X может создать больше кода, чем его коллеги, количество не является правильным показателем. Представьте себе программиста, который тратит тысячу строк кода на то, что можно было бы сделать менее чем за сотню. Точно так же 10-кратный инженер не пишет код в десять раз быстрее!
Еще одно заблуждение относительно 10X-инженеров состоит в том, что они великие просто благодаря своим знаниям в области кодирования. Опять же, это еще один случай рассмотрения неправильной метрики.
Что делает 10-кратного инженера таким ценным, так это то, что он увеличивает ценность своей команды и организации в десять раз. Инженер 10X незаменим из-за его способности использовать свои знания в области кодирования и согласовывать их с потребностями компании.
Менеджеры должны искать инженеров, которые могут решать проблемы и хорошо работать с другими. Помимо знаний в области кодирования, инженеры 10X должны уметь повышать эффективность работы всех, кто их окружает.
Пять способов стать 10-кратным инженером
Этот раздел для вас, если вы менеджер, ищущий нового сотрудника, или просто инженер, стремящийся стать инженером 10X.
Вот некоторые из ключевых привычек и черт инженера 10X:
Они знают, как максимально использовать свой технический стек
Знание своих инструментов — пожалуй, самый очевидный совет, который я могу вам дать. Тем не менее, многие разработчики все еще могут улучшить свой рабочий процесс, научившись работать эффективно.
Большинство инженеров 10x, с которыми я работал, знают, как работать с терминалом. Хотя для новичков это может быть немного сложно, понимание того, как создавать команды оболочки на лету, поможет вам выполнять свою работу намного быстрее в долгосрочной перспективе.
Инженерам 10x также может быть полезно немного полениться. Позвольте мне сказать вам, что я имею в виду.
Представьте себе, что вам нужно каждый день вручную выполнять серию команд, чтобы отправить новые коммиты в рабочую среду. 10-кратный инженер должен избегать повторяющихся задач. Они прилагают дополнительные усилия, чтобы автоматизировать как можно большую часть дня.
Лучшие инженеры также должны думать в долгосрочной перспективе. Если вы работаете в стартапе, может возникнуть соблазн сосредоточиться на быстрых и простых решениях. Однако эти решения могут не масштабироваться в будущем.
Они никогда не перестают учиться
Великий разработчик никогда не прекращает учиться. Лучшие инженеры находят время в своем напряженном рабочем дне, чтобы опробовать новые концепции, языки и платформы, которые они могут попробовать применить в своей работе.
10-кратный инженер должен поддерживать здоровое чувство любопытства. Они часто спрашивают себя: «Можно ли это сделать лучше?» или «Есть ли более простой или эффективный способ решить эту проблему».
Таким образом, 10-кратный инженер должен овладеть искусством обучения. Научиться учиться — лучший способ оставаться на плаву в быстро меняющейся среде.
Они знают, как лучше всего провести время
Великий инженер-программист отлично умеет принимать решения, особенно о том, что делать со своим временем.
Инженерам 10X редко приходится работать больше часов, чем среднему инженеру. Инженеры должны знать, когда нужно отступить и сказать «нет» на определенные запросы. Они должны знать, какие задачи выполнять сами, а какие делегировать.
Эффективные инженеры должны уметь определять, стоит ли выполнять задачу быстро. Одна ментальная модель, о которой следует помнить, — это принцип Парето.
Принцип гласит, что 80% ценности вашей работы зависит от 20% ваших усилий. Другими словами, не все задачи одинаковы.
Они ищут подходящего наставника
Великий инженер может многому научиться у опытного ветерана отрасли. Инженеры 10X часто ищут наставника на работе и за ее пределами, чтобы расширить свои знания.
Точно так же инженеры 10X выиграют, если возьмут на себя роль наставника своих товарищей по команде. Вся команда воодушевлена тем, что открыта для своих более начинающих товарищей по команде.
Они разбираются в бизнесе
Проще говоря, разработка программного обеспечения — это просто способ для компьютеров решить реальную проблему. Имея это в виду, эффективный инженер должен стать экспертом в проблеме, которую он пытается решить.
Как инженер, это разумная идея — приложить усилия, чтобы получить представление о бизнесе или отрасли, частью которой вы являетесь. Инженер 10x должен быть активным участником совещаний с другими отделами.
Если инженер приложит усилия, чтобы понять, чем занимаются другие отделы в контексте бизнеса, он станет эффективным коммуникатором. Эффективная коммуникация поможет вашей команде избежать неправильного понимания бизнес-требований и спецификаций проекта.
Заключение
Надеюсь, теперь у вас есть более четкое представление о том, как выглядит 10-кратный инженер. Вы также должны понимать, чем не является 10-кратный инженер.
Приведенный выше совет — это, конечно, всего лишь общее руководство, которое можно применить к любой должности в области разработки программного обеспечения. Если вы хотите узнать, как стать лучшим Инженер DevOps, разработчик полного стека или специалист по данным, лучший вариант — найти возможности учиться и строить.
Подумайте, является ли ваша нынешняя должность хорошей средой для обучения. Возможно, вы хотите уделять больше времени работе над сторонними проектами, которые позволят вам исследовать технологии, выходящие за рамки вашего текущего стека технологий. Это лишь некоторые из советов, которым вы можете следовать, чтобы получить преимущество в технологиях.
Как вы думаете, какой самый полезный совет для начинающих инженеров?
Оставьте комментарий