От джуна до сеньора. Как стать востребованным разработчиком
От джуна до сеньора: Путь к востребованности в IT
Эта книга, написанная опытным разработчиком Владимиром Швецом, представляет собой руководство для начинающих и опытных специалистов в сфере IT, стремящихся к успеху в профессии. Она охватывает широкий спектр вопросов, от технических аспектов кодирования до тонкостей межличностного взаимодействия и личностного роста.
Код: Чистота, порядок и эффективная работа
Раздел "Код" посвящен практическим советам по написанию качественного и поддерживаемого кода. Автор подчеркивает важность следования стилю языка программирования, использования инструментов для форматирования и проверки кода (linters), а также продуманного именования переменных и функций для повышения читаемости. Особое внимание уделяется повторному использованию кода, рефакторингу и избежанию "изобретения колеса" путем применения готовых решений. Также рассматриваются вопросы работы с open source, оптимизации и борьбы с ошибками.
Люди: Коммуникация, сотрудничество и командная работа
Раздел "Люди" фокусируется на аспектах взаимодействия в команде и коммуникации. Автор подчеркивает важность контекста и эффективной коммуникации, умения задавать вопросы и принимать критику. Рассматриваются вопросы сотрудничества, в том числе работа с чужим кодом и участие в код-ревью. Также уделяется внимание отношениям с руководством, поиску виноватых в случае проблем и способам разрешения конфликтов.
Я: Личностный рост, самосознание и преодоление трудностей
Раздел "Я" посвящен личному росту, самосознанию и борьбе с профессиональными вызовами. Автор подчеркивает важность заботы о себе, умения справляться с усталостью и выгоранием, а также поиска мотивации в работе. Рассматриваются вопросы перфекционизма, гордыни и поиска баланса между работой и личной жизнью. Автор призывает читателей находить время для самообразования, pet projects и следовать своим интересам.
Заключение
В заключение автор призывает читателей к активному применению полученных знаний, постоянному самосовершенствованию и смелости в достижении поставленных целей. Он подчеркивает, что путь к успеху в IT-индустрии лежит через практику, самоанализ и готовность к постоянному обучению.
Текст подготовлен языковой моделью и может содержать неточности.
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
Владимир Швец ОТ ДЖУНА ДО СЕНЬОРА Как стать востребованным разработчиком МОСКВА 2023
УДК 004.45 ББК 32.972 Ш35 Редактор Ольга Бараш Швец В. Ш35 От джуна до сеньора: Как стать востребованным разработчиком / Владимир Швец. — М. : Альпина Паблишер, 2023. — 212 с. ISBN 978-5-9614-8233-1 Быть разработчиком — трудно, а делать первые шаги — еще труднее. Вам предстоит постоянно практиковаться, осваивать большие объемы сложной информации, вы обязательно столкнетесь с неожиданными вызовами, которые могут легко отпугнуть даже самого заинтересованного и мотивированного специалиста. Книга Владимира Швеца, востребованного разработчика с 15-летним опытом работы, поможет вам не сойти с пути и преодолеть все трудности с честью. Она содержит исчерпывающие сведения о проблемах каждого разработчика и способах их решения. Вы узнаете, как писать хороший, чистый код, отлаживать его и оптимизировать, настроить удобный для себя режим работы и без труда общаться с коллегами и руководителями, как справляться с усталостью, выгоранием и гордыней. Каждый раздел содержит непридуманные истории из опыта автора и его коллег, маленькие хитрости и лайфхаки, а также задания, которые помогут вам подготовиться к грядущим испытаниям на пути к новым высотам в карьере. УДК 004.45 ББК 32.972 Все права защищены. Никакая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, включая размещение в сети интернет и в корпоративных сетях, а также запись в память ЭВМ для частного или публичного использования, без письменного разрешения владельца авторских прав. По вопросу организации доступа к электронной библиотеке издательства обращайтесь по адресу mylib@alpina.ru. ISBN 978-5-9614-8233-1 © Владимир Швец, 2023 © ООО «Альпина Паблишер», 2023
Содержание Вступление ................................................................................................7 КОД Стиль ..........................................................................................................11 Именование иɹздравая логика .........................................................14 Повторное использование кода ......................................................17 Изобретение колеса .............................................................................20 Экосистема ..............................................................................................23 Рефакторинг ............................................................................................27 Работает — неɹтрогай ...........................................................................30 Новый код ................................................................................................33 Код как документация .........................................................................36 Коллаборация .........................................................................................40 Отладка .....................................................................................................43 Инструменты иɹавтоматизация .......................................................47 Тесты .........................................................................................................50
Идиоматичность ....................................................................................55 Open source ..............................................................................................59 Серебряные пули ...................................................................................64 Код ради кода .........................................................................................67 Ошибки ......................................................................................................70 Паттерны проектирования ................................................................73 Переабстракции .....................................................................................76 Оптимизация...........................................................................................79 ЛЮДИ Контекст иɹкоммуникация .................................................................87 Десять раз спроси, один — напиши ................................................90 Критика иɹкритиканство .....................................................................93 Пользователь всегда прав ................................................................96 Это МОЙ код ............................................................................................99 Это МОИ деньги .................................................................................. 101 Сильные иɹслабые стороны ........................................................... 105 Интервью............................................................................................... 109 Если начальник — идиот .................................................................. 113 Поиск виноватых ............................................................................... 116 Холивары .............................................................................................. 120 Оценка задач ....................................................................................... 123 Общий код ............................................................................................. 128 Одно кольцо, чтоб правитьɹвсеми ............................................... 131 Обсуждения .......................................................................................... 134
Бюрократия .......................................................................................... 137 Идеальный продукт ........................................................................... 140 Код-ревью ............................................................................................. 144 Методологии разработки ................................................................ 148 Я Забота оɹсебе ....................................................................................... 155 Усталость иɹвыгорание .................................................................... 158 Винтик вɹмеханизме .......................................................................... 161 Кроличья нора ..................................................................................... 165 Пройдет иɹэто ....................................................................................... 169 Хвали себя ............................................................................................ 173 Перфекционизм (иɹкакɹотɹнегоɹнеɹспятить) .............................. 176 Гордыня ................................................................................................. 180 Pet projects ............................................................................................ 184 Аврал! Свистать всех наверх! ........................................................ 187 Свободное время ............................................................................... 190 Яɹработаю ради… ................................................................................ 193 Удаленная работа .............................................................................. 195 Это надо поправить........................................................................... 199 Специалист широкого профиля .................................................... 202 Новый проект ...................................................................................... 206 Иɹнапоследок… .................................................................................... 211
Вступление Меня зовут Владимир, и я хочу рассказать о том, как выжить в IT. Эта книга предназначена в первую очередь для начина ющих разработчиков, которые стремятся найти свое место в индустрии, а также специалистов в IT, которые уже успели освоиться и теперь жаждут узнать, насколько глубока кроличья нора. Коротко обо мне: более 15 лет я занимаюсь коммерческой разработкой, в основном высоконагруженными веб-системами и приложениями; работал почти на всех должностях корпоративной лестницы — от тестировщика до ведущего архитектора. За свою карьеру я накопил достаточный опыт, которым и хотел бы поделиться в этой книге. На данный момент я продолжаю заниматься разработкой, поэтому книга будет максимально приближена к реальной жизни и особенностям выживания в этой невероятной индустрии. Книга построена так, чтобы ее можно было использовать практически, исходя из конкретной проблемы или навыка, который вы хотите улучшить. К каждой теме добавлены задания, которые помогут вам преодолеть страх изменений и сделать первый шаг. Книга состоит из трех основных разделов. Раздел «Код» описывает самые полезные практики по работе с кодом. Раздел 7
«Люди» затрагивает проблемы коммуникации и жизни внутри коллектива. Раздел «Я» посвящен личному росту, особенностям человеческого характера и борьбе с сомнениями и страхами, знакомыми каждому разработчику. Я искренне считаю, что лучший способ обучения в IT — это практика. Сколько бы вы ни читали книг, ни смотрели курсов и ни слушали подкастов — все это будет бессмысленно, если вы не начнете писать код и развивать навыки самостоятельно. Ваше развитие — это постоянная практика и поиск новых знаний, освоение новых технологий и попытка выяснить, «как же оно устроено» . В тексте, возможно, встретятся термины, которых вы пока не знаете, но я специально не разъясняю их, чтобы вы могли активнее участвовать в процессе собственного обучения. Если вам попался непонятный термин, название технологии или совершенно неизвестного вам языка программирования, не поленитесь и воспользуйтесь Google — это окупится. Выполнение заданий, размещенных в конце каждой темы, весьма полезный опыт, которым я бы советовал не пренебрегать. Какие-то задания будут даваться легко, какие-то покажутся сложными, но не пренебрегайте ими, и они в конце концов поддадутся, как и любой навык, которым вы стремитесь овладеть. В конце каждой темы также будет короткая история из жизни — мой личный опыт, относящийся к описанным проблемам. Она не несет в себе обучающей информации, но, возможно, покажется вам забавной. Смело пропускайте, если вам это неинтересно.
КОД
Этот раздел поможет научиться писать код так, чтобы вас неɹвозненавидели коллеги, аɹновые разработчики, переходя кɹподдержке вашего кода, мысленно говорили вам спасибо. Бóльшую часть времени разработчик посвящает коду, иɹпоэтому крайне важно неɹтолько быть технически подкованным, ноɹиɹписать код так, чтобы спустя несколько лет заɹнего неɹбыло стыдно. Темы этого раздела описывают неɹстолько техническую сторону вашей работы, сколько правила, которые позволят содержать ваш код вɹчистоте иɹпорядке, сделают его понятным для восприятия иɹудобным для поддержки.