Мы используем файлы куки и рекомендательные технологии.
Продолжая пользоваться сайтом, вы соглашаетесь на их применение.

Издательство «Альпина Паблишер» 123007, г. Москва, ул. 4-ая Магистральная, д. 5, стр. 1 +74951200704
следующая статья
Разработка программного обеспечения: кому подойдет и как стать востребованным специалистом

Разработка программного обеспечения: кому подойдет и как стать востребованным специалистом

Кажется, перейти в IT хочет почти каждый. Коммерческая разработка действительно приносит достойный доход, но, чтобы преуспеть, необходимо неустанно практиковаться, осваивать большие объемы сложной информации, сталкиваться с неожиданными вызовами.

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

Статей про то, как стать разработчиком программного обеспечения, написано огромное количество. Какие-то из них используются как реклама платных курсов обучения, какие-то пишутся людьми, очень далекими от реальной работы. Большая часть этих материалов либо приукрашивает реальность, либо создает ауру недоступности IT, отбивая желание даже пробовать. В своей статье я не планирую делать ни того, ни другого. Я постараюсь быть максимально честным, представив только факты и оставляя вам возможность решить, готовы ли вы попробовать себя в роли специалиста в одной из самых востребованных профессий последних десятилетий.

Кто может стать разработчиком

Я искренне считаю, что разработчиком может стать каждый, кто приложит к этому все усилия. Можно ли научить человека написать короткую программу за сутки? Да. Можно ли обучить человека за год так, чтобы он получил свою первую работу в качестве джуниор-разработчика? Да, если он посвятит этому всего себя.

Разработчиками становятся очень разные люди. Буквально 10–20 лет назад наличие технического образования напрямую определяло шансы получить работу в крупной компании. В наши дни этот критерий все чаще считается второстепенным. С формальным техническим образованием или без – IT-индустрии не так важно, какие бумаги вы имеете при себе. Куда важнее то, что вы умеете и можете показать.

Давайте остановимся на минутку и вы спросите себя: почему я хочу стать разработчиком? Любой ответ будет правильным, но не каждый сможет мотивировать вас на протяжении месяцев обучения и лет последующей работы. Если вас интересует только высокий доход — я вас понимаю, хорошим разработчикам действительно платят достойно, но деньги не смогут стать единственной мотивацией.

Как выбрать направление разработки

Есть огромное количество направлений разработки: игр, сайтов, бизнес-приложений и систем, мобильная разработка и многие другие. Просто задумайтесь, сколько электронных устройств окружает вас прямо сейчас. Эту статью вы, вероятно, читаете либо с экрана мобильного устройства, либо с компьютера, либо (очень необычно) вы распечатали ее на принтере и теперь шуршите бумажками. Практически любое электронное устройство в наши дни содержит код — даже ваш холодильник и чайник, не удивляйтесь. Чтобы этот текст отображался на вашем устройстве, не меньше десяти серверов обработали и переслали данные по проводам и воздуху. Миллионы разработчиков по всему миру каждый день пишут код, который создает магию.

Прислушайтесь к тому, что вас цепляет

Вам очень (ОЧЕНЬ) поможет, если вы уже сейчас представляете себе, чем хотели бы заниматься, когда станете разработчиком. Да, до этого момента пройдет немало времени, но настоящее, искреннее любопытство, детское желание узнать, как устроена изнутри игрушка, будет самым верным спутником на протяжении всей карьеры.

У вас есть любимая игра для телефона, и вы хотели бы написать свою? Чудесно. Вам всегда хотелось создать сайт с подборкой новостей и лично модерировать все комментарии? Классно. А может, вы хотели бы, чтобы умные лампочки в прихожей плавно зажигались, когда вы приходите домой с работы? Просто прекрасно.

Отыщите свой интерес, найдите то, что сможет вас «зацепить». Вы не обязаны продолжать заниматься именно этим направлением, если вам наскучит, но такой интерес на начальном этапе обучения очень поможет вам не растерять мотивацию.

Проанализируйте свои личные качества

Помимо интереса, ваши личные качества могут стать как лучшими помощниками при обучении, так и самыми грозными врагами. Разработка программного обеспечения — это сложно. Она требует усилий, она требует очень большой внимательности, она требует концентрации и целеустремленности. Но забудьте стереотип, что разработка программного обеспечения — это для математиков. Забудьте, что это для людей с «техническим складом ума», что бы эта глупость ни значила. Человеческий мозг — невероятная аналитическая машина, абсолютно идентично работающая в каждом человеке. 

Вы способны понять, что вам недодали сдачу в магазине? Поздравляю, вы способны освоить программирование.

Что нужно делать, чтобы стать разработчиком

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

Чтобы не пугать вас таким определением — представьте, что возможность стать разработчиком доступна всем, кто умеет мечтать и представлять свои мечты. Готов поспорить, что вы умеете мечтать. Ведь именно мечта привела вас к тому, что вы читаете эту статью.

Разработка программного обеспечения даст вам куда больше, чем просто фантазии, — она позволит воплощать в реальности то, что вы придумали. Создавать программы, которые совсем недавно были только вашей мыслью. 

Постоянно учиться самостоятельно

Что делать, если вы не то что никогда в жизни не занимались ничем связанным с разработкой, но даже и с компьютером обращаетесь на «вы»? Читать. Много читать. Мы живем в невероятное время, когда информация обо всем доступна по щелчку мыши.

Подумайте вот о чем: вы живете в эпоху, когда для получения информации требуется просто воспринять ее. Да, это будет очень сложно, особенно в случае, если вы даже примерно не представляете, что такое компьютерный процессор и чем он, черт возьми, занят. Однако только ваше усердие в итоге определяет то, станете ли вы разработчиком.

Пожалуйста, запомните: никакие платные курсы, программы институтов или гуру индустрии не заменят вам самостоятельной работы и личного развития. Никакие и никогда.

Да, любое обучение может стать большим подспорьем, с одним важным условием: если вместе с ним вы будете обучаться сами. Вы всегда должны знать на шаг больше, чем вам преподают. Вы должны использовать любую возможность спросить или узнать. И вы должны регулярно практиковаться. Разработка программного обеспечения — это всегда практика. Да, в IT огромное количество теории, но вы никогда не сможете начать писать код, если будете только слушать, как его надо писать.

Стать подмастерьем

Этот подход не имеет такого широкого распространения, и вы потратите очень много времени, чтобы найти человека, который захочет этим заниматься. Однако найти профессионального разработчика будет самым ценным способом обучения. Реальный опыт даст вам в разы больше, чем одна теория. Разумеется, платные курсы будут завлекать вас информацией о том, что все их преподаватели — практики, но быть хорошим преподавателем — талант, который очень нечасто пересекается с талантом практикующего разработчика.

Знать английский

Отдельным пунктом я бы хотел отметить знание английского языка. Да, материалов и курсов на русском языке за последние 20 лет стало предостаточно. Но сможете ли вы стать профессиональным разработчиком без умения читать без словаря техническую документацию на английском языке? Увы, нет.

Всегда помните о том, что ваш самый большой помощник в обучении — доступность информации. Используйте ее, повторяйте, практикуйтесь.

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

Не позволять апатии одержать верх

Среднее время заинтересованности человека, который решил заняться IT, фиксированно и составляет от нескольких месяцев до полугода. За этот срок люди успевают осознать объемы информации, которую им необходимо узнать и разобраться в ней. В этот же момент на вас обрушится апатия и нежелание продолжать. Это ощущение — обман. Наш мозг не любит тратить свои вычислительные ресурсы, он с гораздо бо́льшим желанием уговорил бы вас взять кусочек торта и улечься на диван. Теперь вы знаете, что в процессе обучения вас будет тянуть все бросить, потому что вы устали, потому что сложно, потому что «я никогда в этом не разберусь». Вы разберетесь, но не позволяйте мозгу диктовать вам, как вы будете добиваться своей мечты.

Как найти первую работу в IT

На этапе поиска первой работы вам надо представить себя непризнанным автором гениального произведения, которое пока никто не понял, потому что отказывать вам будут много и часто, ссылаясь на отсутствие опыта, отсутствие формального образования (да-да, этих отказов становится куда меньше, но они все еще есть) и на что угодно другое.

 У вас есть два способа получить свое первое место:

  1. Доказать, что вашего опыта достаточно для этой позиции.
  2. Согласиться на менее выгодные условия, но с возможностью практиковать свои навыки.

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

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

Для анализа рынка труда на данном этапе достаточно будет заняться поиском вакансий по направлению, в котором вы обучались. Если это веб-разработка — ищите компании, которые занимаются разработкой сайтов или веб-систем. Если вы планируете разрабатывать игры — ищите компании, которые разрабатывают игры и ищут джуниор-разработчиков. Попробуйте найти рекрутера, который смог бы вам помочь; шансы на то, что ему захочется устраивать джуниора, невелики, но его ресурсы позволят вам найти работу куда быстрее. В IT нет понятия «грязной» работы. Если вы не можете найти работу непосредственно разработчиком — пробуйте позицию тестировщика. Да, возможно, вам придется обучиться для этого дополнительным навыкам, но этот опыт никогда не будет лишним. Если вы продержитесь в IT достаточно долго, то поймете, что абсолютно все знания, которые вы когда-либо получили, вам пригодятся.

В качестве последних слов этой статьи я хотел бы сказать, что мир разработки вас не разочарует. Да, он может быть тяжелым, иногда скучным, иногда он будет оставлять в вас огромную фрустрацию и растерянность. Однако он никогда вас не подведет. 

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

Рекомендуем книгу

Иллюстрация: Ahana Pearl / Behance

Владимир Швец
архитектор программного обеспечения
Владимир Швец
архитектор программного обеспечения
При копировании материалов размещайте
активную ссылку на www.alpinabook.ru