JavaRush
JavaRush — український проєкт, онлайн-курс по вивченню програмування на Java. За 11 років існування ми зайняли міцну позицію на глобальному ринку. Сьогодні JavaRush — це 2 мільйони користувачів, що вивчають Java, а також більше 800 тисяч — на мультимовній версії курсу (проєкт CodeGym).
© 2005—2023 DOU.ua
Українська · English
Нас уже 659 175. Ми в соцмережах:

- Контакти
- Реклама
- Legal
Скористайтесь акаунтом
Неправильний пароль
Реєстрацію по email закрито
Скинути пароль
Ви неправильно вказали свою пошту
Для того, щоб зробити ваш профіль повноцінним, вкажіть вашу пошту.
Ми відправимо вам лист з посиланням для підтвердження.
vgco / package com.javarush.test.level10.lesson11.home06;
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| package com.javarush.test.level10.lesson11.home06; |
| /* Конструкторы класса Human |
| Напиши класс Human с 6 полями. Придумай и реализуй 10 различных конструкторов для него. Каждый конструктор должен иметь смысл. |
| */ |
| public class Solution |
| public static void main(String[] args) |
| > |
| public static class Human |
| String name; //создал 6 переменных |
| String surname; |
| Boolean sex; |
| int age; |
| boolean married; |
| int zp; |
| public Human(String name,String surname) < //создал конструктор №1 |
| this.name=name; |
| this.surname=surname; |
| > |
| public Human(String name,String surname,boolean sex) < //создал конструктор №2 |
| this.name=name; |
| this.surname=surname; |
| this.sex=sex; |
| > |
| public Human(String surname,int zp,int age) < //создал конструктор №3 |
| this.surname=surname; |
| this.zp=zp; |
| this.age=age; |
| > |
| public Human(String name,int age) < //создал конструктор №4 |
| this.name=name; |
| this.age=age; |
| > |
| public Human(String name,String surname,boolean sex,boolean married) < //создал конструктор №5 |
| this.name=name; |
| this.surname=surname; |
| this.sex=sex; |
| this.married=married; |
| > |
| public Human(String name,int age, boolean married) < ////создал конструктор №6 |
| this.name=name; |
| this.age=age; |
| this.married=married; |
| > |
| public Human(String surname,int age,int zp,boolean sex) < //создал конструктор №7 |
| this.surname=surname; |
| this.age=age; |
| this.zp=zp; |
| this.sex=sex; |
| > |
| public Human(int age,boolean sex) < //создал конструктор №8 |
| this.age=age; |
| this.sex=sex; |
| > |
| public Human(int age,int zp) < //создал конструктор №9 |
| this.age=age; |
| this.zp=zp; |
| > |
| public Human(String name,int age,int zp,boolean married,boolean sex) < //создал конструктор №10 |
| this.name=name; |
| this.age=age; |
| this.zp=zp; |
| this.married=married; |
| this.sex=sex; |
| > |
| //напишите тут ваши переменные и конструкторы |
| > |
| > |
Javarush кто создал

GitHub выпустил рекомендации по снижению риска из-за уязвимости log4j
#IT_новости
Клиентам GitHub Enterprise Server рекомендуется обновиться до новой версии Enterprise Server, которая содержит патч для устранения уязвимости CVE-2021-44228 в log4j. Новые выпуски, устраняющие эту уязвимость: 3.3.1, 3.2.6, 3.1.14 и 3.0.22.
Специалисты не обнаружили угроз, связанных с log4j, для пользователей GitHub.com и GitHub Enterprise Cloud. Для продолжения безопасного использования GitHub.com никаких действий со стороны пользователей GitHub.com или GitHub Enterprise Cloud не требуется.

Хакеры провели “сотни тысяч атак” с помощью уязвимости Log4j
#IT_новости
С момента появления уязвимости в библиотеке логирования Apache Log4j хакеры проводят около 100 атак в минуту на сервисы и приложения различных компаний.
Как сообщили в компании Check Point, за последние 72 часа, отсчет которым начался с прошлой пятницы, зафиксировано не менее 846 тысяч кибератак. Во многих случаях хакеры получали контроль над компьютерами, чтобы использовать их для добычи криптовалюты или превращения систем в ботнеты для рассылки спама или DDoS-атак.
Директор Агентства по кибербезопасности и защите инфраструктуры США Джен Истерли во время встречи с представителями IT-отрасли заявила, что уязвимость в библиотеке Log4j “является одной из самых серьезных, что она видела за всю свою карьеру, если не самой серьезной”. По ее оценкам, проблема затронет сотни миллионов устройств по всему миру.

Язык Java оказался в тройке самых популярных требований у работодателей
#IT_новости
Согласно отчету Dice, в число наиболее популярных требований к кандидатам на IT-вакансии вошли языки SQL, Java и Python, а также навыки разработки под операционную систему Linux. Лидером отчета назвали Project Management (управление проектами).
Третье место в списке самых востребованных технических навыков занимает язык Java. Количество упоминаний о вакансиях для Java-разработчиков увеличилось на 3% по сравнению со вторым кварталом 2021 года.
Далее в отчете Dice следует язык Python (+1%) и Linux. Несмотря на то, что показатель упоминаний Linux упал на 1% по сравнению со вторым кварталом, навыки разработки под Linux по-прежнему входят в десятку наиболее распространенных.
Наибольшую динамику роста упоминаний в IT-вакансиях показали такие технологии, как Docker Software (+31%), Microsoft Azure (+12%) и Git (+10%). Однако по общему числу вакансий они проигрывают лидерам рейтинга.

Пройди испытание быстрее других участников, используя свой ❤️ язык программирования
Регистрация и подробная информация: https://clck.ru/ZNqPB
За 5 часов тебе нужно будет разработать ряд микросервисов, реализовать авторизацию, доступ к данным исходя из роли; маскирование данных в зависимости от роли пользователя и логирование запросов. Задания распределены по уровню – от простых к сложным.
Твои микросервисы будут проверяться в реальном времени автотестами – на основе этих проверок все участники будут видеть лидерборд. Почувствуй динамику настоящего соревнования для Java-разработчиков на Javathon!
С нас – инфраструктура и подготовленный пайплайн в GitLab.
С тебя – весь багаж знаний в Java, Kafka.
• Сертификат в магазин “Технопарк” на 250 000 рублей
• Игровая консоль Sony PlayStation 5 + геймпад, автономный шлем виртуальной реальности Oculus Quest 2 и другая техника победителям и призерам
• Предложения о работе (в офисе или на удаленке)
• Мерч соревнования limited edition
• Промокод на ланчи
• Возможность проверить свои силы
Регистрируйся прямо сейчас https://clck.ru/ZNqPB

Spring Framework обновили до версии 6.0 M1
#IT_новости
Команда Spring сообщила о выходе первого промежуточного выпуска Spring Framework 6.0. Релиз Spring Framework 6.0 M1 с базовыми обновлениями уже доступен для загрузки.
Промежуточная версия фреймворка обновлена в соответствии с требованиями JDK 17+ и API Jakarta EE 9. Также из релиза удалили многие устаревшие классы, включая несколько пакетов поддержки для сторонней инфраструктуры.
Следующий релиз под кодовым названием 6.0 M2 вместе с выпуском Spring Boot 3.0 M1 готовится к выходу уже в январе.

#Видеоуикенд 107
▪️Писать код быстро и просто с IntelliJ IDEA
▪️Все, что вы боялись спросить о Security Engineer?
▪️Обзор Java backend стека (Git, SQL, Spring, Hibernate и др.)
▪️Spring Framework для начинающих. Bean Scopes. ID и Alias
2.3K views edited 10:01

#что_почитать
Обучение и Java-практика:
1. Выпускник JavaRush Роман рассказывает, что такое Mapstruct и как правильно настроить его для модульного тестирования в SpringBoot приложениях.
2. Мы перевели полезную заметку о том, почему строки (Strings) неизменяемы в Java.
3. Также пересказываем статью об интерфейсах в Java и множественном наследовании.
4. Студент JavaRush Иван рассказывает о первом опыте работы с Jackson’ом.
Карьера разработчика:
1. Системный инженер Роман делится опытом своего релокейта в Германию.
2. На ТПрогере читаем, какие языки программирования будут популярны в 2022 (на основе самых популярных рейтингов).
3. На dev.by рассказывают, как Java-разработчику расти в профессии.
4. А на Хабре объясняют, что такое хорошие и плохие практики код-ревью с учётом человеческих особенностей.

Онлайн-стажировка JavaRush: старт зимнего набора
Как начать новый 2022 год полезно и интересно? Начните его со стажировки!
Набор на стажировку открыт с 20 декабря 2021 года до 25 января 2022, а занятия начнутся 27 января.
Не упустите уникальную возможность получить опыт в работе с такими технологиями:
▪️Spring,
▪️Spring MVC,
▪️Spring Security,
▪️Hibernate,
▪️JPA,
▪️JSP,
▪️JSTL,
▪️ORM,
▪️REST,
▪️Bootstrap,
▪️AJAX,
▪️jQuery,
▪️Git,
▪️Junit.
Стажировка на JavaRush — это шанс освоить технологии, которые часто встречаются в вакансиях на позицию Java Junior, и создать серьезный проект для своего портфолио.
Эти 12 недель станут полным погружением в программистскую среду и дадут больше, чем годы теоретического обучения.
2.2K views edited 10:47

Apache выпустила третий патч против уязвимости в библиотеке Log4j
#IT_новости
Предыдущие два апдейта так и не смогли обеспечить полную защиту от уязвимости Log4Shell. Это уже третье обновление библиотеки после обнаружения проблемы.
По информации Apache, предыдущая версия Log4j 2.16 “не всегда защищает от бесконечной рекурсии при оценке риска”. О проблемах с релизом 2.16.0 специалисты сообщили ещё в пятницу, указывая на возможность организации DDoS-атаки с ее помощью.
Многие крупные компании, включая IBM, Cisco и VMware, уже ликвидировали потенциальные уязвимости Log4Shell в своих продуктах.

#задача
На столе сидел кот, а прямо под ним, на полу, стояла черепашка. Расстояние от кончиков ушей кота до верхушки панциря черепахи составляло 170 см.
Но потом пришел хозяин и поменял своих питомцев местами. Теперь расстояние от ушей кота до верхушки панциря — 130 см.
Какой высоты этот стол?

Представили предварительную версию нового языка программирования Zig
#IT_новости
Сообщество разработчиков Zig Software Foundation выпустило промежуточный релиз нового языка программирования Zig. Это язык программирования общего назначения с набором инструментов для поддержки программного обеспечения.
Создатели языка Zig позиционируют его как простую альтернативу языкам C, C ++ и Rust. По их словам, Zig имеет несколько преимуществ по сравнению с ними: в нем нет скрытого потока управления, нет выделения скрытой памяти, препроцессора и макросов. Кроме того, Zig допускает вызов любой функции во время компиляции.
2.3K views edited 15:01

Опубликовали список программ, уязвимых из-за бага в Log4j
#IT_новости
Intel представила список программных продуктов, подверженных взлому из-за уязвимости в библиотеке Log4j. Из них девять приложений используют Java:
• Intel Audio Development Kit;
• Intel Datacenter Manager;
• oneAPI sample browser plugin for Eclipse;
• Intel System Debugger;
• Intel Secure Device Onboard (GitHub);
• Intel Genomics Kernel Library;
• Intel System Studio;
• Computer Vision Annotation Tool maintained by Intel;
• Intel Sensor Solution Firmware Development Kit.
Производитель видеокарт NVIDIA в своем отчете сообщил, что приложения и сервисы Nvidia постоянно обновляются, поэтому выявить уязвимость намного сложнее. Однако компания перечислила четыре продукта, в которых вероятность встретить Log4J высока, особенно если используются устаревшие драйверы:
• CUDA Toolkit Visual Profiler and Nsight Eclipse Edition;
• DGX Systems;
• NetQ;
• vGPU Software License Server.
Производитель процессоров AMD, наоборот, по результатам проведенного расследования не обнаружил ни одной платформы, затронутой багом.

Samsung откажется от Android в пользу Fuchsia OS
#IT_новости
Сразу два источника в Южной Корее подтвердили, что компания Samsung готовится заменить Android на Fuchsia OS. Вероятно, процесс замены займет несколько лет. По данным Phone Area, информация о планируемой замене систем поступила из отдела исследований и разработок Samsung.
Fuchsia OS — система с открытым кодом, которую Google разрабатывает с 2016 года. Fuchsia OS ориентирована на широкий круг устройств и, в отличие от Android, более простая в обновлении.

AWS откажется от COBOL в пользу Java
#IT_новости
Компания AWS запустила программу модернизации мэйнфреймов AWS Mainframe Modernization. Она предполагает перенос мэйнфреймов в облако и преобразование устаревших приложений, написанных на COBOL, в современные облачные сервисы на основе Java.
Модернизация мэйнфреймов улучшит непрерывный конвейер миграции, который включает инструменты разработки, тестирования и развертывания, необходимые для автоматизации процесса.
Спустя более 50 лет после появления первого мэйнфрейма IBM System / 360, эта технология по-прежнему широко используются в банковском деле, страховании и розничной торговле благодаря способности эффективно обрабатывать огромные объемы транзакций, высокой безопасности и времени безотказной работы. Значительная часть мэйнфреймов написаны на COBOL.

#Видеоуикенд 108
▪️Про мотивацию к учебе, как не бросить. Нужно ли программисту знать все?
▪️Все о код-стайл в Java. Код-ревью и разбор проекта
▪️ООП | Классы, наследование и объекты. Простым языком
▪️Иван Крылов — От 11 к 17 версии Java

#что_почитать
Обучение и Java-практика:
1. Рассказываем, как не откладывать обучение на следующий понедельник или месяц.
2. Перевели статью о том, почему Set может содержать повторяющиеся элементы.
3. Также пересказываем материал о том, как работает паттерн Singleton.
Карьера разработчика:
1. Подводим итоги 2021 года в мире Java-разработки.
2. Читаем историю успеха студента JavaRush — как прийти из продаж в IT с помощью стрима на Twitch.
3. И еще одна история — из механиков в Java developer в 30 лет.
4. И напоследок напоминаем, что у нас идет набор на стажировку. Все условия можно почитать вот тут.
2.5K views edited 09:59

Java включили в пятерку самых простых в изучении языков программирования
#IT_новости
Американский сервис Springboard составил рейтинг из пяти самых простых и пяти самых сложных языков программирования. Наиболее простым для изучения признан HTML, также в пятерку вошли: JavaScript, C, Python и Java.
В Топ-5 самых сложных для изучения языков программирования вошли: C ++, Prolog, LISP, Haskell и Malbolge. Почти каждый из них имеет сложную компиляцию, малопонятные для новичков нотации и синтаксис.
Какие преимущества Java выделяют:
✅ Интуитивно понятный синтаксис, краткий и удобный для новичков.
✅ Это структурированный язык, в котором мало места для отклонений.
✅ При наличии опыта в объектно-ориентированном программировании учить его еще проще.

#задача
Маленькая предновогодняя задачка, чтобы еще хватило времени резать салатики
Нужно заполнить пробелы так, чтобы уравнение стало верным:
10 9 8 7 6 5 4 3 2 1 0 = 2022
Можно использовать символы +, -, x, ÷ и любое количество скобок. То есть в результате должно получиться что-то вроде этот: 10 x 9 + (8 – 6) x 5 x 4 – ((3 x 2) + 1)). Но не конкретно этот пример, потому что он не равняется 2022, конечно. Удачи!

Крупнейшая IT-компания Украины наняла 1700 Junior-разработчиков за 2021 год
#IT_новости
В 2021 году украинские IT-компании увеличили темпы найма разработчиков, в том числе среди специалистов начального уровня. Это показало исследование DOU.ua.
EPAM, крупнейшая IT-компания Украины, штат который состоит из более 13,5 тысяч сотрудников, в 2021 году приняла на работу свыше 5500 специалистов. Из них 3800 — уровня Middle и выше, а также 1700 джуниоров. Соотношение нанятых: 30% — Junior; 40% — Middle; 30% — Senior и выше.
Компания SoftServe, вторая по численности сотрудников IT-компания Украины, отчиталась о трудоустройстве в 2021 году 4611 сотрудников, из которых 15,5% составили джуниоры.
Среди крупных IT-работодателей больше всего начинающих разработчиков (в процентном соотношении) наняли в GlobalLogic. Из 1656 новых сотрудников 40,5% — джуниор-разработчики.

Java заняла 4-е место в рейтинге самых востребованных технавыков в США
#IT_новости
Издание Dice Insights опубликовало список языков программирования, технологий и IT-навыков, которые пользовались наибольшим спросом среди американских работодателей в 2021 году.
Самым популярным запросом в объявлениях работодателей в США оказался Project Management. На втором месте — язык программирования SQL. Далее следуют Software Development и язык Java. Пятое место рейтинга замыкает Python.
В десятку наиболее востребованных навыков, технологий и языков также вошли: Software Engineering, JavaScript, Linux, Scrum и Technical Support.
Первое интервью с создателем JavaRush


18 октября проект JavaRush отмечал день рождения. Именно в этот день 9 лет назад состоялся первый релиз легендарного обучающего сервиса. Его создатель, Дмитрий Вежнин, рассказывает о том, как это было. Еще в самом начале основатель нашего проекта сформулировал миссию JavaRush так: “переучить миллион человек на Java-разработчиков”. Сделать изучение Java реальным для каждого при наличии двух вещей: желания учиться и компьютера с подключением к интернету. За девять лет количество студентов JavaRush почти достигло двух миллионов человек. Помимо обучения, ресурс стал площадкой для крупнейшего Java-сообщества в Рунете, а с некоторых пор — далеко за его пределами. Сейчас на сервисах JavaRush можно учиться на русском, украинском, английском, немецком, польском, французском и китайском языках. О миссии и эволюции нашего проекта мы поговорили с его идеологом и основателем Дмитрием Вежниным. А заодно и о том, как онлайн-обучение меняет мир, и почему бум рынка IT не остановить.
О том, как школьное увлечение переросло в профессию
Я отношусь к той редкой категории людей, которые работают по профессии. Вся моя жизнь так или иначе связана с программированием, которым я заинтересовался еще в 13 лет будучи школьником. У меня был шикарный учитель информатики — Юрий Александрович. Именно он привил мне, а также еще сотням учеников, любовь к программированию. Мне очень нравится одна фраза. “Ученик — это не сосуд, который нужно наполнить: это факел, который нужно зажечь”. Не нужно запихивать в ученика знания: сделайте так, чтобы он сам этого захотел! Согласен с ней на 200%. В восьмом классе я поехал на свою первую школьную олимпиаду по информатике, потом был 9 класс с первым местом на области и 10-11 классы, когда я занимал призовые места на всеукраинских олимпиадах. После школы я поступил в Донецкий Национальный Университет на математический факультет, учился и параллельно ездил на студенческие олимпиады по информатике. Мой личный топ — первое место в Украине на олимпиаде летом после третьего курса и поездка на полуфинал олимпиады в Румынию. На последних курсах я перевелся в Киевский университет Шевченко на факультет “Кибернетика” и закончил там магистратуру. В тот же период впервые устроился работать программистом на полный день. Это была моя первая работа — С++ программист. Тогда же я стал разочаровываться в олимпиадах. Поймите меня, я был в них очень хорош много лет. У меня дома были книги MIT по Computer Science. Все, что касается теории алгоритмов, мне очень нравилось и очень легко давалось. Но для работы программистом это оказалось совершенно ненужным. По стечению обстоятельств, когда я оканчивал вуз, знакомые набирали Java-разработчиков в другую IT-компанию. Тогда джавистов было мало и многих в этот язык перетягивали из С++, так что я перешел в Java, с которым и работал лет до 30. За почти 10 лет работы программистом я сменил 5 компаний и успел серьезно освоить C# и Frontend. Ну а от синтаксиса PL/SQL до сих пор подгорает. Думаю, знающие люди меня поймут.
Об идеальном курсе и работе по 100 часов в неделю
Мне нравится делать три вещи: программировать, учить людей и писать статьи. К тридцати годам (как я уже сказал выше) я успел поработать в нескольких крупных аутсорсинговых компаниях. Тогда у меня было большое желание понять, как устроена IT-индустрия: какие навыки и знания технологий нужны для работы в ней, а какие наоборот — без надобности. Это было поразительно. С одной стороны, есть аутсорсинговые компании, которые гребут чуть ли не всех, занимаются обучением сотрудников и платят высокие зарплаты. А с другой — куча умных людей, которые получают в 10 раз меньше, и их главное отличие просто в том, что они не работатют в IТ. Все началось с моей младшей сестры, которую я уговорил переучиться на Java-разработчика. Сначала ее обучение продвигалось медленно, но после того, как она сожгла мосты — бросила текущую работу и серьезно занялась обучением — все пошло значительно быстрее. А через полтора года после начала учебы она уже работала Java-разработчиком с зарплатой в 5 раз выше, чем до начала обучения. Поэтому я и утверждаю, что работать в ИТ — это круто. И перспективно. Муж сестры посмотрел на то, что вокруг происходит, и тоже ушел в Java-разработчики. Тоже с хорошим результатом. Потом я учил пару групп по 2-3 человека сразу. Это все продолжалось лет 5. Даже мою девушку, весьма далекую от IТ, не минула чаша сия: ей тоже пришлось работать Java-программистом 🙂 Тогда же я очень сильно разачаровался в вузовском образовании. Я сам учился в двух вузах и могу с уверенностью сказать, что в обоих не было ничего полезного для работы. А ведь у меня красный диплом факультета Кибернетики КНУ и куча олимпиадных дипломов. Кроме того, я переучивал на программистов людей, которые сами учились в разных вузах и везде видел одну и ту же картину: люди, проучившиеся по 5-6 лет на технических специальностях, вообще ничего не знают об IТ. И всего 3-6 месяцев нужно было, чтобы дать человеку навыки, которые помогали ему получить хорошую работу. По этому поводу я написал на “Хабр” статью о мифах о высшем образовании, где жестко критиковал современные вузы. Статью растащили на цитаты, что привело к написанию еще одной статьи, но на этот раз о моем опыте обучения людей программированию. Вторая статья имела оглушительный успех. Мне в личку написало несколько десятков человек с просьбой: они хотели учиться у меня онлайн и спрашивали, сколько это будет стоить. Я понятия не имел, что им ответить: друзей я переучивал на программистов бесплатно и вести онлайн-уроки не собирался. Даже за деньги. И тут есть важный момент. Все 5 лет, которые я переучивал моих друзей и знакомых на программистов, я искал в интернете сайт, который помог бы людям оттачивать их практические навыки. Уже были хорошие книги, но не хватало учебников и практических задач. Еще один важный момент: за несколько лет до этих событий я стал читать книги по бизнесу и маркетингу. И там всегда доносилась одна простая мысль: чтобы создать бизнес, найдите платежеспособный спрос. Если люди чего-то хотят — это половина успеха. Надо, чтобы они были готовы заплатить за это деньги. Вот когда мне начали писать незнакомые люди с запросом об учебе, я понял, что есть некий массовый нереализованный спрос на учебу онлайн. К тому времени в голове у меня сформировалось представление об идеальном обучающем курсе по программированию: с лекциями и задачами, которые можно автоматически проверять. Ведь тогда проверка задач выглядела совсем иначе: человек писал решение, файлы упаковал в zip-архив, отправлял по почте преподавателю, через неделю преподаватель присылал ему ответ. Это было долго и нудно, ведь процесс можно было автоматизировать. В итоге… Я решил сам создать курс с таким форматом обучения! Статью на “Хабре” я написал 1 августа 2012 года, а уже 15 августа сообщил на работе об увольнении и о планах работать над своим собственным проектом. Хотя пришлось отработать еще месяц, так как мое увольнение было для всех достаточно неожиданным. Наконец, 15 сентября я официально уволился и начал заниматься JavaRush. Я поставил себе такую цель: написать лекции, создать задачи с автоматической проверкой, все это объединить и запустить. Так как учебный материал я уже рассказывал людям на протяжении нескольких лет, смог в течение пяти недель создать первую версию курса, которую зарелизил 18 октября 2012 года. От начала работы над проектом до его первого релиза прошло всего 5 недель. За это время я написал 10 уровней лекций (120 листов в ворде), 8 уровней задач, фронтенд, бекенд и систему автоматической проверки задач. 18 октября был официальный релиз 🙂 Все это получилось сделать так быстро, потому что я работал 100 часов в неделю: с 6 утра до 22:00 вечера, 6 дней в неделю. Так работать можно, только если очень хочется увидеть результат. Охота пуще неволи 🙂 Ближе к новому году я выпустил второй релиз JavaRush. К 25 декабря было готово 20 уровней лекций, 12 уровней задач, а так же плагин к Intellij IDEA, через который можно было получать и сдавать задачи. Для меня важна была концепция упрощения процессов: пользователь должен делать минимальное количество лишней работы при обучении. В итоге у меня получилось сделать так, что пользователь смог одним кликом сдать задачу на проверку и в течение одной секунды получить ответ. Вместо ответа через неделю я получил ответ в течение одной секунды. Это была революция.
О тайной связи World of Warcraft, StarCraft и JavaRush
Изначально миссия JavaRush звучала так: переучить на Java-программистов миллион человек. Я заметил, что множество умных людей, окончив вузы, работают на низкооплачиваемых работах, хотя рядом есть IT-сфера, где и зарплата высокая, и перспективы есть. Значит, получается, что с одной стороны есть много способных людей, с другой — куча IT-компаний, куда эти люди могут устроиться. Нужно просто помочь этим людям преодолеть разрыв между уровнем обучения в вузах и потребностями рынка труда. Но как их переучить? С моей точки зрения умение программировать — это практический навык. Например, как умение водить машину. Я считаю, человеку нужно получить тысячу часов практики программирования. Если исходить из того, что в году две тысячи рабочих часов, тысяча часов — это полгода при 40-часовой рабочей неделе. Тогда я столкнулся со следующей проблемой: как сделать так, чтобы человек, сидя дома, занимался? Как сделать так, чтобы человек, сидя дома в одиночестве, наработал эту тысячу часов практического опыта? В 2012 году набирали популярность онлайн-игры. С одной стороны, учиться человека не загонишь, с другой стороны, он может по 10-12 часов в сутки сидеть за онлайн-играми. Я видел, как люди часами делают однотипные действия, убивая монстров, и хотел, чтобы они использовали этот подход в учебе. Я даже специально установил себе WoW, чтобы понять, как там все работает. На много меня не хватило, но концепцию набора опыта, уровней персонажа и уровней задач я подсмотрел именно там. Также мне понравилась идея об элементе брони, который у тебя есть, но использовать его можно только когда твой уровень будет достаточным для этого. В JavaRush есть аналогия: нельзя решать любую задачу и прочитать любую лекцию, ваш персонаж должен дорасти до нее. Кроме того, у JavaRush есть еще связь и со StarCraft, и эта связь насколько сильная, что сам JavaRush был назван в ее честь. Думаю, вы уже догадались — это ZergRush! 🙂 В StarCraft можно строить крутые дорогие юниты, а можно достигать победы, быстро строя самые простые и дешевые. Вот и мне хотелось переучивать людей на программистов быстро и дешево. Ровно тот необходимый минимум, чтобы человек мог найти работу в ІТ-индустрии. Десять лет назад обучение программированию было в основном в виде обычных курсов, что приводило к высокой себестоимости обучения. Если программисты хорошо зарабатывают, и вы попросите такого программиста стать преподавателем, то он захочет получать сопоставимую зарплату. Поэтому на очных курсах мы имеем ситуацию, когда обучение хорошее и дорогое, или недорогое и некачественное. И JavaRush хотел решить эту проблему именно с точки зрения бизнеса: сделать себестоимость обучения очень низкой, а качество — высоким. Поэтому из уравнения был исключен самый дорогой элемент — преподаватель. Все обучение было полностью автоматизировано, и мы смогли продавать нашу услугу за $30/месяц. Добавление хорошего преподавателя сразу делает обучение на порядок дороже.
О трансформации проекта за 9 лет
Во-первых, за 9 лет сильно изменился я. Когда я начинал создавать JavaRush, то по типу своего мышления я был программистом. Лишь через 5 лет я стал мыслить как предприниматель и начал думать категориями найма людей, бизнес-процессами внутри компании. Во-вторых, изменилась и сама компания: стало значительно больше людей в команде. Первые люди присоединились ко мне в 2013 году. Когда я загорелся идеей JavaRush, начал завлекать друзей с тогдашней работы. Мне не удалось ни одного из них уговорить. С тех пор я не боюсь делиться идеями. Если мои лучшие друзья не поверили в мою идею, то какой шанс, что ее украдут? Зато мне удалось уговорить мою сестру, а также мою девушку — на тот момент она занималась маркетингом в соцсетях. Еще через полгода присоединился Леша Еленевич (сейчас он директор по маркетингу — ред.). Активно команда начала разрастаться буквально 2-3 года назад. Сегодня в JavaRush работает около 50 человек. Последние годы мы делаем упор на выстраивании бизнес-процессов: занимаемся поддержкой, улучшаем продукт. Это важно для роста компании. Понемногу он становится тем идеальным обучающим курсом, о котором я мечтал. Наша нынешняя стратегия развития такова: мы делаем упор не на увеличение количества контента (например, еще больше лекций или задач), а на улучшение того, что есть. Если у нас будет в три раза больше лекций, они от этого интересней не станут. Зато мы пробуем персональный подход к обучению: мы предлагаем разные сценарии обучения — для кого-то более сухой и академический, для кого-то — наполненный игровыми элементами. Это дает нашему курсу большую гибкость — каждый может выбрать то, что ему необходимо. Мы также создали CodeGym, мультиязычный проект обучению языку Java. В основном ориентировались на рынок США. На нем зарегистрированы уже 640 тысяч пользователей из десятков стран, в большинстве — студенты из Штатов, Польши, Германии и Китая.
О перспективах онлайн-обучения
Я уверен, что со временем 90% образования перейдет в интернет, так как это очень удобно. У офлайн и онлайн обучения — разные сильные стороны. В офлайн-образовании можно пообщаться с преподавателем один на один, уточнить непонятные моменты, получить больше внимания, попросить сразу проверить задания. Из офлайн-обучения уже выжали максимум. Оно занимает около 15 лет нашей жизни, в нем уже стандартизировано все: программы детских садиков и школ, учебники, дипломы, привязанные к уровню образования, олимпиады. Сильная сторона онлайна — это автоматизация. Ни один школьный учитель не даст в течение секунды обратную связь по решаемой задаче. На JavaRush можно в три часа ночи спросить что-то на форуме и получить ответ. При онлайн-обучении можно заниматься в комфортном режиме, не подстраиваясь под остальных членов группы. Для учебы можно выбрать любое время дня или ночи, любое время года — не надо ждать 1 сентября. Можно учиться с любой скоростью.
О том, почему программисты не останутся без работы
Начну с шутки. Программисты занимаются тем, что автоматизируют работу других людей. Последняя профессия, которая исчезнет, — это программист, ведь все больше различных профессий будут заменять сервисы. 20-й век был веком индустриализации, тогда было выгодно быть инженером. Лидирующими отраслями были автомобилестроение и электроника. 21-й век называют информационным, и все вертится вокруг информации и контента. Сейчас перспективно быть software-инженером. 5 крупнейших компаний мира, стоящие больше триллиона долларов, — это IТ-компании: Apple, Google, Microsoft, Amazon, Facebook. Facebook был основан студентом, программистом-самоучкой, а сейчас он стоит тысячу миллиардов долларов. Хорошо быть IТ-шником в IТ-веке. Как-то так 🙂 Важная мировая тенденция — это удаленная работа. Пандемия сломала культурные барьеры у людей в голове. До пандемии компании предпочитали, чтобы сотрудники сидели в офисе, потому что так эффективнее. И крупным компаниям пришлось перестраиваться к тому, что сотрудники работают дома. К тому же, пандемия продлилась достаточно долго, чтобы удаленные процессы работы устаканились и люди к ним привыкли. В тех же компаниях США еще до пандемии могли работать удаленные сотрудники из Украины, например, с зарплатой в 5 тысяч долларов, и сотрудники в Калифорнии с зарплатой в 20 тысяч долларов. Когда после старта пандемии все пошли на удаленку, американский менеджмент задумался: вот у нас есть удаленные сотрудники, которым мы платим разные зарплаты. Зачем платить больше? Поэтому им стало невыгодно нанимать сотрудников в США, если можно нанять специалиста за меньшие деньги в другой стране. И Восточная Европа (Украина, Россия, Беларусь) как раз и являются этими “другими странами”. В Украине был пик роста в 2008 году, когда был мировой финансовый кризис. В США начали активно резать бюджеты, увольнять людей, в Украине напротив — был бум найма. То есть просто западные компании увольняли дорогих программистов и нанимали таких же квалифицированных людей у нас. Сейчас ожидается очередная волна найма. Если вы живете не в самых дорогих городах мира, ожидайте, что вам будет поступать больше заказов. Это ли не стимул взяться за Java, не дожидаясь понедельника, первого числа месяца или нового года?