Путь к позиции разработчика-сеньора, часть 2

Путь к позиции сеньора

Перевод статьи «The road to senior dev part 2».

Ранее мы уже публиковали перевод статьи «Путь к позиции разработчика-сеньора». Автор расширил эту тему, и теперь мы представляем вам продолжение.


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

Подходы

11. Все мы знаем мантру Кента Бека (или, по крайней мере, должны знать)

Сделайте, чтобы это заработало.

Сделайте, чтобы это было написано правильно.

Сделайте, чтобы это работало быстро.

(«Make it work, make it right, make it fast»).

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

12. Сделайте так, чтобы ваша программа была простой!

Сложность приводит к зацеплению, зацепление приводит к высокой стоимости поддержки, а она, в свою очередь, приводит к страданиям. Сложность может затронуть любой уровень вашей программы. Чтобы этого избежать, почаще спрашивайте себя: «Действительно ли мне это нужно?».

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

Программа должна быть простой

13. Тесты это ваши друзья

Порой вам неохота делать модульные тесты, и в конечном итоге вы все время тестируете ваше приложение из UI, потому что уверены: это лучший способ точно тестировать «по-настоящему». Но на самом деле (в большинстве случаев) это довольно громоздкий метод, связанный с большими потерями времени. А ведь бизнес-логике все равно, поступают ли данные из файла JSON или из пользовательского интерфейса.

14. Логи технического долга

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

15. Логи решенных задач

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

Вы

Личностный рост

16. Непрерывное обучение и новые технологии

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

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

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

17. Читайте классику

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

18. Мозг и внимание

Несколько месяцев назад я прочел «The Shallows: What the Internet is doing to our brains». Эта книга произвела на меня сильное впечатление, поэтому я советую вам тоже ее прочесть. Она рассказывает об изменениях в структуре нашего мозга, вызванных использованием интернета. О том, как мы теряем способность к концентрации и креативности, рассеивая наше внимание на твиты и посты в Facebook. В нашей компании мы боремся с этим явлением: вся команда вместе, в рабочее время, читает бумажные книги. При этом не допускается использование никаких устройств с экранами. И это прекрасно работает.

Путь к позиции сеньора предполагает хорошее отношение к людям

19. Отставьте свои предубеждения и будьте добрее к людям

Пожалуйста.

20. Не сжигайте мосты

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

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх