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