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