Сказано в эфире

Я бы в кодеры пошел: как стать программистом

Читать на сайте radiosputnik.ru
Нуль в IT, а зарабатывать хочется? Не беда! Ведь программистами не рождаются. Как стать кодером, что нужно знать, чтобы овладеть этой профессией, и реально ли сделать это самостоятельно? Попробуем разобраться.
День медицинского работника 2023
Как стать программистом
Учиться, учиться и еще раз учиться. Если делать это лень, то у нас плохие новости: в программирование идти не стоит. А вот как учиться и чему, мы подскажем.
Что нужно знать
Для начала информатику: типы данных, системы счисления, принципы выполнения операций компьютерами.
Алгоритмы – последовательность действий, необходимых для преобразования данных в нужный результат.
Наконец, язык программирования. А лучше несколько. Первый можно выучить за полгода. Но в топовых российских вузах в обязательном порядке учат не один язык. Высококлассные специалисты владеют несколькими языками программирования, порой четырьмя-пятью.
Среди навыков, которые точно не повредят: умение выступать на презентациях и убеждать, знание методик организации работы программистов (Scrum, Kanban, Agile и тому подобные), опыт работы в командах с использованием таск-мессенджеров для общения и координации (Jira, Confluence). В общем, понимание того, как выстроен рабочий процесс в современных компаниях.
Специализированные предметы, такие как машинное обучение для Data Science, но это уже после программирования, конечно.
Умение набирать текст, не глядя на клавиатуру, тоже будет весьма кстати.
Обязательны самодисциплина, умение грамотно распределять свое время.
Как ни банально это звучит, по-настоящему успешным будет тот, кто действительно любит программирование, ибо это все-таки очень специфическая сфера деятельности, требующая определенного склада ума.
Способы обучения
Основных способов несколько. Разные варианты подходят под разные жизненные ситуации, этим и прекрасна IT-сфера: человек способный и упорный пробьет здесь себе дорогу, так как спрос на специалистов очень высок. Главное действовать.
Самообразование. Пожалуй, самый тернистый путь. Сложно представить ситуацию, когда собеседование проходит человек, за плечами у которого только прочитанные книги, специализированные ресурсы и больше ничего. То есть изучать их, конечно, непременно нужно, но одного этого будет явно недостаточно. На первом этапе этот способ поможет в принципе понять, тот ли путь ты себе выбрал. Хотя так и легко сбиться с толку. Все же лучше доверить свой мозг профессионалам.
Если же выбран именно этот путь, то начинать изучать программирование лучше на специализированных ресурсах, которые позволяют освоить основы выбранного языка.
Также в интернете много туториалов – пошаговых инструкций как написать ту или иную несложную программу – пробуйте себя, постепенно усложняя задачу.
Создание сайта
Университет. Самый проверенный способ. Подходит тем, кто располагает большим количеством времени, ведь обучение будет длиться минимум четыре года. Студенты ведущих профильных вузов начинают карьеру очень рано (уже на первых курсах) и дальше продолжают развиваться. Ведь университет на то и университет, чтобы давать фундаментальную базу. Она расширяет горизонты, но часто знания, полученные в вузе, быстро устаревают, особенно в такой сфере как IT. Так что, кроме гранита науки, придется много практиковаться. Для некоторых работодателей престижные корочки обязательны, но, к счастью, далеко не для всех.
Специальности, на которые стоит обратить внимание будущим программистам: прикладная математика и информатика, информационные системы и технологии, программирование в компьютерных системах, информационная безопасность и так далее.
Курсы. Их великое множество. Есть платные, есть и безвозмездные. У некоторых есть полезная опция: дать какое-то количество часов бесплатно, чтобы новичок понял, туда ли он стремится попасть. Некоторые после вводной части проводят экзамены и уже только после них принимают на дальнейшее обучение. Есть и курсы, специально заточенные на введение в профессию. Они помогают понять, нужно ли вам пробовать себя в IT в принципе. Как правило они бесплатные и краткосрочные.
Длительность полноценных курсов может составлять от нескольких месяцев до года-двух, стоят они порой недешево. Зато в процессе студентам дается возможность сделать собственный проект, а то и несколько. Если все идет хорошо, оказывается помощь в трудоустройстве, даются рекомендации.
Важно понимать, что ни одни курсы не дадут исчерпывающих знаний и навыков, так что всегда нужно быть готовым добирать недостающее самостоятельно. Благо, к окончанию курсов вы в любом случае должны будете знать, как это делать и где что искать.
Ментор
Ментор может помогать и на стадии обучения, например, на курсах. Но чаще такой человек появляется в жизни начинающего программиста уже с началом карьеры. И это очень важный момент, ведь самое главное для любого работодателя – это то, что специалист может делать в реальных рабочих условиях.
К слову, в некоторых компаниях менторство поставлено на поток. В том смысле, что существуют корпоративные школы, где новичков готовят к выполнению конкретных задач. Доходит до того, что некоторые корпорации принимают в такие школы людей совсем без опыта или с зачаточными знаниями и всему обучают самостоятельно. Вот как готовы нянчиться с перспективными кадрами! А все потому, что спрос на программистов по всему миру по-прежнему превышает предложение, и ситуация вряд ли скоро изменится.
Что еще важно знать про менторство? То, что прежде чем задавать наставнику какой-то вопрос, нужно по крайней мере попытаться найти ответ самостоятельно.
Нужен ли диплом
Чаще работодатель смотрит на перечень навыков и способности решать конкретные задачи, чем на то, где и каким образом этот опыт был получен. Практическое задание скорее всего будет непременным условием для трудоустройства. Но в любом случае наличие диплома или сертификата не помешает, это может быть одним из конкурентных преимуществ, хотя и не факт, что решающим.
Насколько важны математика и английский
Английский – крайне важен, так как на нем написано очень много обучающих материалов, да и код без него не будет понятен. Хотите развиваться в IT-сфере – учите английский. На начальном этапе придется много пользоваться поисковиком. К языку программирования в принципе можно относиться как к иностранному. Поэтому и у гуманитариев здесь есть все шансы преуспеть.
Словарь английского языка
Что же касается математики, то она крайне желательна, но ее знание на высоком уровне не является непременным условием для вхождения в профессию. Многие специальности в IT позволяют не быть гуру в этой науке. В конце концов, можно начать, а потом понемногу заполнять пробелы. Но в отдельных областях программирования без математики никуда, например, в разработке игр и всего, что связано с графическими эффектами. Для машинного обучения понадобится теория вероятности и статистика.
Кстати, специальные курсы по математике для IT тоже существуют, они позволяют вспомнить то, что основательно было забыто со школьной скамьи и закрепить необходимые знания.
Каким можно стать программистом
Разработчиком приложений, то есть тем, кто пишет программное обеспечение для различных сервисов, в том числе для мобильных устройств.
Web-программистом, который создает всевозможные сайты.
Системным программистом, обеспечивающим работу операционных систем и сетей. Ну и, конечно, game developer – тем, кто участвует в создании наших любимых видеоигр.
Классификация разработчиков
По уровню квалификации программисты делятся на несколько групп. Сначала идут стажеры, которые только присматриваются к работе. Следом – junior-программисты, которые обладают минимальным набором знаний, навыков и опыта. Такие специалисты занимаются решением стандартных задач, зачастую не очень крупных по масштабу. Если не развиваться, то можно остаться на этом уровне надолго, а то и навсегда.
Следующий уровень – middle. Это уже настоящие профи, обладающие внушительным багажом теоретических знаний и богатым практическим опытом. Владеют несколькими языками программирования.
Наконец, senior-специалисты. На этой стадии развития к компетенциям среднего уровня добавляются умение решать нестандартные задачи, творческий подход к проблемам, способность руководить коллективом разработчиков, то есть ставить задачи программистам и контролировать выполнение. Это годы и годы опыта и огромный труд.
Еще один вариант классификации программистов – по характеру решаемых задач. Так, frontend-разработчики занимаются внешней стороной – интерфейсом сайтов или программ.
Сфера ответственности backend-программиста – серверная часть продукта, внутреннее содержание системы: ее базы данных, логика и архитектура.
Есть и универсалы, их называют fullstack-разработчиками. Это могут быть как высококлассные специалисты, так и начинающие программисты, усвоившие некий минимальный набор умений в обоих направлениях.
Какой язык выбрать первым
Разработчику приложений подойдут С++, Python, JavaScript. Для создателей сайтов – PHP, JavaScript. Системному программисту понадобится Assembler, С, С++, Python. Для Data Science и машинного обучения – Python. Для приложений на iOS – Swift. Для Android – JavaScript.
Как видим, самыми востребованными получаются Python и JavaScript, с них, вероятно, и стоит начинать. Первый, кстати, считается еще и несложным для самостоятельного изучения с самых основ.
Для самых-самых начинающих можно посоветовать еще и HTML, это как бы своеобразный must have для айтишника, освоить который можно и вовсе за несколько дней.
Логотип Java
Еще будет полезно, определившись с желаемой сферой работы, просмотреть требования работодателей и уже на основе этого сделать выбор в пользу того или иного языка.
Как стать программистом самостоятельно с нуля и найти работу
В самом начале читаем максимально популярную литературу и ресурсы, чтобы составить общее представление о профессии и ее нюансах. Определяемся, какое направление ближе. Выбираем подходящую программу обучения. Проходим подготовку, ищем вакансии (часто с этим помогают те, кто вас будет учить). Направляем резюме, проходим собеседование, ждем отклика. Далее – повторить до достижения желаемого результата.
Перед прохождением собеседования поищите информацию о том, что вас может ждать в той или иной компании, подготовьтесь. И да, вопроса: "Почему именно мы?" скорее всего избежать не получится, так что изучите потенциального работодателя как следует.
В процессе следим за разделами "Вакансии" в компаниях, которые вам наиболее интересны.
Как составить резюме без опыта
Вообще, этому тоже учат на курсах. Но на всякий случай вот несколько основных правил:
– указывайте не только опыт и образование, непосредственно связанные с IT. Таким образом работодатель сможет оценить еще и ваши soft skills, которые пригодятся для работы в команде;
– не забывайте про английский (как мы помним, чем выше его уровень, тем лучше);
– не будьте излишне многословны, все должно быть написано четко и по делу;
– соблюдайте деловой стиль речи;
– в первую очередь сконцентрируйтесь на крупных платформах по подбору работы, далее переходите к более специализированным ресурсам;
– пусть сопроводительное письмо будет индивидуальным под каждую вакансию. Не нужно просто копировать одно и то же, работодатель оценит ваш индивидуальный подход;
– хороший вариант для web-разработчика – сайт-визитка.
Где брать проекты для портфолио
В вузах и на хороших курсах практическая сторона – обязательная часть обучения. Но зачастую это некие шаблонные задачи, так что портфолио часто похожи. Нужно как-то выделяться, так что лучше придумать проект самостоятельно. Например, предложить решение какой-то нетривиальной задачи и показать его в портфолио. Такой творческий подход выделит вас из массы соискателей и увеличит шансы. Плюс, можно писать программы по инструкциям и искать проекты на фрилансе.
На что обратить внимание
Если есть возможность поучиться на офлайн-курсах, не стоит ей пренебрегать. Именно живое общение поможет обзавестись полезными знакомствами и связями в новой среде. В реале проще обратиться с просьбой помочь в решении какой-то проблемы или найти опытного наставника.
Без собаки – как без рук: День кинолога
Коротко и по делу. Только отборные цитаты в нашем Телеграм-канале.
Обсудить
Рекомендуем