«программная инженерия»: обучение профессия и кем работать - StudentHelp-NN.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

«программная инженерия»: обучение профессия и кем работать

Специальность “Программная инженерия” (бакалавриат)

Степень: Академический бакалавр

Наиболее распространенные экзамены при поступлении:

  • Русский язык
  • Математика (профильный) – профильный предмет, по выбору вуза
  • Информатика и информационно-коммуникационные технологии (ИКТ) – по выбору вуза
  • Физика – по выбору вуза

Содержание

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

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

Условия поступления

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

  • математика (профильный),
  • русский язык,
  • информатика и ИКТ или физика.

Будущая профессия

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

Куда поступать

Освоить специальность можно в следующих учебных заведениях:

  • Национальный исследовательский университет «Высшая школа экономики»;
  • Национальный исследовательский университет «МИЭТ»;
  • Национальный исследовательский ядерный университет «МИФИ»;
  • Московский финансово-юридический университет;
  • Московская гуманитарно-техническая академия.

Срок обучения

Программа обучения длиться 4 года при условии выбора очной формы.

Дисциплины, входящие в курс обучения

Бакалавриат позволяет получить глубокие знания по таким дисциплинам:

  • алгоритмы,
  • программирование,
  • структуры данных,
  • архитектура информационных и вычислительных систем,
  • информатика,
  • тестирование ПО,
  • управление программными проектами,
  • теория информационных систем и процессов,
  • основы администрирования.

Приобретаемые навыки

По завершении обучения молодой специалист будет компетентен в следующих сферах:

  1. Научно-исследовательская деятельность, направленная на изучение программных продуктов, инструментов, методов и процессов программной инженерии.
  2. Анализ, обработка и изучение программных проектов.
  3. Конструирование программного обеспечения по техническому заданию.
  4. Адаптация средств и обслуживание продукции.
  5. Обучение пользователей и их аттестация.
  6. Установка, настройка и администрирование ПО.
  7. Профилактика и коррекция установленных программных продуктов.

Перспективы трудоустройства по профессии

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

Выпускник направления может работать:

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

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

Преимущества обучения в магистратуре

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

После окончания курса выпускник становится настоящим экспертом.

“Программная инженерия” или “Информационные системы и технологии”?

Привет, Пикабу!) Хочу попросить помощи у коллективного разума: сейчас мне нужно выбрать свою будущую специальность. Уже давно решила связать свою жизнь с IT, но мне нужно выбрать из двух направлений: “Программная инженерия” и “Информационные системы и технологии”. В чём эти специальности различаются, на кого учиться, а потом и работать интереснее? Какая более востребована у работодателей? Возможно, кто-то учился или учится на одной из них, или просто знает их специфику?

Да, знаю что нужно смотреть не на название, а на обр. программу, так как в разных ВУЗах на одной специальность могут учить совершенно разным вещам. В ВУЗе, куда собираюсь поступать про “Программную инженерию” написано следующее:

профиль – Управление разработкой программных проектов;

приобретаемые знания, навыки и умения:

“Подготовка бакалавра включает в себя дисциплины:

Информатика и программирование

Объектно-ориентированное программирование (C#, С++, Java)

Алгоритмы и структуры данных

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

Разработка и анализ требований к программному обеспечению

Проектирование и архитектура программных систем

Проектирование человеко-машинного интерфейса

Тестирование программного обеспечения

Экономика программной инженерии

Архитектура вычислительных систем

Операционные системы и сети

Интернет-технологии (HTML5, XML, Java, PHP, семантический веб)

Базы данных (MS SQL Server, Oracle, MySQL)

Корпоративные информационные системы

Основы управления IT-услугами

Администрирование в информационных системах.

Информационная безопасность и защита информации.

Математическая логика и теория алгоритмов

Теория автоматов и формальных языков”

Про «Информационные системы и технологии» – есть два профиля:

– Информационные системы и технологии

Технологии программирования (C, Java, .NET, ASP)

Объектно-ориентированное программирование (C#, Java)

Интернет-технологии (XML, Java, Perl, PHP)

Базы данных (MS SQL Server, Oracle, MySQL)

Корпоративные информационные системы.

Администрирование в информационных системах.

Интеллектуальные информационные системы.

Распределенные компьютерные системы

Разработка приложений в среде 1С

Надежность информационных систем.

Проектирование информационных систем.

Информационная безопасность и защита информации.

– Информационные системы в медиаиндустрии

Объектно-ориентированное программирование (C#, Java)

Интернет-технологии (XML, Java, Perl, PHP)

Базы данных (MS SQL Server, Oracle, MySQL)

Компьютерные средства создания и обработки анимации и видеоизображений: (двумерная и трехмерная мультипликация: Adobe Flash, Toon Boom Studio, Adobe After Effects, , 3D Max, Maya).

Информационные технологии в полиграфии (Adobe PhotoShop, Adobe Indesign, Coral Draw).

Технология изготовления рекламного продукта.

Программные технологии разработки компьютерных игр

Компьютерные технологии создания мультимедийного программного обеспечения

Технологии разработки систем электронной коммерции.

Компьютерные технологии трехмерной графики.

Компьютерные технологии нелинейного монтажа (Adobe Premier)

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

Конечно, выбор стоит передо мной, но не имея ни опыта работы с сфере IT, ни учёбы в ней же, я не могу определить, что лучше. Поэтому ещё раз повторю вопросы: возможно, кто-то знаком с этой сферой, что посоветуете выбрать, что наиболее востребовано сейчас и будет востребовано в будущем? Какая специальность подразумевает больше программирования? Где меньше винтиков-шурупов? Что кажется более интересным?

Заранее спасибо за помощь)

Дубликаты не найдены

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

выбирай что попроще – все равно потом переролливать будешь 😀

Ну так выбор в жизни же важнее выбора в игре) Хочется с пользой образование получить, учиться я люблю)

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

Ну и если судить по программе, я бы выбрал первый вариант – он подразумевает больше “фундаментальных дисциплин” и меньше всякой прикладной шелухи, для обучения которой универ нафиг не сдался

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

“Алгоритмы и структуры данных

Математическая логика и теория алгоритмов

Теория автоматов и формальных языков”

– это та база которая позволяет понять что такое программа (без этого можно писать код и радоваться жизни, но ровно до тех пор пока хватает готовых инструментов)

“Разработка и анализ требований к программному обеспечению

Тестирование программного обеспечения

Информационная безопасность и защита информации.

Проектирование и архитектура программных систем

Проектирование человеко-машинного интерфейса

Операционные системы и сети”

– просто полезные дисциплины, которые в случае, если их грамотно преподают (что в общем случае скорее всего не так) позволяют сильно сократить срок пребывания на стадии junior-developer и в разы уменьшить количество набитых шишек.

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

“Интернет-технологии (XML, Java, Perl, PHP)

Разработка приложений в среде 1С

Компьютерные средства создания и обработки анимации и видеоизображений: (двумерная и трехмерная мультипликация: Adobe Flash, Toon Boom Studio, Adobe After Effects, , 3D Max, Maya).

Информационные технологии в полиграфии (Adobe PhotoShop, Adobe Indesign, Coral Draw).

Компьютерные технологии создания мультимедийного программного обеспечения

Технологии разработки систем электронной коммерции.

Компьютерные технологии трехмерной графики.

Компьютерные технологии нелинейного монтажа (Adobe Premier)”

– это на чем в принципе можно сразу делать деньги (опять же при условии грамотного преподавания)

Но! Если дискретка и алгоритмы развиваются относительно медленно и учебники выпущенные в прошлом веке актуальности не потеряли) то все дисциплины из второй категории должен преподавать человек, который реально этим зарабатывает на жизнь. Потому что даже позапрошлогодний материал зачастую на рынке уже не котируется. + Во всех прикладных технологиях нет ничего сверхъестественного и их вполне себе можно выучить самостоятельно/с помощью коллег

Потому что даже позапрошлогодний материал зачастую на рынке уже не котируется.

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

все дисциплины из второй категории должен преподавать человек, который реально этим зарабатывает на жизнь

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

Читайте также:  «гастроэнтерология»: обучение профессия и кем работать

Все это достаточно далеко от класстических направлений для подгототовки стронг-программистов.

Но если по жизни, то главное – получить магистра на любой срециальности, близкой к CS. Причем, это справедливо как у нас, так и “там”.

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

мой вам совет – не ведитесь. спросите у выпускников этих спецух – чо да как, как с фиолософией дела (?!). Там понапишут булщита, а по факту – фиг. На моей спецухе была java например в брошюре, – ее не было; был, o_GOD, delphi.

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

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

Я бы за инженерию, там штуки всякие поприкольнее. Учиться все равно будешь не на учебе (странно звучит).

А работодателям вроде как пофиг вообще, какой диплом.

FROSTY: я понимаю, что инженер – это, конечно, тру, он здания может захватывать и всякие постройки чинить, но на 3 курсе тот еще гемор обещали.

Нормальным работодателям не пофиг. Да и по карьере расти легче будет.

А почему ИС больше котируется у работодателей? Конечно, понятно, что многое придется учить самостоятельно, но основы то тоже имеют значение.

То что написано ниже – ложь и провокация (возможно такое отношение имеет место для каких-то контор застрявших в прошлом веке, но зачем туда стремится – не понятно.)

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

И вообще, если смотреть формально на диплом, то важна не специальность, а то, что написано в графе квалификация.

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

2. больше упор на интернет технологии

3. упор на работу с медиа-контентом

1 – программирование всяких заумных сложных штук – а можно поподробнее? Пример таких штук?

2, 3 – сам профиль, как я поняла, выбирается позже, но всё-таки: интернет- технологии – это написание именно сайтов, и близкого к ним?

Если отбросить общие предметы:

1) придумай (!) (обращаю внимание, что готового решения нет нигде и ни у кого, а если и есть, то это для ребят из пункта 2) и сделай суперсложный алгоритм, который работает за О(какое-то n), в клиническом случае еще и докажи это

2) найди готовое решение и грамотно прикрути его к нашему проекту (придумывать отсебятину можно, но возбраняется, так как времени нет). вообще, постоянно нужно что-то автоматизировать.

3) нарисуй интерфейс и напиши controller (кликаешь по элементам дизайна и что-то происходит).

Правда? Это плохо( Я хочу именно создавать программы.

Если хотите программировать, ваш путь – МОАИС (Математическое обеспечение и администрирование информационных систем), полная компетенция в программировании. Вообще, если хотите программировать не цепляйтесь за слово “программный/ая/ое” в названии специальности, самое главное для вас – математические алгоритмы, цепляйтесь за слово “математический/ая/ое”, либо просто “математика”.
Немного про МОАИС, дабы избежать будущих вопросов. Обычно за 4 года изучается как минимум 3 ЯП (например: C++, C#, Lisp, или C++, Java, Python), основы разработки и администрирования БД, сетевые технологии, приложения “клиент-сервер” и “клиент – сервер приложений – сервер БД”, параллельное программирование. В целом обучение дает понимание программирования – в будущем вы будете способны за пару месяцев изучить абсолютно любой ЯП, также будете понимать принципы работы любой программы и принципы решения любых вычислительных задач.

Мне вот тоже походу грозит такая неприятность. Но я данную проблему вижу и постараюсь обойти.

Сужу с позиции java junior =)

Объектно-ориентированное программирование (C#, Java)

Интернет-технологии (XML, Java, Perl, PHP)

Базы данных (MS SQL Server, Oracle, MySQL)

Это самое главное, и присутствует во всех планах, что хорошо.

В первом плане очень много “матана”, учился два курса по похожей программе, а потом сменил направление. Чего только стоит Математическая логика и теория алгоритмов, на которой я с пересдач не слезал. Причем функциональному программированию (считаю, что если и забивать голову наукой обычному программисту, а не ученому, то лишь ради этого), на котором действительно РАЗРАБАТЫВАЮТ проекты, НЕ научат, хорошо еще если соответствующие новинки в Java 8 покажут. Сейчас я думаю, а зачем вообще в курсе эта теоретическая фигня, если даже про Haskell или Lisp ни словом не обмолвились, и теперь мне самому придется это осваивать?

В третьем плане, как я понял, учат “фотошопить”. Зачем это нужно айтишнику?

Во втором плане как раз наблюдается определенный баланс и рекомендую именно его. Спокойно изучишь все термины айтишного мира, определишься, что интересно разрабатывать и разберешься в соответствующей предметной области (в плане программной инженерии предполагается, что выбранной предметной областью является “матан”).

Математику я очень люблю) Поэтому её обилие – не проблема, лишь бы это было не в ущерб программированию.

А по какой программе вы учились?

Я учусь (все еще =( ) по программе “Прикладная математика и физика”, просто сейчас сменил факультет на более физический и благодаря этому совмещаю с работой программиста.

Математика – это не “матан”. Вообще, курс математического анализа довольно интересный и действительно расширяет школьные представления математики (когда нужно решить некоторый набор практических задач, а не доказывать теоремы), а вот в этот знаковый и собирательный термин “матан” я заложил набор тех мучительных чувств, когда нужно понять, что же имел ввиду автор, когда математическими значками описал то, что видел под веществами =) Расшифровать его абстракцию, разумеется, гениальную – нелегкий труд. ВО МНОГОМ ПОТОМУ, ЧТО В ИНТЕРНЕТЕ ПО БОЛЕЕ-МЕНЕЕ СЛОЖНОМУ МАТЕМАТИЧЕСКОМУ ВОПРОСУ НЕТ ДОСТУПНЫХ МАТЕРИАЛОВ. Это не программерские штучки, которые разжевали на каждом углу. Надо внимательно просмотреть учебные материалы соответствующих предметов и иметь талант, прежде чем подписываться на такое. Программирование – такое же собирательное понятие, но “матан” не учит программированию, а только отнимет много времени (когда работать-то?)

Компьютерные науки или программная инженерия – что выбрать?

На кого учиться: изучать компьютерные науки или постигать навык софт-инженера – вопрос очень популярный. А что вы выберете?

Очень часто можно встретить размышления на тему выбора одного из перечисленных направлений: “Какая разница между вычислительной техникой и программной инженерией?” и “Должен ли я выбрать вычислительную технику или программную инженерию, если хочу стать софт-инженером?”.

В этой статье мы попытаемся понять и проанализировать важность и необходимость обучения этим специальностям.

Быстрый осмотр пациента

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

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

Читайте также:  Как наладить отношения с женой?

Какие перспективы?

Давайте сначала сравним виды рабочих мест и стажировок, которые вы можете пройти после каждой программы.

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

  • Веб-разработчик / архитектор, The Steele Group
  • Программист, Harry Rosen Inc.
  • Мобильный / облачный разработчик, Clearbridge Associates Limited.
  • Разработка программного обеспечения, General Dynamics Canada.
  • Разработка программного обеспечения, Microsoft.
  • Agile Engineer, Pivotal Labs.
  • Бизнес-аналитик, Canadian Tire Corporation.
  • Менеджер по продуктам, Dropbox.
  • Разработчик ПО, Tagged Inc.
  • Разработчик ПО, IBM Canada
  • Менеджер продукта, Arius Software Corporation.
  • Инженер по ПО, VistaPrint USA.
  • Инженер-программист, Harris Corporation.
  • Разработчик ПО, Accenture Inc.
  • Менеджер продукта/Разработка программного обеспечения, NexJ Systems Inc.
  • Консультант, PureFacts Financial Solutions.
  • Консультант по реализации, Desire2Learn.

Как вы можете видеть, нет особой разницы между рабочими местами, которые вы можете получить.

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

Обязательные темы первого года

Теперь давайте посмотрим на курсы каждой программы. Сначала сравним некоторые курсы, которые вам нужно будет посетить в первый год.

  • CS 135 – Разработка функциональных программ.
  • CS 136 – Разработка алгоритмов и абстракция данных.
  • MATH 135 – Алгебра.
  • MATH 136 – Линейная алгебра 1.
  • MATH 137 – Исчисление 1.
  • MATH 138 – Исчисление 2.
  • Плюс несколько факультативных.
  • CS 137 – Принципы программирования.
  • CS 138 – Абстракция и реализация данных.
  • MATH 115 – Линейная алгебра для инженерии.
  • MATH 117 – Исчисление 1 для инженерии.
  • MATH 119 – Исчисление 2 для инженерии.
  • MATH 135 – Высшая математика.
  • ECE 105 – Физика электротехники 1.
  • ECE 106 – Электричество и магнетизм.
  • ECE 124 – Цифровые схемы и системы.
  • ECE 140 – Линейные цепи.
  • SE 101 – Методы разработки программного обеспечения.

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

Обязательные темы второго курса

Теперь рассмотрим предметы второго курса.

  • MATH 239 – Введение в комбинаторику.
  • STAT 230 – Теория вероятностей.
  • STAT 231 – Статистика.
  • CS 240 – Структуры данных и управление данными.
  • CS 241 – Основы последовательных программ.
  • CS 245 – Логика и вычисления.
  • CS 246 – Разработка объектно-ориентированного программного обеспечения.
  • CS 251 – Организация и дизайн компьютеров.
  • CS 341 – Алгоритмы.
  • CS 350 – Операционные системы.
  • Кроме того, некоторые факультативы по компьютерной науке.
  • CHE 102 – Химия для инженеров.
  • ECE 222 – Digital Computers (включая язык ассемблера).
  • ECE 358 – Компьютерные сети.
  • MATH 213 – Высшая математика для инженеров-программистов.
  • MATH 239 – Введение в комбинаторику.
  • STAT 206 – Статистика для разработчиков программного обеспечения.
  • MSCI 261 – Инженерная экономика: финансовый менеджмент для инженеров.
  • CS 241 – Основы последовательных программ.
  • CS 240 – Структуры данных и управление данными.
  • CS 247 – Принципы разработки программного обеспечения.
  • CS 341 – Алгоритмы.
  • CS 349 – Пользовательские интерфейсы.
  • CS 343 – Параллельное программирование.
  • CS 348 – Введение в управление базой данных.
  • SE 212 – Логика и вычисления.
  • SE 350 – Операционные системы.
  • SE 465 – Тестирование программного обеспечения и обеспечение качества.
  • SE 464 – Разработка и дизайн программного обеспечения.
  • SE 463 – Спецификация и анализ требований к программному обеспечению.
  • SE 490 – Дизайн проекта.
  • Кроме того, несколько факультативов по информатике и электротехнике.

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

Основные требования по обоим направлениям также схожи и рассматривают алгоритмы, структуры данных и операционные системы.

Рассмотрим ключевые различия:

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

И все-таки, что выбрать, чтобы быть инженером-программистом?

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

Для простоты предположим, что вы надеетесь получить одну из самых высокооплачиваемых работ (

100 000 долларов США в год) в качестве инженера-программиста в Северной Америке. Эти рабочие места обычно находятся в крупных компаниях-разработчиках программного обеспечения (например, Microsoft, Google, Amazon и т. д.). Или в компаниях среднего бизнеса с высокими темпами роста (Dropbox, Lyft, Snapchat, Pinterest и т. д.).

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

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

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

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

Несколько примечаний

  • Различные университеты имеют разные требования к данным специальностям. Эта статья должна быть хорошей отправной точкой, но вы все равно должны взглянуть на требования к программе в университете, в котором вы заинтересованы.
  • Некоторые университеты даже не имеют такого направления, как “Программная инженерия”. Например, Университет Британской Колумбии в Ванкувере может дать вам степень в вычислительной технике и компьютерной инженерии, но не в программной инженерии. Но у них есть концентрация программного обеспечения в рамках своей программы по вычислительной технике, а также в области компьютерной инженерии.

Заключение

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

Программные инженеры: IT-специалисты, которые могут всё

Студенты и преподаватели о бакалавриате «Программная инженерия» факультета компьютерных наук ВШЭ

Каждый год около двухсот студентов приходят в Высшую школу экономики учиться на программных инженеров. За четыре года в бакалавриате кто-то сходит с дистанции, но те, кто добираются до финиша, становятся универсальными IT-специалистами, которые знают всю кухню создания проектов изнутри: от написания кода и дизайна до юридических тонкостей и ГОСТов. Руководитель программы Валерий Шилов и студенты Программной инженерии рассказывают о том, как устроена подготовка специалистов, которые могут все.

От программирования, до патентного права

«Когда я поступала, я не знала, что такое программная инженерия — шла на программу с самым красивым названием и с самым высоким проходным баллом в России (в 2018 проходной балл здесь был 296)», — рассказывает бывшая студентка департамента Екатерина Береснева, которая сейчас учится там же в магистратуре и сама преподает.

Студентов, которые до конца не понимают, что скрывается за внушительным названием, на первый курс приходит немало. «Родители школьников спрашивают меня: “Что такое программная инженерия? Это программирование?”. В том числе и программирование, но программный инженер занимается далеко не только им. Он занимается всеми стадиями производства продукта», — объясняет академический руководитель программы Валерий Шилов.

Тем не менее, все начинается с программирования и изучения большого количества языков. Если не хватает основных C#, Java, C++ и Python, есть факультативы, где можно брать и другие, например, Swift или Kotlin. Знания подкрепляются опытом: со второго курса начинается практика, в том числе в крупных компаниях, и стартует проектная работа. По мере изучения материала студенты берут все этапы создания проекта в свои руки: занимаются дизайном, вопросами авторского права, контролируют соблюдение ГОСТов, готовят документацию. Иногда приходится вести официальные переговоры. Например, студент четвертого курса Александр Плесовских в качестве дипломного проекта разрабатывает приложение-пропуск, используя технологию NFC. Проблема в том, что Apple крайне неохотно дает доступ к этой технологии на своих устройствах, и сейчас студент сам от лица университета убеждает представителей компании сделать для ВШЭ исключение.

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

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

Читайте также:  Как быстро и выгодно продать дом?

Фольклор инженеров

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

«На первом курсе сложно было научиться потреблять информацию в таких объемах, — рассказывает Мария Горденко, которая продолжает учиться программной инженерии в магистратуре. — Программирование я знала очень плохо, но на факультете его преподают практически с нуля, и все можно подтянуть. Для этого, правда, нужно много работать самому, а если человек трудиться не хочет, он просто не сможет продолжать обучение. У нас на курсе были и те, кто изначально умел программировать, но я не уверена, что им в этом плане повезло: пока читают базовый курс, они расслабляются, и им потом трудно снова набрать темп».

Если недостаточно серьезно отнестись к подготовке, то есть шансы попасть в список на отчисление. «Не все выдерживают нагрузки. У нас сейчас был экзамен по программированию, из ста восьмидесяти человек сто отправились на пересдачу», — уточняет Екатерина.

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

Это не считая коллажей и стихов о страхе перед неотвратимым — экзаменами:

MSDN, C#, Подбельский,
Бессмысленный и тусклый свет.
Настигнет всех призыв апрельский.
Все будет так. Исхода нет.

Завалишь — всё начнёшь сначала,
Пока не превратишься в тлен:
Ночь, литра кофе уже мало,
Подбел, C#, MSDN.

Что получится, если все пережить

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

Наши выпускники становятся мощными руководителями проектов, которые не просто выросли из кодировщиков, а понимают все стадии развития проекта

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

«Мы пытаемся сократить этот разрыв, и отчасти нам это удалось», — уточнила Мария. В свободное от науки и преподавания время она работает аналитиком в Москва-Сити. Впервые работать в таком качестве она попробовала во время учебной практики в S7, и ей понравилось.

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

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

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

«Хотя я осталась преподавать, меня пытаются заманить в коммерческие проекты, — признается Екатерина. — И не на начальную позицию Junior, а сразу на Middle, а это сразу зарплата около двухсот тысяч рублей в месяц. После выпуска можно идти куда угодно. Можно даже на третьем курсе прийти в компанию на Junior-позицию, и тебя возьмут. И не потому, что у тебя корочка ВШЭ, а потому что к третьему курсу ты уже знаешь, как все работает, и умеешь работать сам. Главное — получить эти знания и не отлынивать от процесса».

Первый курс обучения по направлению «Программная инженерия»

Приветствую вас.
Когда я заканчивал последний год обучения в школе, точнее отрабатывал решение тестов по ЕГЭ, я уже выбрал сферу в которой хотел получить профессию. Да, это IT. Выбрал как-то само собой, вообще не мучился. Конечно же подал документы в технический университет. И вот, заполняя анкету, нужно было выставить приоритеты по направлениям. Первой в списке я и поставил программную инженерию. Осознанно. Хотя мои представления об этой специальности не были до конца полны на тот момент. Ну собственно как выбрал, так туда и попал…

Первый семестр

Естественно учеба в университете была в новинку, много впечатлений и т.д. Направление «Программная инженерия» появилась в университете впервые. По нему готовят бакалавров, т.е 4 года обучения, затем можно пойти в магистратуру. Группа собралась из 14 человек (кстати, по завершению курса осталось всего 10)

В первом семестре были достаточно стандартные дисциплины.
А именно:
– Иностранный язык (ну, тут очень стандартно)
– Математический анализ (классический предмет)
– Алгебра и геометрия (матрицы и векторы)
– Отечественная история (от начала и до новейшей за один семестр, ага)
– Информатика (консоль windows и OpenOffice)
– Физкультура (опять стандартно)
Введение в специальность
Алгоритмизация математических задач .

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

По завершении семестра сдавали экзамены по Алгебра и геометрии, Информатике и Отечественной истории.

Второй семестр

О, а вот тут уже интересно.
Итак, перечислю дисциплины:
– Безопасность жизнедеятельности (куда без нее)
– Математический анализ (опять он)
– Иностранный язык (продолжаем изучение)
– Физкультура (аналогично)
– Дискретная математика (множества, графы и Булевы функции)
Теория решения изобретательских задач
Программирование на языке высокого уровня
Основы программной инженерии

Три последних предмета представляют наибольший интерес.
Теория решения изобретательских задач – очень интересная дисциплина. Она меняет стиль мышления. Занятная концепция.
Программирование на языке высокого уровня, тут мы приступили к изучению великого и ужасного С++. Курс лекций параллельно с практическими занятиями. Ну, занятия – как занятия, за семестр 26 лабораторных работ. Некоторые темы лабораторных: Циклические вычислительные процессы, Обработка числовых последовательностей с использованием вектора, Матрицы, Массивы, Строки, Функции библиотеки для работы со строками и символами, Реализация стека и очереди, Указатели на функции, Рекурсивные функции, и другие. В общем за семестр изучили азы, достаточно так хорошо изучили.
Основы программной инженерии – вводный такой курс. Начиная от истории программирования, да разбора стандартов. Плюс еще касательно самого программирования – параллельное изучение среды BlackBox. Ну и реализация некоторых тех же лабораторных работ по Программированию на языке высокого уровня.

Экзамены сдавали следующие: Математический анализ, Дискретная математика, Основы программной инженерии и Программирование на языке высокого уровня.

Впечатления

Курс выдался интересным и главное – познавательным. Так как направление новое, может оказаться, что учебный план будет сырым, но очень радует энтузиазм преподавателей. Хотя, это конечно первый курс. Основное обучение по данному направлению будет на третьем и четвертом. Как говорится дальше — больше.

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

Ну, вот я и поведал вам об организации учебного процесса в моем университете. Кстати вот Он.

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

Ссылка на основную публикацию