Основы программирования: как сделать правильный выбор

В преддверии курса по основам программирования мы поговорили с инженером сопровождения программных продуктов 1С, опытным разработчиком Натальей Епанчинцевой.
Наталья, что для тебя программирование? Как ты в него пришла?
Хобби, работа и жизнь, наверное, я на 80% состою из программного кода.
Сейчас даже не скажу были ли другие варианты выбора профессиональной деятельности. С основами программирования и компьютерной техники познакомилась довольно рано: было мне около трёх лет, в этом возрасте мне ужасно нравилось ставить кассеты с записанными на них программами в обычный магнитофон и слушать «послания внеземной цивилизации». Позже я добралась до освоения ZX Spectrum (процессор от него до сих пор бережно храню дома) и конкретно игры Rebelstar, а моей первой книгой стала «Энциклопедия профессора Фортрана».
То, что меня привлекало в компьютерной технике в эти «юные годы» — возможность рисования и написания музыки при помощи программирования. Сначала для меня это делал папа, а позже я сама.  Уже ближе к школе в моём распоряжении появился ноутбук фирмы IBM с MS-DOS’ом, и на этой чудо-штуке я уже не играла, изучала язык Ассемблера. Так что можно сказать, что писать код я научилась раньше, чем писать вообще, а моя будущая профессия была предопределена.
Как может выглядеть путь начинающего программиста: с чего надо начинать, сколько времени займет становление?
Любой путь начинается с принятия решения, постановки целей и четкого следования им. Здесь, как и в любом деле, нет места лени и пустым обещаниям «начать с понедельника, нового года, месяца, etc.». Также нужно понимать и принимать то, что технологии не стоят на месте, а постоянно развиваются, и в этой профессии необходимо непрерывно обучаться, практически каждый день открывать для себя что-то новое, что несомненно является плюсом.
Время здесь – величина индивидуальная и зависит от многих факторов, например, одним из важнейших, я считаю ответственность. Кому-то до достижения уровня Junior вполне достаточно месяца, а кто-то не дотягивает и через несколько лет.
В любом случае, начинать стоит под руководством опытного преподавателя и это значительно ускорит процесс становления «на тёмную сторону», однако не стоит забывать и о самостоятельной работе. Задача преподавателя в данном случае состоит в том, чтобы задать направление и вывести на нужный курс, с высоты собственного опыта подсказать возможные варианты профессионального развития, подобрать материал под способности и потребности студента. А также отвечать на возникающие в процессе вопросы, которых в самом начале будет много, и это абсолютно нормально. Именно поэтому, особенно на этапе становления, не бойтесь задавать вопросы, даже если они кажутся вам глупыми. Чем больше вы взаимодействуете с преподавателем, тем меньше «белых пятен» у вас останется.
Как выбрать свой язык программирования? Есть ли универсальный подход? Поможет ли в этом твой курс?
«Выбери себе работу по душе, и тебе не придется работать ни одного дня в своей жизни» (с)
Если вы записались на мой курс, значит хотя бы с профессиональной областью вы уже определились и это хорошо. Теперь коротко о выборе своего языка.
Языки программирования имеют довольно много общего, а потому, изучив один, вы легко сможете освоить что-то ещё, но в более короткие сроки. Подход к выбору своего языка состоит в том, чтобы понять какие именно задачи вы хотите решать. Просто присмотритесь к себе в обычной жизни. О чего вы на самом деле получаете удовольствие и чему готовы посвящать львиную долю времени? А теперь подумаем, при помощи какого языка можно сделать так, чтобы вы действительно отдыхали на работе:
  • Вычисляете интегралы, вместо того, чтобы считать овец, когда не можете уснуть? А термин «комплексное число» не вызывает комплексов? Тогда Matlab – это то, что вам нужно.
  • Любите web и хотели бы сделать жизнь человека в киберпространстве ещё более комфортной? Срочно бежим на курс по PHP. И про SQL не забудьте, тоже полезная штука. А уже если заглянете во Front-end и ресурс htmlbook навсегда поселится на ваших устройствах, интересная, постоянная работа никогда вас не оставит.
  • Чувствуете себя без мобильных устройств как без рук, и вам на самом деле уж очень интересно, как же всё это устроено? Ваше направление – Java.
  • Вам с детства нравилось все разбирать, а в школе вы пытались повторить пару опытов Николы Теслы? Вы до дыр зачитали «Приключения Электроника» и тоже мечтаете об электронной собаке? Даже такие неординарные люди найдут свой язык, например, Verilog или тот же С++.
  • Вам очень нравятся цифры и нестандартные задачи. Вы ежедневно просчитываете путь с работы до дома и ищете оптимальный? Любите точность, а Титаник у вас ассоциируется не с фильмом? Python – то, что нужно.
Конечно, это далеко не полный список того, что можно делать при помощи программирования и какой язык выбрать. Более подробно о профессии и языках я расскажу на курсе «Основы программирования». Также мы посмотрим задачи из различных предметных областей и попробуем их решить. В течение курса будет понятно, с чем именно хочется работать, будут изучены основные принципы и приёмы программирования, это даст вам возможность понять, кто вы в ИТ и как развиваться дальше.
Что вообще получают от курса выпускники? Есть ли какое-то итоговое задание и для чего?
В первую очередь, курс рассчитан на развитие понимания сути программирования и изучения своего первого языка — С++.
Немаловажный момент – 3 вопроса в конце каждого занятия, на которые студентам необходимо отвечать. Эти вопросы не касаются непосредственно теории или практики написания кода, скорее они направлены на то, чтобы и я и студенты с самого начала могли выявить свои предпочтения, сильные, слабые стороны и проработав эту информацию вместе со мной, точно представлять какой деятельностью заниматься дальше.
Итоговая работа – обзорное тестирование по теории и выполнение практических заданий. Задачи небольшие, примерно такие часто попадаются на собеседованиях. Итоговая работа и серьёзное отношение к ней – залог успеха, как в дальнейшем обучении, так и в поиске работы. Мне действительно важно не просто прочитать курс, но и подготовить студентов к работе в данной сфере.
В каких сферах вообще необходимы основы программирования?
Буду краткой! Сейчас практически ни одна сфера нашей повседневной жизни не обходится без применения информационных технологий. Основы программирования можно сравнить с умением ходить и твёрдо стоять на ногах. Глубокое понимание основ сделает специалиста более обучаемым и универсальным. Зная базовые принципы, вы сможете с лёгкостью подстраиваться под изменяющиеся технологии, быстро адаптироваться, вследствие чего станете более востребованы на рынке труда.
Твой совет начинающему IT-специалисту?
«Ученье – свет, а неучёных — тьма».
Учитесь, получайте новые знания, много общайтесь,  не сидите на месте. Информационные технологии – колоссальные возможности личностного и профессионального роста. Не упускайте возможность заниматься действительно интересной и полезной работой. А в обучении основам и не только вам поможет наша IT-Академия.