+7 (905) 26 393 16

Усик Павел, репетитор

программирование, информатика, IT (г. Санкт-Петербург)



Обучение/переподготовка на разработчика C#/Java

Я помогаю освоить профессию разработчика C# и Java с нуля. У меня есть успешный опыт переобучения людей из других профессий. Они прошли стажировки и стали разработчиками в Veeam, EPAM, Intermedia, Сбертех, Иннотех и др.

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

Я стараюсь не просто дать набор тем, а научить работать и думать как разработчик. Поэтому мы решаем много задач, на которых изучаем все, что обычно требуется в повседневной работе - алгоритмы, паттерны, технологии/фреймворки, а также инструменты разработки и отладки такие, как отладчик, git, СУБД, терминал, Postman и пр. Кроме этого, мы учимся правильно искать информацию, читать и фильтровать прочитанное. Также я иногда добавляю немного истории и философии, чтобы дать чуть более широкий взгляд на изучаемые технологии/алгоритмы и показать их место в общей IT-картине.

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

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

В конце обучения я помогаю составить и проработать список вопросов и задач к собеседованиям на базе данных из вакансий и собственного списка, который периодически обновляю (некоторые вопросы по C#, по Java).

Вам следует быть готовым к долгой самостоятельной работе: работать придется много и долго! Мой опыт показывает, что вам потребуется 1.5-2 года подготовки по 4-8 часов в день для того, чтобы успешно пройти первое собеседование и уверенно себя чувствовать на первом рабочем месте.

Занятия строго индивидуальные и преимущественно очные, у меня дома (от м. Академическая 2 минуты пешком), онлайн в случае болезни или иных проблем. Стоимость 3000р./60 минут.


К чему готовиться? Небольшое интервью

В марте 2022 года на волне паники и настроений "не податься ли в IT?" мой друг Макс обратился ко мне с вопросом "с чего начать?".

Про выбор языка

Макс: ну, тогда хотя бы с чего начать? Пособие для чайникофф или какой язык все-таки: питон или удав))
Макс: В институте был алгол и фортран! круть!

Павел Усик: 1. Я бы советовал C#. Ставишь Visual Studio 2022 Community Edition и погнали. :)
2. Язык Питон поначалу будет сильно похож на фортран (не считая отступы). Питон как учебный многие рекомендуют, но на работе удобнее не питон :)
3. Все языки сейчас похожи между собой. Инструменты (библиотеки, фреймворки), написанные на этих языках, тоже друг друга во многом копируют. В этом смысле соскочить с любого языка на любой другой в последствии можно.
4. Но в чем преимущество C#: 1) более строгий, позволяет делать меньше ошибок на этапе написания программ, но будет требовать чуть больше внимания и понимания на первых порах, 2) редактор и отладчик Visual Studio - немаловажная часть работы, и здесь они одни из лучших или лучшие среди всех языков, 3) язык развивается чуть ли не быстрее всех существующих языков, 4) не менее быстро развивается платформа .NET, на которой он работает, 5) сообщество вокруг языка огромное, основной в язык и платформу вклад делает Microsoft, и пока его направление развития этого всего выглядят вполне себе понятно и многообещающе, 6) точно так же, как и библиотеки/фреймоврки на этом языке
5. Альтернатива C# - Java, но у нее есть небольшие языковые изъяны, которые маленькие, но при работе на Java меня очень раздражают, особенно, когда знаешь, что есть более удобный C# (именно языковые, но библиотеки-фреймворки и окружение вокруг языка развито тоже колоссально)
6. Так же активно используются языки C/C++, Rust, Python, Go, PHP, JavaScript/TypeScript, bash/cmd/powershell. Они в основном имеют нишевое применение. C# в этом плане более универсален

Макс: Спасибо, дружище! Вот такого совета человека "оттуда" я и ждал.

Павел Усик: Я еще, понимаешь, тоже с какой-то своей стороны баррикад. Я из клана любителей C++/C#. Поработал, конечно, на Basic, Pascal, Java, PHP, JavaScript, Python, но основной инструмент C#. Я его как бы и хвалю, потому что когда-то (10 лет назад) променял его на C++, т.к. офигел, как это удобно, и слежу за ним активнее, и работаю на нем каждый день. Т.е. в какой-то мере это на ощущениях от небольшого опыта на других языках. Но в то же время... фундаментальные достоинства и недостатки языков, вроде бы, не должны были никуда уйти. Ну, а плюс такая платформа (.NET) и поддержка общества

Макс: Ок

Про длительность обучения

Павел Усик: Срок переподготовки на программиста может занять 1-2 года (до трудоустройства), и потребовать 4-8 рабочих часов каждый день.

Макс: Нехило

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

Про уже переподговленных

Павел Усик: Фактически, переобучил жену Дашку с менеджера по продажам на C#. Полтора года назад устроилась работать джуном. А в этот понедельник вышла на новую работу - более денежную и более качественную в плане самой работы и людей

Макс: Молодец. Ты и жена - Дашка!

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

Макс: Хорошо. Я если начну то буду обращаться

Про процесс обучения

Павел Усик: Список тем у меня имеется.
Павел Усик: Конечно, на первом этапе с репетитором однозначно будет проще. Потом, когда наберешь какую-то критическую массу знаний/опыта, уже можно пользоваться онлайн-материалами самостоятельно. Но по некоторым вопросам, чтобы ускориться, тоже проще будет спросить живого человека.
Павел Усик: И я обычно стараюсь поддерживать именно такой стиль работы - максимум человек сам делает, а я только вводные даю, ну и сложные задачи разбираем ("сложные" не вообще, а для текущего уровня человека)

Павел Усик: Алгоритмику надо развивать, это проблема. Я использую для начала вот этот старенький школьный задачник ["Информатика 10-11. Книга 2." Шауцукова, 2004].
Павел Усик: Задачи разбиты по разделам. В основном, это циклы, одномерные массивы, двумерные, строки, немного структур, простенькая рекурсия, ну и какие-то составные из этого всего.
Павел Усик: Сами по себе задачки отличные для тренировки. Но учебник школьный, и ему не хватает некоторых более сложных задач на структуры данных и рекурсию (список, очередь, стек, словарь, множество, деревья), машина состояний, их я обычно придумываю по ходу движения из головы, либо можно загуглить на образовательных ресурсах типа курсеры - тут я не в курсе, что где дают, но наверняка где-то есть.
Павел Усик: Все задачи решать не надо. Достаточно 10-20% из каждого раздела (и, особенно, с конца, которые посложнее).
Павел Усик: Но из общей массы знаний, которые надо проработать это примерно 10-20%. Остальное будет связано с ООП, паттернами (это компоновкая кода и некоторые типичные алгоритмико-структурные задачи/подходы) и фреймворками и конкретной технической областью: Web, базы данных, окна, многопоточность и т.д.
Павел Усик: Потому и такой большой срок получается для подготовки.
Павел Усик: И для нормального понимания хорошо бы проектики свои на этом пописать - сайт свой, там, гостевуха, чатик, утилиты какие-то, игры - что угодно

Про стажировки

Павел Усик: Кроме самостоятельного обучения (по всем доступным материалам, с репетитором или без) еще бывают бесплатные стажировки в компаниях. Дашка проходила в компаниях EPAM и Veeam. Veeam, по-моему, был интереснее :) Там обычно все аспекты прорабатываются прям в настоящем рабочем контексте - собирается команда таких же студентов, и давай писать какой-нить проект. Пишут месяца 2-3, плюс у каждого личный проект. Это дает огромный опыт, а также зачастую и последующее трудоустройство. После стажировки можно и самому уже искать работу. Но надо попасть туда - надо пройти тесты и собеседования. И обучаться там может оказаться нефигово трудно, на самом деле, т.к. материала нового очень много (зависит от начальной подготовки перед стажировкой).
Павел Усик: Многие компании предоставляли стажировки, не только эти две. Надо будет смотреть, кто остался
Павел Усик: Стажировки обычно бесплатные, т.е. не оплачиваются ни одной из сторон.

Макс: Фэнки!

Про рынок вакансий

Павел Усик: Ну, а сейчас я бы посмотрел на рынок вакансий Junior Developer C# / Разработчик C#
Павел Усик: Просто чтобы оценить, есть ли вакансии, чего там дают
Павел Усик: Ну, и какие аббревиатуры требуют знать :)