Здравствуйте, в этой статье мы постараемся ответить на вопрос: «С чего начать обучение программированию и как специалисту найти работу?». Если у Вас нет времени на чтение или статья не полностью решает Вашу проблему, можете получить онлайн консультацию квалифицированного юриста в форме ниже.
Освоить программирование могут как инженеры, так и уборщицы, вопрос лишь в мотивации. Профессия непростая, на пути ее освоения не раз захочется все бросить. При этом нужно учиться не просто набивать код, а воплощать пожелания заказчика в понятную и людям, и машине программу.
Можно ли научиться программированию самостоятельно
Изучить программирование самостоятельно можно, все зависит от упорства. Как правило, на это уходит год-два.
Начать обучение можно с книг, например с «Объектно-ориентированного анализа и проектирования с примерами приложений» от Гради Буч. К слову, ООП — основа, с которой стоит начать обучение. К тому же на собеседовании могут задать вопросы по ОПП и его пониманию.
Кроме этого, есть и другие полезные книги, которые стоит прочитать всем начинающим:
- «Искусство программирования», Дональд Кнут;
- «Карьера программиста», Г. Лакман Макдауэлл
- «Сам себе программист. Как научиться программировать и устроиться в Ebay?», Кори Альтхофф
- «Путь программиста», Джон Сонмез
- «Жемчужины программирования», Джон Бентли
- «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин
- «Алгоритмы. Построение и анализ», Томас Х. Кормен.
Советы, как программисту быстрее найти работу
- Прокачивайтесь всегда, везде и при любой возможности.
- Наполняйте портфолио кейсами.
- Если нет реальных заказов, выполняйте чужие ТЗ.
- Храните свои наработки на Github.
- Налаживайте связи с людьми.
- Перенимайте чужой опыт.
- Учитывайте прошлые ошибки.
- Ищите вакансии на всех возможных ресурсах.
- Не забывайте про «сарафанное радио».
- Не бойтесь откликаться на интересные вакансии, даже если навыков для трудоустройства пока недостаточно.
- Вникайте в суть вакансии и в откликах демонстрируйте понимание потребностей работодателя.
- Прорабатывайте список возможных вопросов перед собеседованием.
- На собеседовании держитесь уверенно.
-
Если не взяли на работу, анализируйте слабые места, прокачивайтесь и делайте новые попытки.
Ризель: Это зависит от компании и является темой, достойной отдельной статьи. Честный ответ заключается в том, что отличия есть. В некоторых стартапах, в которых я работала, меня до сих пор считают джуниором. Но, когда я общаюсь с людьми, некоторые из них считают меня мидлом. Я оцениваю себя скорее как мидла. Некоторые измеряют годами опыта, который составляет от нуля до трех лет для начинающего разработчика и от трех до пяти лет для разработчика среднего уровня. Это базовые показатели, и они полезны, но не должны быть непреложной истиной.
С моей точки зрения, начинающим разработчикам может потребоваться дополнительная помощь, чтобы понять, с чего начать или как лучше решить задачу, в то время как разработчики среднего уровня могут иметь более четкое представление о том, с чего лучше начать. Мидлы, вероятно, планируют, исследуют и проектируют немного больше, прежде чем писать код, чтобы убедиться в оптимальности решения. Это не означает, что разработчикам среднего уровня не нужна помощь, но они лучше представляют себе проблему и ее решение, потому что видели нечто подобное в прошлом.
***
Книги прекрасны тем, что с их помощью можно учиться бесплатно с нуля. Еще один их плюс в том, что они позволяют быстро погрузиться в тему, а также многократно прорабатывать пройденный материал. С чего конкретно начать изучение программирования по книгам? Перечислим самые рекомендуемые издания:
- «Чистый код» Роберта Мартина.
- «Искусство программирования» Дональда Кнута.
- «Отъявленный программист» Игоря Савчука.
- «Алгоритмы для начинающих» Паноса Луридаса.
- «Основы программирования» Галины Ивановой.
- «Экстремальное программирование» Кента Бека.
- «Программист фанатик» Чеда Фаулера и другие.
Что делают программисты и чем занимаются?
Обязанности на примере одной из вакансий (обязанности зависят от специализации):
- Участие в разработке новых функций на сайте и рефакторинг старого кода.
Или
- Сопровождение типовых конфигураций 1С 8.3 (УТ 11, ЗУП, БП);
- Настройка онлайн касс;
- Настройка и администрирование обмена 1с и интернет-магазина на битрикс;
- Участие в проекте по внедрению CRM системы Битрикс24 и интеграция с базой 1с УТ (со стороны компании);
- Работа с системой «Честный знак»
Как стать программистом и где учиться?
Варианты обучения для программиста с нуля:
- Самостоятельное обучение – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;
- Классическое оффлайн-образование в ВУЗах, колледжах и университетах. Диплом является преимуществом при устройстве на работу, при этом обучение обычно длится не менее четырех лет, часто дают устаревшие неактуальные знания;
- Онлайн-обучение. Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.
Ниже сделали обзор 15+ лучших онлайн-курсов.
Карьерная лестница программиста
В зависимости от степени профессионализма программистов принято делить на три уровня: Junior, Middle, Senior. Такое деление было принято изначально. Соответственно, «Джуниор» – начальный уровень с минимальным набором знаний и навыков. «Мидлы» — более опытные специалисты, которые уже сами могут обучать джуниоров, но не могут называть себя экспертами. И «Синьоры» – эксперты с багажом знаний. Они уже самостоятельно могут решать нестандартные задачи, могут руководить подразделением, придумывать что-то свое.
Сейчас в каждой компании есть собственные критерии для перехода с одного уровня на другой. Middle-программист в одной компании при смене работы может стать «джуном» в другой из-за новизны процессов или использования другого языка программирования. Поэтому профессиональный уровень конкретного специалиста определяется компанией непосредственно на собеседовании и при выполнении технического задания. Сертификат какой-либо школы или курсов не подтвердит уровень, а только покажет, чему человек обучался, какими навыками должен обладать.
Начнем с того, что данная профессиональная среда отличается выраженной демократичностью. Здесь не слишком важен цвет диплома и проставленная в нем отметка о наличии специальности.
Гораздо большее значение имеют знания, которыми вы обладаете, и, конечно, накопленный опыт. Наряду со знающими и опытными не менее высоко ценятся целеустремленные специалисты, обладающие способностью легко взаимодействовать с окружающими. Да, как ни удивительно, но именно коммуникативность является одной из выдающихся характеристик, ведущих к успеху в любом начинании.
На современном рынке очень много людей, которые регулярно пользуются услугами в этой сфере. Поэтому найти работу не составляет труда как матерым профессионалам, так и новичкам. В какой области вы раньше осуществляли деятельность — совершенно неважно. Главное — по-настоящему хотеть стать программистом и приложить соответствующие усилия.
Теперь следует разобраться со стандартом сертификации, внедренным компанией-разработчиком. Только сертифицированные специалисты получают возможность обслуживать программы «1С:Предприятие». Документы-сертификаты, подтверждающие наличие соответствующей квалификации, подразделяются на несколько разновидностей. Но детально рассмотреть необходимо два основных:
- 1С:Профессионал. Подтверждает, что его обладатель способен максимально эффективно задействовать в работе имеющиеся возможности платформы или ее конфигурационных версий. Если аттестационный документ выдается только на одну конфигурацию, предстоит подтвердить его путем прохождения тестирования в франчайз-компании.
Тест обычно состоит из 14 вопросов. На экзамене допускается сделать не более 2-х ошибок. По существу, такой сертификат выступает подтверждением наличия базовых знаний.
- 1С:Специалист. Аналогично может быть выдан по программе-платформе или одной из вариаций-конфигураций. Подтверждает, что владеющий им человек хорошо разбирается в принципах устройства 1С-платформы, а также обладает умением реализовать задачи пользователей без потери эффективности. Выражаясь простым языком, можно сказать, что такой спец-программист по-настоящему «в теме».
Чтобы получить документ данной категории, необходимо сдать экзамен, состоящий из 4 проверочных заданий, дающим по итогам комплексную оценку знаний. На выполнение отводится 5 часов.
Преимущества специальности
Прежде чем приступать к учебе и в срочном порядке решать, что нужно знать программисту 1С, с чего начать обучение, необходимо определиться, необходимо ли это вам в принципе. Чтобы разобраться, следует первым делом рассмотреть имеющиеся плюсы и минусы получения данной специальности. К достоинствам стоит причислить:
- востребованность на рынке труда;
- неплохой уровень дохода;
- возможность работать на удаленке;
- нехватка по-настоящему знающих и обладающих навыками специалистов;
- и, конечно, 1С — монополист со всеми вытекающими плюсами.
Здесь название говорит само за себя. Для работы с информацией и применяются научные методы. Специалист по DS обрабатывает большие объёмы данных, находит в них взаимосвязи и закономерности, через алгоритмы и на этом основании строит модели. Модель уже можно использовать для решений в бизнесе. Например, в «Яндекс.Такси» модели прогнозируют степень загруженности дорог и водителя на линии, спрос на поездки, подбирают маршрут с учётом времени и скорости. На основе этого сервис повышает качество услуг и регулирует цены.
Где работают DS? Глобальные поисковые системы, любые сервисы, голосовые помощники, автономный транспорт, роботы, сервисы распознавания лиц.
Здесь стоит отличать работу аналитика данных и датасаентиста. Первый изучает потребности рынка, тестирует гипотезы, создаёт визуализацию исследований и пишет план по развитию бизнеса. Второй – инженер, который решает задачу для бизнеса техническим путём.
Где работают программисты
- Фриланс. Здесь вы сам себе HR, тим–лид, тестировщик. Ищите задачу и выполняете её. Удобство такого формата очевидно – вы работаете на себя и здесь всё зависит только от вас. Проекты, масштабы, заработки – будет так, как вы сами себе выстроите систему.
- Аутсорс–компании. Вам будут подбирать таски, исходя из опыта и навыков. Минус – можно застрять на одном уровне, выполняя однотипную работу, либо наоборот крутиться как белка, за зарплату одного спеца. Плюс – прокачаете опыт, войдёте в IT–тусовку с корпоративками. Самому выгрызать ничего не нужно, от вас требуются только прочные хард скиллс.
- Стартапы и небольшие, развивающиеся компании. Хороши для новичков. Опытные могут потерять деньги и время. Зарплата может быть с задержкой, ниже обещанной. Дело рискованное, но для старта карьеры вполне возможное. Кто знает, возможно, именно ваша разработка станет следующей Tesla или Instagram*
- Корпорации и IT–гиганты. Возможно это то, ради чего затевалась идея стать программистом. Готовьтесь к большому количеству тестов и собеседований на разных этапах вашей карьеры.
- Собственные проекты. В начале статьи мы говорили о творчестве. Вот здесь этот софт скилл помимо всего прочего необходим чрезвычайно. Если вы горите своей идеей и можете зажечь ею инвестора, то перед вами открыты все двери.
Специалист технической поддержки / младший системный администратор
Годы идут, а порог вхождения в ИТ через позицию специалиста технической поддержки по-прежнему совершенно не требует специального, например, математического, образования. При желании легко за год-два вырасти до младшего системного администратора. Очень часто крупные компании открывают вакансии стажера ИТ-отдела, это не что иное, как «Специалист технической поддержки / младший системный администратор», но на неполный рабочий день.
Многие ИТ-администраторы именно так начинали свою карьеру. На старте младший сисадмин начинает с первой и второй линий техподдержки — ответы на вопросы пользователей, получение опыта и навыков стрессоустойчивости. Новичков, среди которых встречаются не только технари, но и гуманитарии, обучают более опытные системные администраторы, разрабатывая алгоритмы действий по распространенным сценариям устранения неполадок, настройки.
Личные качества: въедливость, усидчивость, умение добираться до сути вещей, разматывать клубок проблемы до источника ее возникновения. Важны хорошая память и аналитические навыки. Постоянно нужно держать в голове массу знаний, добавлять к ней новые предметные области, уметь творчески их осмысливать и преобразовывать в сумму полезных профессиональных действий.
Очень важны желание развиваться в профессии, работоспособность и готовность постоянно учиться. В ИТ постоянно что-то меняется. Здесь нельзя разово выучить какую-то информацию и сидеть на этих знаниях лет 10. Вариации систем и их комбинации крайне разнообразные, вам точно не придется скучать и довольствоваться однажды изученной системой.
Обязательные знания: конечно, минимальный набор профессиональных знаний для успешной работы сисадмином необходим. Для выпускников профильных вузов будет достаточно знания основ баз данных, принципов устройства ОС (неглубоко, не на уровне архитектора), представления о том, как софт взаимодействует с железом, понимания принципов работы сетей и начальных навыков в программировании и базовых знаний TCP/IP, Unix, Windows.
Немного лирики о высшем образовании в сфере IT технологий
Как взаимодействуют институты высшего образования и IT сфера в стране. Ответ будет просто. До недавнего времени — никак и это очень огорчает. В школах России до сих пор учителя информатики «мучают» детей изучение Basic (разработан в 1968 году) или Pascal (разработан в 1979 году). Читатель должен вспомнить эти занудные уроки информатики из школьной программы. Напрочь отбивающие все желание развиваться в этом направлении. Помните, ведь правда! Далее переходим в институт и сталкиваемся с педагогами уже давно не практикующими и преподающими старые языки в бесплатных версиях прошлых лет. Конечно это не относится ко всем ВУЗам и если вам повезет, то в Институте вы сможете изучить Java, PHP или даже Си++ , но это больше исключение из правил нежели закономерность. Да и время потраченное на получение этих знаний в Университете будет очень долгим. Поэтому, после окончания обучения в институте молодой программист попадает на работу и начинает переучиваться на курсах или самостоятельно. Отсюда вопрос — какой в этом смысл? Зачем бесполезно тратить 5 лет своей жизни ?
Автор статьи считает, что институт высшего образования в области программирования в России устарел. Есть ряд профессий не нуждающихся в трате 4-6 лет на обучение будущих специалистов. Лишь для обеспечения рабочих мест и для занятости значительной части молодежи государство поддерживает отсталую систему образования. Более того, для 60 % профессий в стране высшее образование не требуется по факту, но требуется работодателями.
Именно этот путь в свое время прошел автор этих строк. Обучаясь на втором курсе Университета я уже знал больше, чем мой учитель по программированию. Конечно это было в далеком 2002 году, но и сейчас ситуация координально не изменилась. Глотком свежего воздуха в те времена для меня стал Центр Специалист при МГТУ им. Баумана. Именно тем, старым, педагогам я благодарен за полученные знания по SQL, Delphi, Администрированию серверов и клиентов, по элементарной компьютерной грамотности. Специалисты центра зародили новый тренд обучения программированию в России. Это случай когда группа единомышленников в одиночку смогла изменить что-то у себя на родине. Никакой заслуги государства в этом нет! С тех пор и по состоянию на 2019 год массовый процесс образования в IT технологиях идет по вектору развития через кратковременные курсы. Основными игроками образовательного рынка программирования являются центры: Mail Group, Специалист от МГТУ им. Баумана, Центр ИТПА при МГУ, Курсы программирования в Московском авиационном институте.
Курсы программирования для работника IT
Если вы смогли устроить ребенка в специализированный колледж или лицей и при этом он получил работу в нужной области, тогда к курсам стоит приступить только через полгода, год практической работы и обучения по среднему специальному направлению. Если получилось только поступить в учебное заведение, то курсы могут стать толчком для получения работы. Среди центров подготовки программистов и специалистов IT области рекомендую обратить свой взор на Mail Group и центр Специалист при МГТУ им Баумана (больше рекомендую этот). По окончании курсов эти две организации вроде помогают в трудоустройстве, сам не проверял — не знаю. В центре при Бауманке курсы имеют более короткое время прохождения (а потому предпочтительнее) и на порядок дешевле, поэтому в первую очередь стоит обратить внимание на этот центр. Особенностью занятий является возможность удаленного прохождения обучения (вебинар). Это в актуально для регионов, в которых фактически нет адекватных центров подготовки ИТ специалистов. Опробовал этот метод подготовки на себе и могу сказать, что технология действенная! Но есть одно условие — полученные знания надо сразу применять на практике. Искреннее желание усвоить материалы и применить полученные знания на практике — это важный аспект для обучения на курсах. Если вы заставляете вашего ребенка или самого себя на прохождение обучения, то толку от этого не будет. Ну и конечно практика, старайтесь развиваться поэтапно и сразу начинать применять полученные знания на практике!
По поводу 4, 5 и 6 пунктов рассказывать ничего не буду. Это связано с тем, что к этому времени у ребенка уже будет свое мнение и развитие пойдет по индивидуальному направлению.