Отличный курс, точнее – программа переподготовки, если вы заинтересованы просто для себя разобраться с программированием и не собираетесь сразу после искать работу. Однако если ваша цель – трудоустройство, то придется выбирать нишу и самостоятельно осваивать огромный объем материала, также попутно разбираясь с совершенно базовыми вещами, такими как GIT, SOLID и хоть какими-нибудь базовыми паттернами, поскольку в курсе они совсем не затрагиваются. Ну и ладно бы, если б они не стояли в каждой вакансии, на которые по идее должен ориентироваться выпускник. После прохождения технических собеседований и выполнения тестовых заданий на позицию младшего разработчика я вижу, насколько курс не ориентирован на реалии трудоустройства.
Начну с хорошего и вообще главного плюса программы – это предмет С/С++. Вот это то, ради чего стоит приходить на данную программу. Основы программирования рассказываются подробно и с большим количеством примеров, с непривычки может быть тяжело, но оно максимально того стоит. Дополнительный плюс – на занятиях разбираются некоторые базовые алгоритмы, которые регулярно всплывают в тестовых заданиях и технических интервью, таких как сортировки, бинарный поиск и графы. Многое из них разобрано кратко, но достаточно, чтобы дать базу и позволить дальше разбираться самостоятельно. Это один из трех предметов, который мне действительно помог в трудоустройстве и именно то, ради чего я на эту программу пришла.
Веб-дизайн: очень короткий по длительности предмет, но дали базовое представление о HTML и CSS, также очень пригодилась база с этого предмета, поскольку я специализируюсь в сторону приложений с GUI, где интерфейс пишется на близком по виду языке разметки. Предмет полезен тем, кто собирается работать с языками разметки и похожими на них, остальным – даст общее представление и не потребует слишком много времени.
Базы данных: также дает неплохое представление о базовом SQL и строении баз данных. Пригодилось, поскольку в каждом тестовом приходилось строить свою базу данных под задачи, поставленные работодателем, и умение сделать это правильно также входило в критерии оценки, да и обязательно пригодится потом вне зависимости от того, с каким языком вы будете работать на бэкенде.
И здесь плюсы кончаются.
VBA, т.е. программирование в Office: считаю главным атавизмом программы. Зачем? Что там было такого, что нельзя было объяснить на курсе Qt? Был бы и был, но он отнимает слишком много времени курса, которое можно было бы отдать на те же базы данных или ввести основы работы с GIT, без наличия которого в резюме HR’ы даже не отвечают джунам на отклики. Зачем нужна была 4х-часовая лекция про изменение ленты в приложениях Офиса? Тот же git можно было хотя бы базово покрыть за нее, и пользы для выпускника курса было бы больше. Сложно воспринимать аргумент «программа короткая, поэтому там нет <название-важного-навыка>», когда в расписании стоит крупный блок VBA. Есть мое субъективное подозрение, что этот предмет так и не покрыл все ожидания некоторых людей, которым был объективно нужен.
Qt и разработка GUI для приложений на С++: в целом, хороший предмет для тех, кто собирается продолжать развиваться в разработке на С++. Крайне тяжело воспринимается из-за особенностей проведения занятий преподавателя, если б не это – то вопросов к предмету не было бы. Мне показался не очень актуален, но тем не менее – достоин изучения, но значительную часть его вам придется осваивать самостоятельно.
Отдельно хотелось бы обозначить работу с .NET, который представлен сильно сокращенно и помещен в конец программы, когда все уже готовились к экзамену или писали выпускной проект. У .NET огромные возможности, от создания веб-приложений и облачных сервисов до геймдева, а разбирался в итоге только способ как его средствами сделать интерфейс для кода на С++ или С++/CLI и как туда вставить код на этом же С++ в сыром виде. Можно было бы минимально пробежаться по средствам .NET, чтобы выпускник хотя бы имел представление, что это и какие у него есть перспективы использования.
Что касается преподавателей:
Капитанов Д.В. – прекрасный преподаватель, который ориентируется на всех студентов, а не только на тех, которые уже имеют какой-то технический бэкграунд, и объясняет материал максимально доходчиво. Мне как пожизненному гуманитарию было сложно разобраться в некоторых темах, но все вопросы всегда были отвечены, все проблемы – разобраны и решены. Пока он ведет С/С++ на этом курсе - сюда можно и нужно идти как минимум ради этого предмета и его объяснений.
Городецкий С.Ю – человек, очевидно очень любящий своё дело, очень вежливый и тактичный, но его предметы несколько раз были близки к тому, чтобы стать для меня причиной досрочного завершения курса. Лекции очень насыщенные, скорее перенасыщенные, на тебя буквально вываливают тонны документации без достаточной фильтрации по ценности для данного этапа обучения. Слайды презентаций забиты текстом и побочными темами, которые имеют место быть в той же документации, но не в первом знакомстве с темой. Много информации - это хорошо, но порой это какие-то настолько нишевые темы, которые вы если и поймете, то без нормальной регулярной практики забудете через 2 дня. Вам пытаются загрузить в голову академическое виртуозное знание программы, в отрыве от того, что действительно нужно для базового уровня работы с ней. Либо это тот же VBA, когда вы не понимаете, а зачем он вам вообще. У курса есть десятки тем, которые заслуживали бы более полного освещения или не былы освещены вообще.
Через месяц после завершения программы я нашла работу на позиции младшего разработчика, но заслуга курса в этом максимум 30%, поскольку я выбирала другой язык программирования и осваивала его самостоятельно, не говоря о дополнительных фреймворках, паттернах и архитектуре. Поэтому большинство предметов курса мне так и не пригодились. Подозреваю, что даже если бы я осталась на С++ - ситуация была бы примерно та же.
Трудоустройство после данного курса – это исключительно вопрос самообучения. Если вы знаете, на чем хотите специализироваться и готовы самостоятельно дома разбираться, что такое SOLID и Dependency Injection, для чего используется Git и почему важно применять в собственных проектах (и писать их вообще), нарешивать задачки на Leetcode или Codewars, пусть даже на самой низкой сложности, но регулярно и осознанно, и разбираться, что такое алгоритмы и какие они есть – то, скорее всего, всё у вас получится.
Однако если вы думаете, что программа даст вам базу, достаточную для трудоустройства – очень вряд ли. Вы получите неплохое понимание базового С/С++ и что-нибудь по пути, но для трудоустройства этого мало. Будущий работодатель ожидает от вас, что если у вас есть диплом о переподготовке, то вы должны знать и Git, и SOLID, и часто хотя бы несколько базовых паттернов ООП, и это далеко не всё.
Требования к джунам сейчас очень большие, и если у вас нет друга, готового к себе устроить и всему быстро научить – придется с этим всем разбираться лично. Самостоятельная работа важна при прохождении любого обучения, но здесь она должна превзойти работу, проведенную по программе, хотя бы в два раза. Пожелание курсу одно: больше ориентироваться на актуальные для трудового рынка навыки.