Что ж, будет логично начать повествование с рассказа о том, почему же книга вышла столь толстой и как вы можете извлечь из этого талмуда максимальную пользу.
В зависимости от того, на какой карьерной ступеньке вы находитесь: джуниор, спец с многолетним опытом за плечами или закоренелый профи, вам будут ближе разные части и главы книги. Кроме того, я уверен, что со временем вы наверняка захотите перечитать некоторые из них.
Зачем я написал эту книгу
Возможно, вам интересны мотивы, которыми я руководствовался, создавая именно такую книгу. Во вступлении я уже посвятил этой теме несколько слов, но здесь я хотел бы остановиться на ней чуть подробнее.
Подписчики моего блога[2 - https://simpleprogrammer.com.] и канала на YouTube[3 - http://youtube.com/jsonmez.] очень часто спрашивают, как стать разработчиком ПО и как расти в карьере. Я потратил немало времени, но так и не нашел исчерпывающее руководство, которое было бы полезно как неопытным разработчикам, так и профессионалам, касающееся достижения успеха в карьере, и помогло бы избежать наиболее распространенных проблем на этом пути.
Некоторые из этих тем поверхностно описаны в разделе «Карьера» книги «Путь программиста. Человек эпохи IT», и со временем я почувствовал, что этому вопросу следует уделить гораздо больше внимания. В то время как книга «Путь программиста. Человек эпохи IT» в целом больше сосредоточена на образе жизни разработчика ПО, включая карьеру, эта книга посвящена исключительно последней.
Создавая эту книгу, я старался сделать ее отдельным, ни с чем не связанным руководством. Вам не нужно читать «Путь программиста» или любой другой «учебник», чтобы выжать из этой книги максимум. Фактически вам даже не нужно обладать каким-либо опытом в разработке ПО.
Какие цели преследует эта книга?
Прежде всего я хочу помочь начинающим разработчикам узнать все важные вещи, необходимые для того, чтобы начать карьеру в столь запутанной и непростой области, как IT. Говоря откровенно, мне хотелось бы рассказать о наиболее важных аспектах данной сферы, о необходимых для начала работы знаниях, и о том, как получить свою первую работу. Я убежден, что все вышеперечисленное является камнем преткновения для большинства начинающих разработчиков.
Следующая задача, которую я ставил перед собой, когда писал эту книгу, – помочь в заполнении пробелов в знаниях тем, кто уже работает программистом, в той области, что касается непосредственно карьеры, а также предоставить рекомендации, как выжить в этом не всегда приветливом мире. Также в этой книге я расскажу, как найти тот самый печально известный баланс между жизнью и работой, как работать в команде, как «продавать» свои идеи, как добиваться повышения заработной платы и как продвигаться по карьерной лестнице, как лучше руководить и как бороться с предрассудками. Наконец, я хочу помочь разработчикам ПО на любом этапе их карьеры перейти на новый уровень.
Я расскажу о том, как заработать репутацию в индустрии разработки ПО, о различных путях по развитию карьеры, а также о книгах, которые следует прочитать. Также мы поговорим о побочных проектах, конференциях и всех остальных вещах, которые помогут вам перейти на следующий уровень и стать первоклассным разработчиком. Все перечисленное в этой книге можно отнести к категории «гибких навыков», поскольку я буду больше говорить о теории, нежели о практике.
Я считаю, что наше сообщество и отрасль в целом остро нуждаются в подобного рода информации, и я твердо убежден, что в долгосрочной перспективе она окажется более ценной, чем изучение конкретного языка программирования или фреймворка.
Эту книгу я разделил на пять частей, каждая из которых представляет собой набор коротеньких глав. Собственно говоря, как и в книге «Путь программиста».
• Старт карьеры
• Получение работы
• Все, что нужно знать о разработке ПО
• Работа программистом
• Развитие карьеры
Основная цель этой книги заключается в том, чтобы независимо от должности и компетенции вы могли извлечь из нее максимум информации для достижения следующего уровня в карьере разработчика.
Как читать эту книгу?
В целом подход к чтению любой книги очевиден: просто открываете и читаете. (Хотя, если у вас в руках печатная книга весьма увесистого вида, вы можете использовать ее как подставку под монитор.) Эту книгу можно читать как от корки до корки – я предполагаю, что большинство людей именно так и сделает, – так и по частям или главам.
Предположим, что вы заинтересовались разработкой ПО совсем недавно и пока что только постигаете азы программирования. В этом случае вам стоит начать чтение этой книги с части «Старт карьеры», как наиболее актуальной для вас. Кроме того, это первая часть этой книги.
Или, может быть, у вас за плечами уже есть пара-другая лет опыта работы в должности разработчика ПО. В этом случае, вероятно, вы захотите сразу перейти к части «Работа программистом» или «Все, что нужно знать о разработке ПО», чтобы заполнить пробелы в знаниях.
А может быть, ваш план состоит в том, чтобы как можно выше подняться по карьерной лестнице? В таком случае я рекомендую вам сразу перейти к части «Развитие карьеры». Это будет наилучшим решением.
Что касается глав данной книги, то вы можете читать их по тому же принципу, что и части, – то есть в любом порядке. Изучите оглавление и решите, какие главы вам наиболее интересны и максимально соответствуют интересующим вас вопросам. Я структурировал книгу именно таким образом, потому что знаю, что по мере развития карьеры разработчика ПО вы будете встречаться с разными проблемами и ситуациями.
Задумывая освоить что-то новое, все сталкиваются с вопросом, а с чего же, собственно, начинать? Ответ на этот вопрос вам пригодится и в том случае, если вы захотите изучить новый язык программирования или новую технологию.
Возможно, в данный момент вы не занимаетесь поиском работы и не намерены вступать в борьбу за повышение зарплаты. Также прямо сейчас вы можете не иметь проблем с коллегами или начальством. Однако нельзя исключать, что когда-нибудь главы, посвященные данным темам, могут стать для вас актуальными.
Знаете, меня всегда бесило, когда я хотел перечитать определенные страницы, но не мог их найти, потому что они были закопаны в какой-то из частей, которые я читал очень давно.
Именно поэтому я решил структурировать эту книгу так, чтобы ее можно было читать как угодно – хоть от корки до корки, хоть частями в любом порядке.
Повторенье – мать ученья!
Перед тем как мы перейдем непосредственно к содержимому данной книги, я хотел бы сказать еще пару слов. Во-первых, если вы не будете применять полученные знания на практике, чтение этой книги не принесет вам абсолютно никакой пользы. Вы можете быть полностью согласны с ее автором, но жизнь есть жизнь: нет практики – нет опыта.
Я не хочу быть занудой и постоянно повторять, что «нужно выполнять упражнения в конце каждой главы» (кстати, их там нет) или «нужно конспектировать каждую прочитанную главу», поэтому предлагаю вам гораздо более простое решение этой проблемы, которым пользуюсь сам.
Повторяйте!
Если вы действительно хотите что-то поменять в своей жизни и внедрить в нее какие-либо полезные принципы и привычки, одним из лучших способов добиться этого является полное погружение в интересующие вас идеи и концепции. Заставить свой мозг сосредоточиться на конкретных вещах можно, в частности, через повторение. С его помощью можно очень легко запоминать информацию. Лично я так и делаю.
Например, есть несколько книг, которые я читал уже раз десять, поскольку это очень ценный для развития моей карьеры и моей жизни материал, и я хочу по-настоящему усвоить концепции и философские принципы, изложенные в этих книгах.
Итак, я настоятельно рекомендую вам не только прочитать, но и регулярно перечитывать наиболее актуальные для вас главы этой книги. Вы можете даже установить в календарь напоминание, чтобы вернуться к книге через год или любой другой значимый для вас промежуток времени.
Действуйте!
Все идеи и стратегии, которыми я здесь делюсь, не принесут ни вам, ни вашей карьере никакой пользы, если вы не будете предпринимать конкретные шаги по претворению их в жизнь. Чтобы максимально упростить эту задачу, я собрал коллекцию ресурсов под названием «Исчерпывающее руководство по карьере разработчика ПО».
Инструментарий включает в себя: пошаговое руководство по быстрому поиску работы разработчиком ПО (даже если у вас нет опыта), ускоренный курс подготовки к собеседованию, практические рекомендации на тему о том, как следует одеваться на работе, чтобы добиться большего уважения со стороны начальства и коллег, а также «шпаргалку по отладке», которая поможет вам в поисках и устранении багов…
Для посетителей моего сайта инструментарий стоит 175 долларов, но для вас, дорогие читатели, я сделал скидку. Вы сможете получить инструментарий на моем сайте всего за 99 долларов[4 - https://simpleprogrammer.com/products/careerguide/toolkit.].
Дополнительные материалы к книге
Со всеми дополнительными материалами к книге, разбитыми по главам, можно ознакомиться по ссылке: https://simpleprogrammer.com/products/careerguide/links.
С годами ваши карьера и жизнь будут неизбежно меняться, и я искренне надеюсь, что моя книга еще долго будет оставаться для вас полезной.
Поехали!
Часть 1. Старт карьеры
«Если у тебя есть мечта, ты можешь потратить всю жизнь на изучение, планирование и подготовку к ее реализации. На самом деле все, что тебе нужно сделать, – начать».
Дрю Хьюстон
Самым частым вопросом, касающимся разработки ПО, является вопрос о том, с чего следует начинать карьеру разработчика. Подчас кажется, что самое большое препятствие на пути к тому, чтобы что-то сделать и стать тем, кем хочется, – это начать двигаться в желаемом направлении. Будь то новый режим тренировок, подготовка к марафону, открытие бизнеса, написание книги или – как в нашем случае – программирование, самая сложная часть – это начало. Легче всего тратить бесчисленные часы на обсуждение и составление планов о том, как и что следует делать. Куда проще, чем реально приступить к делу. Гораздо проще думать о первом шаге и бесконечно рассуждать о том, в каком направлении его следует сделать, чем в реальности сдвинуться с места.
Секрет заключается в том, чтобы за один раз делать только один шаг. Вам нужно собраться с духом и сказать себе: «Хватит планировать и рассуждать. Какой-никакой план у меня есть. Может быть, он и не лучший, но я буду следовать ему». Именно это действие станет первым шагом на вашем пути. В один прекрасный день вы оглянетесь назад и увидите тысячи сделанных шагов, которые привели вас туда, где вы сейчас находитесь, – на вершине горы, а не у ее основания.
Однако, чтобы сделать первый шаг, вам необходим план. Есть немало потенциальных разработчиков, которые вообще отказываются начать движение, однако при этом не меньшее количество людей пытается действовать наскоком, без какой-либо информационной подготовки или плана и сразу же приступают к делу, не зная, куда они идут и каких целей хотят достичь.