Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

От джуна до сеньора: Как стать востребованным разработчиком

Покупка
Новинка
Основная коллекция
Артикул: 813166.02.99
Доступ онлайн
225 ₽
В корзину
Быть разработчиком — трудно, а делать первые шаги — еще труднее. Вам предстоит постоянно практиковаться, осваивать большие объемы сложной информации, вы обязательно столкнетесь с неожиданными вызовами, которые могут легко отпугнуть даже самого заинтересованного и мотивированного специалиста. Книга Владимира Швеца, востребованного разработчика с 15-летним опытом работы, поможет вам не сойти с пути и преодолеть все трудности с честью. Она содержит исчерпывающие сведения о проблемах каждого разработчика и способах их решения. Вы узнаете, как писать хороший, чистый код, отлаживать его и оптимизировать, настроить удобный для себя режим работы и без труда общаться с коллегами и руководителями, как справляться с усталостью, выгоранием и гордыней. Каждый раздел содержит непридуманные истории из опыта автора и его коллег, маленькие хитрости и лайфхаки, а также задания, которые помогут вам подготовиться к грядущим испытаниям на пути к новым высотам в карьере.
Швец, В. От джуна до сеньора: Как стать востребованным разработчиком : практическое руководство / В. Швец. - Москва : Альпина Паблишер, 2023. - 212 с. - ISBN 978-5-9614-8233-1. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2140930 (дата обращения: 01.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МОСКВА
2023

Владимир Швец
ОТ ДЖУНА
ДО СЕНЬОРА
Как стать востребованным 
разработчиком
ISBN 978-5-9614-8233-1

Все права защищены. Никакая часть этой книги не может быть 
воспроизведена в какой бы то ни было форме и какими бы то ни было 
средствами, включая размещение в сети интернет и в корпоративных 
сетях, а также запись в память ЭВМ для частного или публичного 
использования, без письменного разрешения владельца 
авторских прав. По вопросу организации доступа к электронной 
библиотеке издательства обращайтесь по адресу mylib@alpina.ru.

© Владимир Швец, 2023
© ООО «Альпина Паблишер», 2023

УДК 004.45
ББК 32.972
 
Ш35

Редактор Ольга Бараш

Швец В.

Ш35  
От джуна до сеньора: Как стать востребованным разработчиком / 
Владимир Швец. — М. : Альпина Паблишер, 2023. — 212 с.

ISBN 978-5-9614-8233-1

Быть разработчиком — трудно, а делать первые шаги — еще труднее. 
Вам предстоит постоянно практиковаться, осваивать большие 
объемы сложной информации, вы обязательно столкнетесь с неожиданными 
вызовами, которые могут легко отпугнуть даже самого заинтересованного 
и мотивированного специалиста.
Книга Владимира Швеца, востребованного разработчика с 15-летним 
опытом работы, поможет вам не сойти с пути и преодолеть все трудности 
с честью. Она содержит исчерпывающие сведения о проблемах 
каждого разработчика и способах их решения. Вы узнаете, как писать 
хороший, чистый код, отлаживать его и оптимизировать, настроить 
удобный для себя режим работы и без труда общаться с коллегами 
и руководителями, как справляться с усталостью, выгоранием и гордыней. 
Каждый раздел содержит непридуманные истории из опыта автора 
и его коллег, маленькие хитрости и лайфхаки, а также задания, которые 
помогут вам подготовиться к грядущим испытаниям на пути к новым 
высотам в карьере.

УДК 004.45
ББК 32.972
Содержание

Вступление ................................................................................................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 лет я занимаюсь коммерческой 
разработкой, в основном высоконагруженными веб-системами 
и приложениями; работал почти на всех должностях корпоративной 
лестницы —  от тестировщика до ведущего архитектора. 
За свою карьеру я накопил достаточный опыт, которым 
и хотел бы поделиться в этой книге. На данный момент я продолжаю 
заниматься разработкой, поэтому книга будет максимально 
приближена к реальной жизни и особенностям выживания 
в этой невероятной индустрии.
Книга построена так, чтобы ее можно было использовать 
практически, исходя из конкретной проблемы или навыка, который 
вы хотите улучшить. К каждой теме добавлены задания, 
которые помогут вам преодолеть страх изменений и сделать 
первый шаг.
Книга состоит из трех основных разделов. Раздел «Код» описывает 
самые полезные практики по работе с кодом. Раздел 
«Люди» затрагивает проблемы коммуникации и жизни внутри 
коллектива. Раздел «Я» посвящен личному росту, особенностям 
человеческого характера и борьбе с сомнениями и страхами, 
знакомыми каждому разработчику.
Я искренне считаю, что лучший способ обучения в IT —  
это практика. Сколько бы вы ни читали книг, ни смотрели курсов 
и ни слушали подкастов — все это будет бессмысленно, 
если вы не  начнете писать код и развивать навыки самостоятельно. 
Ваше развитие —  это постоянная практика и поиск 
новых знаний, освоение новых технологий и попытка выяснить, «
как же оно устроено» . В тексте, возможно, встретятся термины, 
которых вы пока не знаете, но я специально не разъясняю 
их, чтобы вы могли активнее участвовать в процессе собственного 
обучения. Если вам попался непонятный термин, название 
технологии или совершенно неизвестного вам языка программирования, 
не поленитесь и воспользуйтесь Google —  это окупится. 
Выполнение заданий, размещенных в конце каждой темы, 
весьма полезный опыт, которым я бы советовал не пренебрегать. 
Какие-то задания будут даваться легко, какие-то покажутся 
сложными, но не пренебрегайте ими, и они в конце концов поддадутся, 
как и любой навык, которым вы стремитесь овладеть.
В конце каждой темы также будет короткая история 
из жизни —  мой личный опыт, относящийся к описанным проблемам. 
Она не несет в себе обучающей информации, но, возможно, 
покажется вам забавной. Смело пропускайте, если вам 
это неинтересно.
КОД
Этот раздел поможет научиться писать код 
так, чтобы вас невозненавидели коллеги, 
ановые разработчики, переходя кподдержке 
вашего кода, мысленно говорили вам спасибо.

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

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

Стиль

Один из важнейших элементов работы над кодом —  стиль языка 
программирования, а точнее, следование стилю, предлагаемому 
авторами языка. В современном мире практически все языки 
программирования имеют свой guideline, который предписывает, 
как оформлять код, какими правилами  нужно руководствоваться 
и как избежать типичных ошибок.
У каждого языка программирования своя специфика, область 
применения, особенности синтаксиса, и поэтому важно соблюдать 
единообразие в коде. Люди, долгое время работающие 
с одним языком программирования, читают его быстро и часто 
полагаются на визуальную интуицию. Они видели конструкции 
этого языка так часто, что могут заметить ошибку даже 
при беглом просмотре.
Если ваш код будет соответствовать стилю языка, на котором 
написан, это будет огромным плюсом и очень упростит 
жизнь и вам, и всем тем, кому придется поддерживать этот 
код в будущем.
Множество современных языков программирования имеет 
в своем составе специальные инструменты —  linters, которые 
позволяют форматировать код, находить типичные ошибки синтаксиса 
и многое-многое другое. Регулярное использование этих 
КОД
12

инструментов окупается тем, что код будет выглядеть предсказуемо 
и узнаваемо для любого человека, знакомого с данным 
языком программирования.
Однако из этого правила есть исключения. Большие 
(и не очень) компании часто могут отступать от стиля языка 
по тем или иным причинам: особенности использования синтаксиса 
языка, договоренность среди разработчиков, особенности 
ведения разработки (давайте представим, что все разработчики 
этой гипотетической компании работают на мониторах с разрешением, 
позволяющим без проблем вместить только 80 символов 
на строке. Кошмарный, ужасный случай).
В случае если в проекте, над которым вы работаете, уже есть 
соглашение о том, в каком стиле должен быть оформлен код, 
такой стиль оформления будет более предпочтительным, даже 
если он расходится с рекомендациями авторов языка программирования.

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

Тезисы

 
Guideline языка программирования важен, ознакомьтесь 
сним как следует.

 
Правила проекта важнее, чем guideline языка программирования.

 

Linters —  ваши друзья ипомощники, используйте их.
Стиль
13

Задание

Найдите linters для языка программирования, накотором вы 
пишете регулярно, или для того языка, который используется 
навашем проекте. Проверьте ими код проекта иужаснитесь, 
насколько все плохо (или, на оборот, порадуйтесь, как здорово 
работаете вы иваши коллеги). Попробуйте найти проблемные 
места ипредложить исправить их. Для вас это будет хорошим 
опытом работы скодом проекта, адля проекта —  полезным 
рефакторингом.

История изжизни

На одном изсвоих первых мест работы яписал frontend для разрабатываемых 
сайтов, используя JavaScript. Наэту должность 
яустроился, уже имея некоторый опыт работы сJavaScript 
и(как мне казалось) гениальный метод форматирования кода. 
Боюсь, что уменя неосталось примеров того самого форматирования (
яочень рад, что все примеры утеряны), однако, увидев 
этот код год спустя, янепросто неузнал его, ноеще идолго 
ругался наавтора, создавшего такую бестолковую мешанину 
изпробелов иотступов. Ксчастью (или ксожалению), память 
позволила мне воссоздать, как это выглядело. Узрите же!

if ( user.loggedIn ) {
        user.lastLogin=new Date();

        sendNotifications( [
            'Welcome home, '+user.name,
        ] );

    if ( user.acl[ 'dashboard.view' ] || false ) 
{
        nav.redirect( 'dashboard.view' );
    }
}
Доступ онлайн
225 ₽
В корзину