Как стать программистом с нуля?

Дата публикации: 12.01.2021

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

Попытаемся понять, какие есть виды программирования, как выглядит обучение, учат кодить, в том числе самостоятельно, без поступления в ВУЗ или колледж и можно ли научиться этому самому. Как стать успешным программистом и на что нужно обратить внимание, чтобы получить начальный опыт. Ответить на эти вопросы нам помогут студенты омских ВУЗов и представители омских IT-компаний.

Время прочтения ≈ 12 минут.

IT-специалисты в топе востребованных профессий

С каждым годом востребованность профессии программиста в России как минимум не снижается. Подтверждают этот факт и данные недавнего совместного исследования о рынке труда сервисов Работа.ру и СберИндекс, опубликованного 21 декабря 2020 года. Согласно исследованию, в следующем году востребованными для работодателей будут медработники, фармацевты, IT-специалисты, а также представители массовых специальностей.

Кроме того, продолжают (и будут продолжать) развиваться отрасли, нуждающиеся в IT-специалистах. В качестве примера можно привести сферу EdTech, которой был посвящён один из наших прошлых материалов.

Востребованность в программистах именно в Омске может быть продиктована развитием IT-сектора и смежных областей. Омские компании, такие как Неолаб, Deeplay, Лайв Тайпинг, Симплео, 7bits, ASMART и другие,  стали не только известны за пределами региона, но и получили  широкое признание. 

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

К слову, развитие этого потенциала обеспечивается в том числе за счёт неформального образования. Так, например, 19 декабря на базе «Точки Кипения» в рамках направления «Искусственный интеллект» проходил митап по теме «Компьютерное зрение», посвящённый практическому применению нейронных сетей для задач компьютерного зрения. По словам организаторов из компании «Deeplay» он предназначен для слушателей как начального, так и среднего технического уровней».

 

Одним из приглашенных экспертов митапа стал Артур Кузин, руководитель направления нейронных сетей X5 Retail Group (группа компаний розничных сетей магазинов «Пятёрочка» и «Перекрёсток»)

 

Это не тот, кто чинит компьютеры

Для того, чтобы понять, кто такой «программист» мы могли бы просто взять парочку определений с известных сервисов. Поэтому мы решили получить ответы от студентов омских ВУЗов, которые учатся по этой специальности.

По словам Дмитрия Городецкого, студента 2 курса факультета компьютерных наук ОмГУ, программирование – это написание программы на языке формальной системы. Она должна иметь возможность принимать информацию, обрабатывать её, выдавать её (так, например, компьютер, может принимать информацию, обрабатывать процессором и выдавать её). Такая система имеет собственные правила и ресурсы. По этой логике программист – это человек, который знает язык, правила формальной системы и пишет программы, которые эта система может выполнять. Задача программиста учиться управлять участком этой системы.

 

«Хороший программист знает, как писать эффективные программы как с точки зрения скорости выполнения программы, так и с точки требований бизнеса: поддерживаемость кода, скорость разработки»

 

Но программирование не исчерпывается работой с компьютерами. «Например, программистом компьютеров можно назвать человека, который реализует программы пользуясь языком «С» или «Ассемблером». А web-программист - человек, который уже оперирует не техническими средствами компьютера, а абстрактными объектами. Таким образом, программист – человек, который реализует алгоритмы в рамках формальных систем. И для того, чтобы быть хорошим программистом, нужно учиться работать внутри формальных систем, а для работы в разных формальных системах важно иметь развитое в равных долях абстрактное, математическое и техническое мышление», – пояснил Дмитрий.

Кратко, но содержательно дополнила ответ Дмитрия студентка 2 курса Института автоматики, телекоммуникаций и информационных технологий ОмГУПС Татьяна Дияжева. Она подчеркнула, что очень многие путают программистов нс мастерами по починке компьютеров. «А для меня – это в первую очередь переводчик между человеком, который хочет получить что-то от компьютера и непосредственно самим компьютером» – подчеркнула Татьяна.

Программисты бывают разные

Это web-программисты, разработчики приложений и системные программисты. А значит, прежде чем пойти учиться, на программиста, нужно разобраться, чем же они отличаются друг от друга.

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

По словам Дмитрия Городецкого,  «...системный программист – это человек, которому нравится язык программирования, который нравится его начальнику» (улыбается). Для него основными критериями эффективности служат скорость и надежность, кроме того они больше остальных работают с математическими вычислениями и памятью компьютера. «WEB-программисту важна красота и удобство интерфейса, быстрое выполнение заказов, гибкость инструментов программирования, они скорее много работают с дизайном, а также серверной логикой, – сказал Дмитрий. – Что касается разработчиков приложений, то они близки к WEB-специалистам, но они скорее больше задумываются о ресурсах системы и общаются с операционной системой».

 

«Направления в программировании и информационных технологиях отличаются так же, как, например, направления в медицине: кто-то лечит зубы, а кто-то простуду. Так и у программистов, один занимается разработкой сайтов, другой приложений для пользователей, а третий операционных систем» 

 

А как обстоят дела на практике? 

По словам директора IT-компании ASMART Анны Кукиной, в их компании до определённого момента не было разделения на «бэкенд» и «фронтенд» – разработчиков («бэкенд» отвечает за внутреннюю и вычислительную логику сайта или приложения, а также иного программного обеспечения, а «фронтенд» занимается разработкой пользовательского интерфейса, то есть внешней публичной части сайта или приложения). И поэтому их программисты относятся в категории фулстек-разработчиков – то есть универсалов, которые должны разбираться в программировании и технологиях в целом. Такое решение было оправдано тем, что компания занималась разработкой сайтов средней ценовой категории, поэтому для них было важно, чтобы «программисты умели и верстать, и программировать». Однако с недавнего времени у ASMART появились крупные заказы, и сейчас программисты уже разделяются на тех, «кто делают вёрстку и на тех, кто делает бэкенд с применением сложных технологий» – поделилась с нами Анна.

Роман Зотов, Business Development Manager (т.е. менеджер по развитию бизнеса) из компании Cimpleo также сказал, что в их компании web-разработчик, и разработчик приложений – иногда один и тот же человек.

Куда идти учиться?

Если вы создадите поисковый запрос «Учиться на программиста в Омске», то почти сразу поймёте, что существует масса вариантов.

Во-первых, это многочисленные курсы по программированию для школьников. Например, Сибирская Академия инновационных и компьютерных технологий, предлагает обучение программированию детям от 10 лет, а Школа программиста, обещающая научить программированию с нуля любого третьеклассника. Также к категории курсов можно отнести многочисленные курсы, например, на Skillbox, где предлагают освоить профессию Web-разработчика всего за полгода.

Во-вторых, это колледжи. И это, наверное, главное, на что стоит обратить внимание. По данным сервиса «Поступи онлайн» десяток омских средних учебных заведений предлагают пройти обучение на программиста. При этом, в сравнении с аналогичным рейтингом, но уже среди ВУЗов есть несколько весомых преимуществ: в колледж проще поступить, учёба займет меньше времени, а стоимость такого образования ниже. Напоминаем, что данная профессия вполне упаковывается в программу полугодовых/годовых курсов. Поэтому если вы думаете о том, как стать программистом с нуля, но при этом не хотите обучаться самостоятельно, то вам вполне подойдёт вариант обучения в колледже.

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

Ищем наставника

На наш вопрос о том, где лучше обучаться программированию, Татьяна Дияжева ответила следующее: «Я пошла получать опыт и знания в ВУЗ. Да, безусловно, программированию можно научиться самому, существуют определённые отличия в построении структуры кода и т.д., но каждому приходится выбирать свой путь развития самостоятельно, однако я советую идти в университет всем тем, кто решит идти по этой тропинке».

У Дмитрия Городецкого на этот счёт немного другое мнение. Он считает, что важным моментом в обучении программированию является передача именно образа мышления, который нужен для программирования в определенных системах. Поэтому лучше всего получать начальный опыт и знания в программировании не самостоятельно, а с каким-то наставником. «Однако тут подойдёт не только университет, но и школа, курсы или старший брат (улыбается). Лучше скорее искать опытного педагога, чем определённое место. А ещё лучше для начала выбрать язык программирования и систему, опираясь на ваши предпочтения. Лично я не пробовал курсы, но думаю, что это неплохая идея. Но если вы совсем не разбираетесь в программировании, лучше не идти за этим в университет» – заключил Дмитрий.

Что важно работодателям?

Анна Кукина отмечает, что при приёме компания обращает внимание на образование потенциальных сотрудников. 

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

Также Анна дополнила, что бывают случаи, когда к ним приходят гуманитарии, которые хотят стать программистами. «Была девушка, с гуманитарным складом ума. Хотела быть специалистом и даже сделала несколько проектов. Но потом сказала, что ей лучше писать песни и ушла в творчество. Поэтому теперь мы очень аккуратно относимся к различным курсам, больше смотрю на личные качества: усидчивость, адекватность и способности к работе» – заключила она.

Несколько советов для начинающих

Как говорит один из классиков современной youtube-журналистики Алексей Пивоваров: «Все же всё понимают», и для того, чтобы первые шаги в программировании были успешными, недостаточно только лишь формального образования. Всегда нужна практика, потому как в этом и есть главный парадокс образования: прогресс всегда опережает возможности системы образования упаковать нужные знания в срок и сохранить их актуальность. Другими словами, мы всегда учим то, что уже почти не актуально, и чтобы быть в курсе трендов нужно идти в поля, в нашем случае – на программистскую ниву.

Дмитрий Городецкий рекомендует получать начальный опыт там, «...где при программировании не придётся думать о технических аспектах, то есть лучше не начинать с таких языков как «Ассемблер», «C», «C++». Я бы начинал с «Python».

«Кроме того, - он добавляет, - если у вас совсем нет опыта в программировании, то лучше найти курсы, где программирование будет объясняться с нуля. При выборе курсов лучше следить за отзывами, и выбирать те, в которых отзывы написаны примерно так: «Иван Владимирович прекрасный педагог и профессионал своего дела. Прекрасно объясняет не только программирование, но и математику!». «Помните, что курсы – это хороший выбор», – сказал Дмитрий.

На наш вопрос о том, на что обращаю внимание при приёме на работу в компании Лайв Тайпинг, Степан Лежнин (HR-директор компании) выделил три главных пункта. Во-первых, это любовь к своему делу. «Это становится понятно из того, что человек читает, смотрит, слушает, а главное — делает. Нам это важно, потому что в мобильной разработке технологии и тренды меняются очень быстро. Если в человеке есть искренний интерес к этому — она/он будет держаться в струе, и приложения будут делать крутые».

Во-вторых, это инициативность, потому что когда все сотрудники инициативны — компания становится лучше постоянно. «У нас, если у сотрудника есть свободное время от задач на проектах, то мы приветствуем, если она/он займётся созданием новых или улучшением старых процессов (например, в этом году к нам пришёл специалист, у которого было время, и он прокачал шкаф, в котором мы храним наши тестовые девайсы – и потом написал про это целую сстатью на Habr». 

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

Таким образом, помимо профессиональных навыков, важно иметь ряд социальных, зачастую именно они, при прочих равных, становятся определяющими для становления специалиста топ-уровня. 

Роман Зотов из Cimpleo говорит, что для них важны скиллы (не только и не столько профессиональные, а скорее вновь социальные) и мотивация. «Стажировки у нас бывают, да и вакансии для начинающих специалистов у нас бывают периодически. А на образование кандидата, мы часто смотрим в последнюю очередь, но профильное образование, это плюс, так как есть системные знания. Но вообще всё очень индивидуально» – подчеркнул Роман.

Наконец, Анна Кукина настоятельно рекомендует прокачивать личные навыки, особенно усидчивость. Она подчёркивает, что при приёме на работу они в компании обращают внимание не только и не столько на диплом об образовании или сертификаты о пройдённых курсах, сколько на классические, но ключевые навыки - исполнительность и трудоспособность. Подводя итог нашей беседы, она сказала, что сейчас на ситуацию влияет большой хайп вокруг профессии: «Многие думают, что это огромные деньги и слава, но в первую очередь – это тяжёлый труд».

Поделиться:
Появилась идея для новости? Поделись ею!

Нажимая кнопку "Отправить", Вы соглашаетесь с Политикой конфиденциальности сайта.