» » Где получить высшее образование программиста. Международные рейтинги Российских IT университетов. Почему стоит выбрать Python

Где получить высшее образование программиста. Международные рейтинги Российских IT университетов. Почему стоит выбрать Python

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

Профессия программиста популярна и востребована

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

Кто такие программисты и чем они занимаются

Запросы it-сферы на профессионалов постоянно увеличиваются. Следовательно нужны люди, которые будут в этом разбираться: создавать, чинить, поддерживать. Кодеры бывают разные, и каждая работа имеет свою специфику. Расскажем про основные специализации айтишников:

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

Например, разработчик мобильных приложений создаёт программы под системы android, ios и другие. Смартфон и планшет есть у каждого первого, так что тут работа закончится ещё не скоро.

Ещё одно перспективное направление - java-программирование. Большинство банковских систем спроектированы на этом языке. Банки готовы хорошо платить за качественный продукт и штатным работникам, и сторонним фирмам. Но и требования тут высоки: придется нести ответственность за корректную работу приложения с чужими деньгами. Конечно, программировать на java можно не только в банке, а хорошие it-специалисты со стажем получают около 200 тысяч рублей в месяц.

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

Ещё одна похожая профессия - qa engeneer, специалист по качеству продукта. Основное его отличие в том, что он не ищет ошибки в коде, а старается их не допускать. Подробно выяснить требования заказчика, спланировать разработку, наладить связь между группами программистов - все это обязанности qa engeneer. Часто тут даже язык программирования знать не надо, важнее представлять этапы разработки и особенности управления проектами.

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

Согласно исследованию StackOverFlow, это самая востребованная it-профессия 2017 года. Web-программисты делятся на две категории: front end и back end (они же часто шифруются как UX/UI дизайн). Первые следят за всем, что связано с пользовательской частью: удобство приложения и сайта, интуитивно понятное использование и просто красивая картинка. Вторые прорабатывают техническую составляющую: логика сайта, его функции, взаимодействие с базой данных. Чтобы страничка в интернете выглядела современно, разработчики проходят курсы html и php, владеют css, java-script, программированием на python.

Ваша зарплата будет зависеть от количества инструментов, которыми вы владеете. Самое маленькое вознаграждение у html-верстальщиков, они получают от 25 тысяч в месяц.

  • Программист 1C

Особенность 1С-программирования - тесная связь с экономической отраслью. Например, чтобы правильно начислить зарплату 3000 людей на заводе, надо где-то хранить данные об их рабочем времени, ставке, больничных и т.п. Эту задачу берет на себя программы 1С-предприятие. 1С-программист настраивает программы бухучета и документооборота так, чтобы легко выгружались документы, автоматически формировались отчеты.

Возможную рутинность работы с лихвой компенсирует порядок зарплат. Если говорить о фиксированной ставке, то начинающий Программист 1C сразу найдет вакансию с зарплатой в 45 тысяч в месяц, а ведущий специалист получает от 120. А вот в случае фриланса заработок будет зависеть от ваших навыков и от количества рабочих часов в неделю. Профессионалы зарабатывают и 200, и 500К в месяц.

Споры о настоящих программистах не утихают до сих пор

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

Он же product manager, он же product owner. Менеджер продукта выступает как переводчик между заказчиком, которые не разбирается в информационных технологиях и исполнителей-программистом. Кажется, что это работа из ничего - что заказчик с программистов сами разобраться не смогут?! Хорошо не смогут. Именно product manager может объяснить заказчику возможности функционала и потом уже сформулировать точное задачу для айтишников. На product owner лежит ответственность, чтобы готовое приложение, сайт или игра приносили пользователю максимум радости и пользы.

  • Директор по ИТ-продукту

Любой успешный айтишник может достичь высшей позиции в it-сфере - chief procurement officer (коротко CPO). Этот человек глубоко знает продукт, понимает систему кодинга, знает лучшие стратегии для создания программного обеспечения. В подчинении ИТ-директора средней компании может находиться 30-50 человек. Средний доход… далеко выше среднего.

Обучение программированию в вузе

Самый очевидный способ стать программистом - поступить на соответствующий профиль в вуз. Жизнь большинства специалистов уже невозможна без it-технологий. Обращаться с кодом в какой-то мере учат и математиков, и химиков, и биологов. Но чтобы не мучиться на неинтересных для вас предметах и изучать только профильные дисциплины, выберите одно из следующих направлений:

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

Обучение на программиста в колледже

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

  • 09.02.03 Программирование в компьютерных системах;
  • 09.02.05 Прикладная информатика;
  • 09.02.07 Информационные системы и программирование.

Всего в стране 71 учреждение среднего профессионального образования с нужными нам направлениями подготовки. Эти профили вы найдете в Санкт-Петербургском колледже информационных технологий, Петровском колледже, Новосибирском колледже электроники и вычислительной техники , в Уральском технологическом колледже “МИФИ” и в многих других.

Курсы дополнительного образования

Учить программированию в России начали не так давно, потому найти качественный профессиональный курс - целое приключение. К тому же далеко не все варианты бесплатные. Чтобы не потратить деньги зря, обратите внимание на отзывы, на преподавателей, программу и перспективу трудоустройства.

  • Онлайн-платформы

Изучать приглянувшийся язык программирования можно самостоятельно в удобном темпе на одном из обучающих ресурсов. Например, на INTUIT легко подобрать курс по java-программированию. После успешного прохождения итогового тестирования система выдаст бесплатный сертификат.

  • Онлайн-школы

Если идея самостоятельного изучения вам не по душе, то приглядитесь к онлайн-школам. Существенный плюс - чаще всего тут курсы ведут практикующие программисты, которые не только поделятся общими знаниями, но и расскажут о реальных интересных кейсах. В конце обучения дают диплом и обещают помочь с трудоустройством. Обучение "официальное", даже налоговый вычет можно получить. Но и стоит довольно много. Годовой курс обойдется в 150 тысяч рублей. Здесь уже как посмотришь: это большой расход или умная инвестиция в себя.

  • Очные курсы

Для желающих видеть преподавателя не через экран монитора, а вживую, есть очные курсы. Например, MAXIMUM ведет занятия по изучению it-сферы для школьников Digital Skills . Программирование там тоже есть, а на ознакомительное занятие можно прийти бесплатно.


Как поступить на специальность Программирование и что сдавать?

От будущих it-специалистов вузы чаще всего требуют результаты ЕГЭ по русскому языку, профильной математике и информатике . Некоторые могут попросить сдать еще и английский .

Чем заняться сейчас, чтобы повысить свои шансы на успешную карьеру программиста

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

  • Ботайте английский язык. Многие ресурсы на английском. Чтобы не ждать, пока кто-то сжалится и переведет текст за вас, позаботьтесь о языке заранее. Это настолько важно, что некоторые платные курсы дают уроки по языку своим студентам как часть основного программы.
  • Чатьтесь на it-форумах. Ответы на многие вопросы можно найти на форумах программистов, как например, Хабрахабр . Профессиональное сообщество щедро делится знаниями и полезными кусочками кода. Правда, иногда поиски растягиваются на несколько дней и параллельно приходится разбираться в новых инструментах, с которыми не был знаком раньше. И да, часто самая полезная ссылка будет на английском.
  • Погружайтесь в книги. Не спешите покупать первую попавшуюся литературу в ближайшем книжном. На полках много бесполезного и безнадежно устаревшего материала. Опять же много трудов изначально написаны на английском, и русская версия может страдать серьезными недочётами перевода. Можете начать с наших рекомендаций, а потом поймете, как выглядит годный контент.

Дочитали до конца? Вот вам ещё пара интересных фактов, которые помогут лучше представить профессию программиста.

  • Если вы зайдёте на сайт вакансий, то увидите: требуются загадочные middle или senior разработчики. У программистов есть своя градация степени профессионализма: junior, middle и senior . Первые, новички, должны владеть всеми средствами языка, на котором работают. Вторые - it-специалисты со стажем 3-5 лет. Третьи не только знают все о коде, но и могут организовать работу группы разработчиков над проектом. С ростом звания соответственно растет и зарплата!
  • Популярный портрет типичного программиста - неразговорчивый человек в очках с литровой чашкой кофе. На самом деле, эта картинка верна разве что для редкого фрилансера. И совсем не обязательно быть интровертом, чтобы идти в профессию. Как и в любом другом деле, важны надпрофессиональные навыки - объяснять, аргументировать, договариваться, выходить из конфликта.​

Такой портрет программиста безнадежно устарел. Современные it-специалисты - общительные позитивные ребята!

  • Над большими проектами работает целая группа it-специалистов. Каждый отвечает за свой участок кода, и все кусочки в конце должны собраться в единый продукт. Чтобы это случилось, команды постоянно проводят планерки, помогают коллегам искать и исправлять недочёты. А в некоторых офисах даже есть TV-приставки и настольные игры. Коллективная смена деятельности помогает наладить контакт и переключиться, когда работа «встала».
  • Программисты празднуют свой профессиональный праздник 13 сентября. Дата выбрана не случайно: это 256-ой день года, максимально возможная степень двойки, которая влезает в число 365.

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

Новичку в первую очередь надо решить в какой области программирования он хочет развиваться. Прикладное программирование, игры, робототехника, для школьников 6–7 класса отличное начало - это кружки робототехники, сейчас они существуют в каждом районе, надо только не полениться найти центр дополнительного образования поближе к дому. Там и своя визуальная среда программирования, и практическая деятельность, и моделирование, сразу будет понятно какая составляющая идет лучше и в каком направлении интереснее - инженерное, или именно программирование.

А чтобы мотивация не падала и был быстрый результат, мы рекомендуем начинать с Pascal /Delphi XE 7, тут и простой синтаксис и язык созданный для обучения программированию, так и возможность визуальной разработки из готовых компонент с поддержкой создания мобильных приложений с единого исходного кода. Тут самое интересное - это возможность создавать свои мобильные приложения для Android и iOS на любом этапе обучения программированию. А по мере роста уровня программиста всегда можно залезть в исходный код и в рамках той же среды перейти на C ++. Что касается вузов, то набор весьма велик, но разъезжая по стране я обратил внимание, как сильно вырос уровень отдельных региональных вузов. Например кафедра ВТИК в Уфимском Нефтегазовом Университете. МГУ, МГТУ им. Баумана, МИФИ, МАИ, Политехнический Университет в Санкт-Петербурге, СПбГУ.

Повысить Понизить

Начинать надо с кружков программирования или робототехники. Важно понять, действительно ли вы хотите стать разработчиком, или это импульсивное и ложное желание. Что касается вузов, то я советую ориентироваться на «сарафанное радио», на форумы в Интернете и мнения друзей. Также стоит сходить на дни открытых дверей, но все-таки иметь в голове ту мысль, что не всегда то, что говорят на таких мероприятиях - чистая правда. Что касается языка, то здесь нет универсального совета. На мой взгляд, выбор языка не важен, настоящий программист может овладеть новым для него языком очень быстро. Хотя, если есть возможность, то начните с C/С++.

Повысить Понизить

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

При наличии желания изучить программирование не очень сложно. А вот что с этим умением делать, вопрос гораздо сложнее. Поэтому вопрос должен стоять так: чем я хочу заниматься всю свою жизнь (или заметную её часть - 5–6 лет), и как в этом мне может помочь программирование.

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

Повысить Понизить

Начать лучше всего с образования. Для основного образования лучшими вузами в России можно назвать МГТУ им. Э. Н. Баумана, МГУ, МИФИ, МФТИ в Москве, Политехнический и ГТИ в Санкт-Петербурге, НГТУ в Новосибирске. Также всегда полезно заняться самообразованием: начинающие программисты имеют массу возможностей учиться в Интернете бесплатно; самые популярные сайты: microsoftvirtualacademy.com , coursera.org , lektorium.tv , universarium.org . Кроме того, для развития карьеры важным может стать участие в олимпиадах и соревнованиях по спортивному программированию, например: Russian Code Cup, Google Code Jam, Facebook Hacker Cup, Яндекс.Алгоритм, ACM International Collegiate Programming Contest.

Языки: Swift для iOS, Java для Android, Ruby для веб-разработки.

Повысить Понизить

, руководитель направления образовательных программ СКБ Контур, партнёр международной олимпиады «IT-Планета»

Выучить язык и научиться программировать - разные вещи, и в целом не важно, с какого языка начинать. Хотя, приятнее и легче начинать с высокоуровневых, например, Python, C#, Java. Хороший программист должен знать несколько языков и уметь изучать новые. Вопрос про материалы скорее актуален для студентов с минимальными навыками программиста, поэтому гораздо важнее вопросы «С чего начать?» и «Какой вуз выбрать?».

Всем начинающим программистам очень повезло: научиться программировать можно играя, и таких продуктов очень много. Нам в Контуре больше всего нравятся coderussia.ru , codemonkey.co.il , codingame.com .

С выбором вуза всё гораздо сложнее. Нет списка вузов, упорядоченного по крутости преподавания ИТ-дисциплин, поэтому всегда есть шанс не угадать 🙂

Чаще всего хорошо преподают в больших вузах и университетах. Если в вашем городе есть вуз, в названии которого есть слова «государственный», «национальный», «федеральный», то в первую очередь стоит присмотреться к нему. Затем узнайте, есть ли в вашем городе крупные ИТ-компании или филиалы таких компаний, с какими вузами у них партнёрские отношения: такие компании почти всегда появляются рядом с сильными университетами очень редко появляются там, где нет качественной подготовки кадров (например, в Екатеринбурге кроме головного офиса Контура ещё есть 4 крупных офиса разработки, около 50 средних и гора маленьких).

Ещё один важный фактор - участие вуза и проведение на его территории ИТ-соревнований, например по спортивному программированию, информационной безопасности (в быту ACM, CTF), различных соревнованиях по робототехнике. Найти такую информацию про конкретный вуз иногда не так тривиально, но поискать можно среди архивов ICPC ACM на icpc.baylor.edu или ructf.org .

Кстати, мы совместно с УрФУ организуем QCTF - формат для начинающих, в него могут играть и школьники, подробно можно прочитать вот здесь: qctf.ru .

И всегда помните: выбрав хороший вуз, вы можете всё завалить и не стать программистом, выбрав плохой - можете потратить время на самообучение и добиться невиданных высот. В первую очередь всё зависит от вас.

Повысить Понизить

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

Повысить Понизить

Для освоения программирования лучше всего, на мой взгляд, подходят процедурные языки высокого уровня, «скрывающие» от программиста детали реализации базовых операций и позволяющие сосредоточиться на алгоритмах. Когда-то это был Pascal, сейчас он немного отошёл в сторону, хотя есть и очень хорошие современные реализации, ориентированные на обучение программированию - например, система «PascalABC.Net» . Другой вариант - Python, также хорошо структурированный язык, позволяющий сосредоточиться на освоении основных принципов программирования. Python обладает также дополнительным преимуществом - это интерпретируемый язык, т.е. даёт начинающему программисту возможность быстрее освоиться с языком и «пощупать» ту или иную конструкцию. Изучив основы программирования, стоит плотнее ознакомиться с «классическими» объектно-ориентированными языками, и тут варианты - либо C#, либо Java.

После освоения такого базового «джентельменского набора» наступает следующий этап профессионального развития. На этом этапе вопрос «на чём программировать» сменяется вопросом «какие задачи решать». Т.е. язык программирования из объекта изучения превращается в инструмент для решения задач. На первый план выходит предметная область (системное программирование, веб-разработка, автоматизация бизнес-процессов, обработка данных и т.п.), и уже исходя из интересующего вас направления следует выбирать и изучаемые языки, технологии (например - C, C++, PHP, 1С, SQL).

Что касается материалов для обучения, то наилучшим форматом являются обучающие курсы - либо очные (при непосредственном контакте с преподавателем), либо интернет-курсы. Сейчас активно развиваются интернет-ресурсы, предлагающие бесплатные (и платные тоже) курсы, включающие видео-материалы, тесты, практические задания, часто с возможностью обратной связи от преподавателя. Например, ресурс coursera.org или российский intuit.ru . Часто вендоры (разработчики программных инструментов) также предлагают обучающие курсы по своим продуктам. Например, фирма 1С предоставляет бесплатный комплект для освоения системы «1С:Предприятие», включающий как программные средства, так и учебные материалы.

Повысить Понизить

Увы, но с вузами сейчас ситуация непростая. Многие мои знакомые, работающие в системе высшего образования открыто говорят о том, что система высшего образования в России не функционирует. Об этом можно, конечно, спорить и приводить массу аргументов как за, так и против. В то же время сейчас мне трудно рекомендовать или не рекомендовать даже свою «альма-матер» СПбГЭТУ (ЛЭТИ). Ключевые вузы, которые в той или иной мере могут готовить программистов - это ЛЭТИ, ИТМО и «Политех». Но я бы хотел подчеркнуть, что главное, что дает любой ВУЗ будущему инженеру - это навык самостоятельного обучения, в противоположность школе, где весь необходимый материал преподносится «на блюдечке».

Если говорить о языках программирования, то следует учесть следующие факты:

  • Вы, скорее всего, захотите начать работать по специальности уже на 2-м или 3-м курсе, поэтому стоит обратить внимание на языки программирования, актуальные прямо сейчас: C#, Java, Ruby. Дальнейшее развитие технологий и ваши личные предпочтения помогут вам определиться с тем, на какой платформе и языке продолжать работать. Самое главное - помните, что нет «хороших» и «плохих» языков. В каждой области существует свой набор инструментов и технологий.
  • Вуз может дать сносные знания по глобальным концепциям, например ООП, но не даст вам хорошей базы по конкретному языку; полагайтесь на себя, свой, пусть и небольшой опыт и постоянно расширяйте свой кругозор
  • «Вписывайтесь» во все известные сообщества - это ничего не стоит, как с точки зрения, так и времени, но дает вам колоссальный источник знаний и опыта.

Повысить Понизить

Если у вас есть возможность не идти в вуз - не идите. Это крайне бесполезная история для программистов. Вы будете находится в постоянном поиске новой информации, знания в IT сфере устаревают очень быстро. В таких условиях вуз не сможет дать вам нужных скиллов что бы быть Middle/Senior Developer сразу после выпуска.

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

Что я имею в виду: на выходе после вуза имеем ребят которые ходят по компаниям и просят 60–90к в месяц и потихоньку разочаровываются в индустрии потому что больше 30к за их опыт никто не даёт. И начинается медленный, планомерный рост со стажировок в веб-студиях. Отсюда вопрос: а действительно ли вам нужен вуз?

Начинайте писать свои pet-projects. Берите идеи и пишите, пишите и еще раз пишите. Ваша основная задача писать код, много кода, забейте на качество - просто пишите, пишите и пишите. На определенном моменте у вас «щелкнет» и вы в остальном сами во всём разберетесь. Для начала, конечно, определитесь куда вам, в веб: PHP, Python, Golang (это не для выбора, это все три вместе), мобайл: Java, Objective-C, Swift, C#, геймдев: C++, Java, Lua.

Отдельно для геймдева - просто берите Unity и начинайте делать. Не пытайтесь писать базовые вещи, вроде своего движка, в первый месяц, просто делайте, а уже потом разбирайте фундаментальные понятия.

Повысить Понизить

, преподаватель GeekBrains, эксперт PHP, специалист по MySQL, Postgres, некоторым NoSQL решениям, JS + JQuery, Yii

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

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

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

О выборе первого языка советовать сложнее. Обычно этот выбор происходит спонтанно. Но можно достаточно точно сказать, что веб-программирование не потеряет актуальности в ближайшие 5–10 лет, поэтому можно порекомендовать PHP. Тем более, что его часто называют «Си для чайников» 🙂

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

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

Холивар на тему того, какой язык выбрать первым для обучения программистов не утихает: кто-то называет Pascal, кто-то С, кто-то Ruby или даже Haskell, и каждая сторона приводит свои аргументы. Правда в том, что язык - это лишь инструмент, который профессионал каждый раз должен выбирать сообразно задачам проекта. Понимание алгоритмов позволит изучить любой новый язык в течение нескольких дней. Для тех, кто только делает первые шаги рекомендую воспользоваться образовательными онлайн-ресурсами типа Сodecademy , для тех, кто хочет не просто кодить, а понимать, как организовать процесс, рекомендую прочесть книгу, без преувеличений, повлиявшую на умы поколений и актуальную до сих пор - «Мифический человеко-месяц ». Выбирая вуз, стоит обратить внимание на то, насколько его программа соответствует международным стандартам (посмотрите

Евгений Фатеев , преподаватель GeekBrains, профессиональный программист, приверженец The Ruby/Rails Way

Как и в любой другой сфере, обучение программированию прежде всего основывается на личном интересе и желании учиться - это основа любого дела. Разумеется, нужна хорошая техническая база, которую логичней всего получить в вузе. Можно отметить 4 вуза, где качество обучения не оставляет сомнений: МГУ (например, факультет ВМК), МГТУ им. Баумана (ИУ-5..ИУ-8), МИФИ (Кибернетики и информационной безопасности), МИЭМ НИУ ВШЭ (Факультет компьютерных наук).

Что касается выбора языка, здесь важно учитывать несколько моментов. Во-первых, язык не должен быть слишком сложным и «тяжёлым» в отношении синтаксиса. Он должен быть востребован и реализовывать самые современные подходы в программировании. Например, Python, Ruby или JavaScript станут хорошим выбором. Относительно книг и материалов, здесь лучше начать с самого начала, то есть с Теории Информации. Есть потрясающая книга на эту тему: Бауэр Ф. Л., Гооз Г. «Информатика» в 2-х томах. Также полезно будет изучить любой учебник по Информатике. Далее - общение на форумах, чтение статей в блогах, понимание основ устройства ПК и принципов программирования. Из литературы по языку, для Ruby можно порекомендовать книгу с жирафом (Майкл Фитцджеральд «Изучаем Ruby»), для JavaScript (Дэвид Сойер Макфарланд «JavaScript. Подробное руководство»).

Подводя итог, можно составить коротко такой маршрут:

  1. Теория информации;
  2. Устройство и архитектура ПК;
  3. Выбранный язык программирования.

Наконец, необходимо постоянно помнить о том, что программирование - это способ рассказать машине о наших мечтах. Иными словами, нужно постоянно практиковаться и решать самые разные задачи из всевозможных областей на языке, который вы изучаете. Спросите себя: а как написать программу для решения квадратного уравнения, выбора случайного файла с музыкальной композицией, обратиться по сети к сервису Яндекса и узнать правильность написания слова? А затем сделайте это. Наблюдайте, исследуйте, пишите код, и всё обязательно получится! 🙂

Повысить Понизить

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

Разновидности

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

  1. Прикладные программисты занимаются в основном разработкой программного обеспечения прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т.п. К области их работы также можно отнести создание программного обеспечения для систем видео- и аудио-наблюдения‚ СКД‚ систем пожаротушения или пожарной сигнализации и т.п. Также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
  2. Системные программисты разрабатывают операционные системы, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Специалисты этой категории относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также в список задач входит обеспечение функционирования и работы созданных систем (драйвера устройств‚ загрузчики и т.д.).
  3. Web-программисты также работают с сетями, но, в большинстве случаев, с глобальными - Интернет. Они пишут программную составляющую сайтов, создают динамические веб-страницы, web-интерфейсы для работы с базами данных.

Особенности профессии

На основе анализа математических моделей и алгоритмов решения научно-технических и производственных задач программист разрабатывает программы выполнения вычислительных работ. Составляет вычислительную схему метода решения задач, переводит алгоритмы решения на формализованный машинный язык. Определяет вводимую в машину информацию, ее объем, методы контроля производимых машиной операций, форму и содержание исходных документов и результатов вычислений. Разрабатывает макеты и схемы ввода, обработки, хранения и выдачи информации, проводит камеральную проверку программ.

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

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

Плюсы и минусы профессии

Плюсы:

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

Минусы:

  • приходится часто и много объяснять одно и то же, так как то, что понятно и очевидно программисту, совсем не всегда понятно и очевидно пользователю;
  • работа в режиме аврала (иногда) в стрессовой ситуации;
  • профессия накладывает специфический отпечаток на характер, который нравится далеко не всем окружающим.

Место работы

  • IT-компании и web-студии;
  • научно-исследовательские центры;
  • организации, которые подразумевают в своей структуре штатную единицу или отделы программистов.

Важные качества

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

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

Обучение на программиста

Компьютерная Академия ШАГ - IT-образование, каким оно должно быть. С 1999 года они , дизайнеров и системных инженеров, которых нельзя заменить искусственным интеллектом. Для этого, кроме глубоких профильных знаний, учат понимать задачи, мыслить готовыми проектами и работать в команде. И делают всё, чтобы выпускников Академии ШАГ принимали на работу сразу после защиты дипломов.

На этом курсе вы можете получить профессию программиста дистанционно за 1-3 месяца. Диплом о профессиональной переподготовке установленного государством образца. Обучение в полностью дистанционном формате. Крупнейшее образовательное учреждение дополнительного проф. образования в России.

Профессия веб-разработчик с 0 до PRO. За 115 часов можно научиться создавать сайты и интернет-магазины, зарабатывать на этом 120 тысяч рублей в месяц. После прохождения обучения - гарантированное трудоустройство. Преимущества: доступ к курсу навсегда, 3 специализации на выходе, гибкий и свободный график занятий, работа с личным наставником, трудоустройство гарантировано документарно.

Вузы

Оплата труда

Программист - одна из самых востребованных и высокооплачиваемых профессий в России. Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около $1000. Штатный программист в компании среднего уровня (не IT) получает до $1500-1800, чуть больше — в организации, связанной с массовой разработкой ПО. Зарплата ведущего программиста — $2500—3000. Следующая ступень — руководитель IT-отдела. К необходимым знаниям добавляется обязательный опыт работы, владение иностранным языком, навыки управления персоналом и др., а заработок может достигать $4000. Хороший программист может стать руководителем крупного проекта по разработке ПО, и тут уровень доходов достигает $5000 и выше.

Зарплата на 29.01.2020

Россия 40000—150000 ₽

Москва 50000—180000 ₽

Ступеньки карьеры и перспективы

Хорошим стартом карьеры может стать присоединение к группе программистов при разработке какого-либо проекта. Крупные проекты часто привлекают внимание западных компаний, которые «перекупают» российских программистов. К примеру, когда-то группа наших молодых ученых разрабатывала процессор «Эльбрус» для Минобороны, а в итоге их всех перекупила корпорация Intel, и теперь наши ученые и программисты работают за рубежом, а сам проект «Эльбрус» потихоньку закрылся. Проблема «утечки мозгов» в этой профессии — одна из самых острых.

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

Знаменитые и великие программисты

  • Кнут Дональд Эрвин
  • Мацумото Юкихиро
  • Таненбаум Эндрю
  • Рэймонд Эрик Стивен
  • Фаулер Мартин
  • Хоппер Грейс
  • Столлман Ричард Мэттью
  • Кей Алан
  • Мейер Сид
  • Страуструп Бьёрн

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

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

Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочка великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости.

В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах.

Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

Аду Августу, графиню Лавлейс, принято считать почётным первым программистом (хотя, конечно, написание одной программы по современным меркам не может считаться родом занятий или профессиональной деятельностью). История сохранила её имя в названии универсального языка программирования «Ада».

Первый работающий программируемый компьютер (1941 год), первые программы для него, а также (с определёнными оговорками) первый язык программирования высокого уровня Планкалкюль создал немецкий инженер Конрад Цузе.

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

Законы Мерфи для программистов

1. Ничто не работает так, как планировалось запрограммировать.

2. Ничто не программируется так, как должно работать.

3. Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.

4. На решение проблемы уходит в три раза меньше времени, чем на обсуждение всех "за" и "против" её решения.

5. Обещанный срок сдачи - это аккуратно рассчитанная дата окончания проекта плюс шесть месяцев.

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

7. Настоящие программисты любят Windows — все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.

8. Следствие — 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.

9. В приступе злости все почему-то молотят по невинному монитору, вместо системного блока.

10. В случае голодовки настоящий программист ещё месяц сможет питаться едой, выковырянной из-под кнопок клавиатуры.

11. Настоящий программист уже как минимум поменял три залитых пивом клавиатуры.

12. Все, кто испытывает проблемы с настройкой кодировки, автоматически считаются неандертальцами.

13. Дилетантские разговоры о компьютерах вызывают резкую тошноту вплоть до приступов рвоты. Вопрос о том как поменять "обои" в Windows вызывает желание перерезать горло вопрошающему.

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

15. HTML, HTTP, FTP, SMTP, TCP/IP, RTFM и т.д. - это слова, а не аббревиатуры.

16. Словосочетание "мышка-норушка" не несёт никакого смысла.

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

18. Следствие - если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое.

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

20. Решение всех жизненных проблем находится в интернете. Надо только уметь хорошо искать.

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

22. Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирают программистов, которые презирают тех, кто их презирает.

23. Если ты понял предыдущее — то ты программист.

На этом свете 10 типов людей - те, кто понимает двоичную систему счисления, и те, кто не понимает ее.

Видео: ты ж программист

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

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

Но не стоит забывать, что именно в большом городе у вас появляется больше шансов получить качественное образование и «выбраться в люди». В России самыми знаковыми студенческими городами являются Новосибирск, Санкт-Петербург, Москва. Но это не значит, что в других крупных населенных пунктах нет хороших учебных заведений, где учат на программиста.

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

Московские вузы

Московский государственный технический университет им. Н.Э. Баумана входит в пятерку лучших университетов России по специальности программирования. Поступить в МГТУ на программиста не очень сложно, а вот отучиться и закончить для многих невозможно.

Еще один не очень популярный вуз Москвы имеет название МГИУ. Одно из основных направлений МГИУ – информатика. Здесь есть и прикладная информатика с небольшим проходным баллом, и бизнес-информатика. Университет обещает успешное трудоустройство всем отучившимся у них студентам.

Программист-стажер в среднем в России получается 35 тыс. р., специалист около 80 тыс. р., а ведущий программист 110 тыс. р.

Новосибирск

Если вы решили поступать в новосибирский вуз, присмотритесь к таким заведениями СГУПС и НГУ.

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

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

Вузы Северной Пальмиры

Выбрать учебное заведение в Санкт-Петербурге немного сложнее, чем в Новосибирске, хотя бы потому, что здесь их количество гораздо больше.

Самым престижным в плане программирования является Университет информационных технологий, механики и оптики (ИТМО). На факультете информационных технологий и программирования в этом вузе обычно очень высокие проходные баллы и высокая конкуренция. Зато специалисты ИТМО всегда востребованы на рынке труда.

Если вы не можете позволить себе и хотите поступать только на бюджетное место, то обратите внимание на СпбГУТ. Университет связи также имеет факультет, на котором изучают программирование, но конкуренция здесь ниже, чем в ИТМО. Тем более новый корпус СпбГУТ, где проходят практически все занятия, лишь усиливает желание учиться.

Читать: 8 мин.

Правда ли, что программирование - ну самая востребованная специальность в мире? Кто такие системные и прикладные программисты? Сколько лет нужно учиться на программиста? В какой вуз и колледж поступить, чтобы стать программистом?

Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает .
Юмор программистов

Программирование зародилось в XIX веке, и до середины XX века, когда случился бурный рост информационных технологий, создание программ для машины было сродни искусству. Программирование было уделом избранных. Сегодня же профессия программиста распространена и очень востребована. В 2017 году в мире насчитывалось 18.2 млн разработчиков программного обеспечения, из них 1.3 млн - в России.
Давайте посмотрим, какое будущее у профессии программиста. И что ему угрожает.

Описание профессии


Где работать

Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)

Карьерные возможности

Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.

Сами программисты оценивают длительность каждой ступени следующим образом:
Первые полгода-полтора года реального опыта вы junior
При активном обучении следующие 1-3 года работы вы middle
А программист с опытом работы 4-6 лет – это senior

Но, конечно, стоит помнить, что границы условны, и более активный и любознательный разработчик сможет освоить все навыки senior-developer за 3 года.

Кроме глубокой специализации в программировании, программисту доступно движение в смежные области внутри IT-компании – дизайн, маркетинг, аналитику, менеджмент. Программист может стать архитектором программного обеспечения, девопс-инженером, менеджером IT-проектов, если ему это интересно и у него есть нужные компетенции. Например, чтобы работать менеджером, ему потребуется коммуникабельность, инициативность, умение формировать команду и контролировать бизнес-процессы.

Оплата труда (диапазон зарплат)

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

    30 000 – 260 000 рублей
Перспективы профессии (востребованность)

Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых , обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки - это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в "джентльменский набор" при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых , IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может "насытиться" профессиональными программистами, и их зарплаты упадут.
В-третьих , есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.

Если вы хотите получать свежие статьи о профессиях , подпишитесь на нашу рассылку .