От джуна до сеньора: Как стать востребованным разработчиком
Покупка
Новинка
Основная коллекция
Тематика:
Программирование и алгоритмизация
Издательство:
Альпина Паблишер
Автор:
Швец Владими
Год издания: 2023
Кол-во страниц: 212
Возрастное ограничение: 0+
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование взрослых
ISBN: 978-5-9614-8233-1
Артикул: 813166.02.99
Доступ онлайн
В корзину
Быть разработчиком — трудно, а делать первые шаги — еще труднее. Вам предстоит постоянно практиковаться, осваивать большие объемы сложной информации, вы обязательно столкнетесь с неожиданными вызовами, которые могут легко отпугнуть даже самого заинтересованного и мотивированного специалиста. Книга Владимира Швеца, востребованного разработчика с 15-летним опытом работы, поможет вам не сойти с пути и преодолеть все трудности с честью. Она содержит исчерпывающие сведения о проблемах каждого разработчика и способах их решения. Вы узнаете, как писать хороший, чистый код, отлаживать его и оптимизировать, настроить удобный для себя режим работы и без труда общаться с коллегами и руководителями, как справляться с усталостью, выгоранием и гордыней. Каждый раздел содержит непридуманные истории из опыта автора и его коллег, маленькие хитрости и лайфхаки, а также задания, которые помогут вам подготовиться к грядущим испытаниям на пути к новым высотам в карьере.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
МОСКВА 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' ); } }
Доступ онлайн
В корзину