Итак, да, я «архитектор программного обеспечения» - главный инженер. Я люблю свою работу. Это сложно, весело, и это чешет. Мне также немного грустно, потому что мне действительно сложно писать столько кода, сколько мне хотелось бы. Мне всегда приходится бороться, чтобы найти время, чтобы просто влезть в код и создать что-то.

На самом деле я не планировал получить эту работу. Я только начал работать и со временем открыл для себя эту роль и понял, что она мне нравится. Поэтому, когда молодые инженеры, заинтересованные в продвижении своей карьеры, спрашивают меня, что я сделал для этого, я немного озадачен. Как я сюда попал?

Разные штрихи для разных людей

Прежде чем рассказать эту историю, я хочу подчеркнуть, что у всех разные пути. То, что сработало для меня, может не сработать для вас. На самом деле то, что вам подходит, может быть совершенно другим.

Я работал со многими ведущими инженерами, и каждый из них привносит совершенно разные стили и навыки. Некоторые действительно хороши в общении, определяют направление, придумывают высокоуровневые проекты и стратегии. Другие обладают глубоким пониманием в очень специализированной области и способны творить чудеса в этой конкретной области. А некоторые - отличные лидеры и наставники. Итак, то, что я прошел определенный путь к этой роли, не означает, что вам нужно идти по тому же пути. Я бы сказал, в общем, найдите свою страсть и положитесь на нее.

Еще одним важным аспектом этого является то, что я привилегированный - я белый мужчина, выросший в среднем классе в США с образованными родителями. Так что в детстве у меня были преимущества, и в моей карьере был попутный ветер. Когда я громко говорю, люди не думают, что я «высокомерный», «навязчивый» или «раздражающий». Обычно люди доверяют мне сомнение. Мне не приходилось сталкиваться с институциональной дискриминацией. Если вы находитесь в меньшинстве, я подозреваю, что это совсем другая история, и вам, вероятно, понадобится совсем другая стратегия.

С учетом всего сказанного, вот некоторые вещи, которые я сделал и продолжаю делать, и, возможно, это часть того, что помогло мне получить эту должность.

Ищем основные темы и шаблоны

Когда я вижу себя или команду, которая борется с некачественным кодом или сложными процессами, или что-то просто занимает намного больше времени, чем следовало бы, я спрашиваю себя, почему? Как мы можем это улучшить? Я с энтузиазмом пытаюсь понять первопричину. У меня нет терпения принять это так, как есть.

Я никогда официально не практиковал технику Пять почему, но, по сути, я этим и занимаюсь.

В прекрасной книге Системное мышление Донелла Медоуз призывает нас отказаться от простого наблюдения за серией происходящих с нами событий, чтобы копнуть глубже и понять основную структуру, которая вызывает эти события. У вас есть рычаги воздействия, когда вы понимаете структуру, а не просто реагируете на события. Это сообщение в блоге - хорошее резюме того, как увидеть структуру в серии событий.

Чтение

Моя ссылка на книгу мисс Медоуз подводит меня к следующему пункту. Мы не живем изолированно. Существует столько мудрости, если мы можем использовать ее.

У меня есть воспоминания об определенных книгах или статьях, которые полностью открыли мне глаза на новый образ мышления. Я до сих пор помню, как читал статью Вернера Фогельса о возможной согласованности и то, как она раскрыла, как мы можем управлять данными в веб-масштабе. Или осознание того, что существует чистый, масштабируемый, независимый способ интеграции данных между компонентами системы, когда я читал основополагающую статью Джея Крепса об архитектурах на основе журналов. Или когда кто-то вручил мне книгу Эрика Эванса Domain Driven Design, в которой был сформулирован ориентированный на пользователя подход к моделированию предметной области.

В моем поиске понимания структуры и закономерностей, лежащих в основе поведения, книги и статьи, которые я прочитал, стали ключевыми вехами на моем пути. То, что я узнал и практиковал у них, стало важнейшим инструментом в моем арсенале.

Школа жестких ударов не станет школой, если ты не научишься и не изменишься, и чтение сделало это возможным для меня.

Итак, как вы находите эти книги и статьи? Мне нравится слушать тех, кого я уважаю, и отслеживать ссылки от них на исходный материал. В первую очередь я делаю это путем кураторства в Твиттере людей в отрасли, которых я уважаю и которым доверяю. По-прежнему много шума, и Twitter начал раздражать меня «кураторством» моей ленты, но в целом это работает лучше всего для меня. Я проверяю Твиттер несколько раз в день и среди всех тирад и картинок с едой получаю драгоценные камни новой информации, которая помогает моим знаниям продвигаться вперед.

Пишу

Прежде чем я стал инженером-программистом, я хотел стать писателем-научным работником. Я всегда любил писать. Когда я рос, мы много путешествовали, и мы с родителями, а затем с братьями и сестрами печатали друг другу длинные письма.

Эта любовь к писательству сослужила мне хорошую службу в моей карьере в области программного обеспечения, и я думаю, что она помогла мне получить признание и уважение как со стороны руководства, так и со стороны моих коллег. Многие разработчики программного обеспечения не являются писателями - им нравится заставлять вещи работать, а не писать о них. Но на определенном уровне своей карьеры, если вы не можете записывать и объяснять свои мысли и использовать их для общения с другими, вам будет сложно продвигаться по службе.

Писать не для всех естественно, и мне всегда это давалось легко. Так что, возможно, я не лучший советчик. Но, обучая других в этом вопросе, я думаю, что лучше всего просто сделать это. Найдите способ регулярно выделять время для написания технических текстов. Кроме того, кстати, чтение улучшает ваше письмо, см. Выше.

Да, и когда вы пишете, используйте диаграммы и изображения. Люди намного лучше воспринимают и воспринимают концепции визуально, чем посредством прямого письма. Lucidchart - ваш друг.

Обучение

Когда я действительно хочу чему-то научиться, я объявляю, что собираюсь об этом поговорить. Работает каждый раз. Кроме того, презентации на интересные темы помогают сделать вас и ваши мысли видимыми для других, что всегда полезно.

Как и в случае с письмом, вы поправляетесь, делая. Первые несколько раз это требует смелости, но по мере того, как вы делаете это все больше и больше, это становится комфортно и даже весело.

Делать грязную работу

Все эти размышления, чтения и общения - это здорово, но вы также должны подкреплять это действиями. В конечном итоге это то, что дает основание и реальность всем вашим идеям, и вы заслуживаете уважения, которое является ключевым аспектом лидерства.

Возьмитесь за проект или рефакторинг, которым больше никто не хочет заниматься. Постарайтесь организовать новую практику вместе с командой. Обновите ту библиотеку, которую никто не хочет обновлять. Создайте этот сценарий автоматизации, чтобы исключить ручную работу в команде. Проявление инициативы и выполнение грязной работы демонстрирует приверженность и привлекает внимание.

Удачи!

Я думаю, что любой успех - это сочетание удачи, тяжелой работы, неудач и внезапных успехов. Я знаю, что в какой-то момент я понял, что мне нравится роль архитектора, но у меня не было большого плана. Он развивался, как и все остальное.

У всех нас есть свои путешествия. Пусть ваш будет полон преобразований, обучения и самореализации!