Последние годы наблюдаю множество предложений с различными курсами в данной сфере (типа Яндекс Практикум, GeekBrains, SkillBox и прочие «it с нуля для чайников») обещающих сделать из любого разработчика/тестировщика и тд.
Вопрос: неужели это действительно работает? Разве можно скачать себе курсов, добросовестно пройти их и обрести власть, которая и не снил знания и навыки, за которые кто-то готов платить деньги? Разве, если это было так просто, этим бы не занимался каждый?Если есть такие самоучки, влившиеся в сферу - опишите, пожалуйста свой опыт.
Вот уже на протяжении нескольких меясцев я занимаюсь своим хобби проектом параллельно с работой и наконец закончил его создание и решил поделиться им. Знаю что на пикабу не любят рекламу поэтому упомяну что проект о котором я рассказываю абсолютно не коммерческий и думаю еще очень долго им не будет.
Данный пост будет в формате такой небольшой истории: о том как у меня родилась идея, в чем был ее смысл, как я сделал мобильное приложение которое получало воторженные отзывы и имело уже хороший трафик, как я его потерял, и теперь возродил заново.
Бесплатный курс по Java.
Примерно пару лет назад, когда я еще заканчивал университет и думал о будущей работе, у меня возникла идея сделать обучающее мобильное приложение, которое охватит актуальный roadmap по Java бекенд-разработке – и подготовлюсь к собесу, и сделаю что-то полезное, двух зайцев одним выстрелом, так сказать.
Приложение должно было стать эдакой шпаргалкой по всему roadmap: короткие уроки, в каждом из которых без воды отражается суть того или иного класса, функции и т.д., с примерами, каждый из которых показывал бы конкретный реальный кейс применения технологии. То есть я не хотел делать утомительные лекции, или сухую документацию. Мне хотелось создать пояснения для себя с минимумом текста, но максимально отражающие суть, насколько это возможно, при этом сохраняя стилистическую грамотность и достаточность пояснений – ведь это потом будут читать люди. То есть это должны были быть скорее не лекции а уроки чтобы если чтото забыл быстро перечитать и уловить суть.
Ну вот, например — все знают, чем отличается абстрактный класс от интерфейса, это легко найти на любом сайте. Но вот полностью понять, когда использовать интерфейс, а когда абстрактный класс, чтобы в процессе разработки не возникало вопросов, – уже сложнее. Мне хотелось выписать все возможные кейсы, когда пригодится одно, а когда другое, и отразить это в коротких примерах. Чтобы потом, готовясь к собесу, не искать это долго на StackOverflow и подобных ресурсах.
Несколько месяцев я тщательно шерстил подборки вопросов на собеседования, различные форумы, чтобы разобраться во всем необходимом для интервью. В итоге получилась большая подборка из 200 уроков, покрывающая весь roadmap Java-бэкенда.
Java Backend Roadmap
И сделал я их именно такими, какими хотел: в каждом уроке – короткое объяснение, когда использовать технологию, и небольшой пример, отражающий это.
Вот, например, как я объясняю, когда а процессе разработке разработке может возникнуть необходимость создать абстрактный класс:
Пояснение когда может пригодиться абстрактный класс в Java.
А после – пример, отражающий это (приведен фрагмент, так как целиком он не вместится):
Пример когда может пригодиться абстрактный класс в Java.
Да, небольшая фишка моих туториалов – комментарии немного объемнее, чем обычно в примерах кода в интернете. Но это просто потому что я считаю, что пояснения прямо в коде помогут лучше понять материал.
Поскольку долго вникать в мобильную разработку я не хотел, решил быстро собрать приложение на FlutterFlow. Примерно за неделю справился и выложил. Выглядело оно так:
Мое обучающее приложение: Java бекенд от А до Я
Для получения первых отзывов есть два пути: либо реклама, либо бесплатно размещать ссылки на своё приложение на популярных ресурсах. Второй вариант занял бы слишком много времени, поэтому я решил инвестировать в рекламу. К счастью, результаты не заставили себя долго ждать — почти сразу пошли положительные (а часто даже восторженные) отзывы. Вот некоторые из них:
Отзывы о приложении
Рекламу мне удалось настроить довольно эффективно: стоимость скачивания в среднем была меньше двух рублей, а CTR – хорошим. В общем, было и недорого, и приятно осознавать, что делаю что-то полезное.
Но, к сожалению, счастье длилось недолго. Случился Гугл:
Печалька :(
В письме написали что-то типа "вы забанены по пунктам 8.3 и 10.3 нашего соглашения и бла-бла-бла... в общем идите н****" :). Разбаниться невозможно. Немного погрустил, конечно, но основной целью было мое обучение, так что пережил. Говорят, такая проблема возникает, если Google находит связанный с твоим аккаунтом ранее заблокированный аккаунт, но я ни разу в жизни не видел другого. Гугл есть Гугл – знаю, что он банит аккаунты пачками просто потому, что "ему что-то показалось", а что именно – не скажет. Вывод: Гугл – зло, ребята :) Что тут еще сказать не знаю.
Через пару лет захотелось снова выложить весь материал, немного его отредактировав, но уже в формате сайта, а не приложения.
Думаю много кому будет полезно, ведь бесплатный, структурированный ресурс покрывающий весь Java-бэкенд найти в интернете наверное не так просто, тем более который глубоко поясняет сложные темы типа:
"Зачем нужен Spring Framework и почему он стал настолько прорывным в 2000-х?"
"Как Spring работает внутри и какую роль играет DispatcherServlet?"
"Абстрактные классы vs Интерфейсы"
"Внутренний класс vs Статический класс"
"Уровни изоляции транзакций"
Различные паттерны проектирования
...и многое другое. Ресурс даже затрагивает DevOps и объясняет Docker – опять же, коротко, ясно и с примерами.
Еще раз подчеркну: текущий материал на сайте не будет продаваться. Если когда-нибудь и появится монетизация, она не коснется этих уроков и будет не скоро. Заглядывайте, кому интересно: CodOrbits.com. Надеюсь, поможет в подготовке.
На будующее у меня довольно много планов касемо этого проекта, хочу добавить задачи, тесты, возможно некий эмулятор real-time собеседования, хочу добавить целый раздел с разбором типичных задач по HashMap которые есть на любом интервью по Java, также раздел с алгоритмами хочу добавить и многое другое.
В сайт вложено много сил. Дизайн — кастомный. Как видите, старался сделать его современным и приятным. "Modern", как это у нас в русских деревнях говорят 😊. На написание и оформление двухсот уроков на страницах сайта тоже ушло немало времени — нейросетки с такой задачей пока адекватно спарвиться не смогут. В добавок в процессе разработки сайта открывал для себя Next.js, ведь фронтенд сайта построен именно на нём.
Буду очень благодарен за любой тёплый отзыв. Если появятся вопросы — можете смело написать мне через форму или почту на сайте.
Буду рад, если мой проект хоть немного поможет вам на пути к успеху. Желаю всем продуктивной учёбы и крутых карьерных достижений! Пока-пока 👋