Глобальный кризис
Все перечисленные выше пункты меркнут по сравнению с главным — глобальным кризисом. Почему в 2022 году IT-рынок сократился вдвое? Потому что из России ушли инвесторы. Кто владеет капиталом, тот и диктует условия. К 2025 году ситуация лишь обострилась, но уже не только на российском рынке, а в глобальном масштабе. Этот факт — главная причина кризиса в IT, а не LLM или количество кандидатов.
У бизнеса нет возможности запускать новые проекты, поэтому всё, что не приносит дохода, замораживается. Внимание переключается на те проекты, которые приносят прибыль.
Требования к кандидатам тоже изменились: теперь нужны знания в разных областях и умение решать задачи по оптимизации и поддержанию проектов.
Все перечисленные выше пункты меркнут по сравнению с главным — глобальным кризисом. Почему в 2022 году IT-рынок сократился вдвое? Потому что из России ушли инвесторы. Кто владеет капиталом, тот и диктует условия. К 2025 году ситуация лишь обострилась, но уже не только на российском рынке, а в глобальном масштабе. Этот факт — главная причина кризиса в IT, а не LLM или количество кандидатов.
У бизнеса нет возможности запускать новые проекты, поэтому всё, что не приносит дохода, замораживается. Внимание переключается на те проекты, которые приносят прибыль.
Требования к кандидатам тоже изменились: теперь нужны знания в разных областях и умение решать задачи по оптимизации и поддержанию проектов.
👍8🤔3
Итак, что делать?
1. Не фокусируйтесь на одном направлении.
Если вы ищете позицию Java-программиста, а вам предлагают задачи DevOps, соглашайтесь — сегодня DevOps — неотъемлемая часть работы программиста.
Если предлагают фронтенд, тоже стоит попробовать: это даст возможность взглянуть на разработку с другой стороны.
2. Обратите внимание на масштабирование.
Изучите кеширование, репликацию сервисов, шардинг баз данных, потоковую обработку в Kafka и согласование данных. Важно также понять, как в этих процессах участвуют DevOps-практики. Такие знания будут очень цениться на рынке.
Яркий пример оптимизации в действии — компания VK: они переписывают свои сервисы с PHP на Go.
Прокачать DevOps 👉 https://job4j.ru/courses/35
Прокачать Kafka 👉 https://job4j.ru/courses/21
1. Не фокусируйтесь на одном направлении.
Если вы ищете позицию Java-программиста, а вам предлагают задачи DevOps, соглашайтесь — сегодня DevOps — неотъемлемая часть работы программиста.
Если предлагают фронтенд, тоже стоит попробовать: это даст возможность взглянуть на разработку с другой стороны.
2. Обратите внимание на масштабирование.
Изучите кеширование, репликацию сервисов, шардинг баз данных, потоковую обработку в Kafka и согласование данных. Важно также понять, как в этих процессах участвуют DevOps-практики. Такие знания будут очень цениться на рынке.
Яркий пример оптимизации в действии — компания VK: они переписывают свои сервисы с PHP на Go.
Прокачать DevOps 👉 https://job4j.ru/courses/35
Прокачать Kafka 👉 https://job4j.ru/courses/21
🔥12👍5😁1💔1
Авторизация через GitHub
Добавил авторизацию через GitHub.
Попробуйте 👉 https://job4j.ru/login
Так же напомню про функцию
Мок-собеседований 👉 https://job4j.ru/interviews
Добавил авторизацию через GitHub.
Попробуйте 👉 https://job4j.ru/login
Так же напомню про функцию
Мок-собеседований 👉 https://job4j.ru/interviews
🔥11🏆5
Linux | Базовые команды и утилиты
Проверь свои знания о базовых командах в Linux.
👉 https://job4j.ru/exams/detail/45
Заполни пробелы в знаниях на курсе DevOps
👉 https://job4j.ru/courses/35
Проверь свои знания о базовых командах в Linux.
👉 https://job4j.ru/exams/detail/45
Заполни пробелы в знаниях на курсе DevOps
👉 https://job4j.ru/courses/35
❤5👍3
GoLang | Slice
Мы продолжаем наш проект по GoLang. Сложилось впечатление, что собеседование на Go похоже на сдачу сертификации по Java.
Благо на Java таких собеседований уже давно не проводят.
Ничего не поделаешь, придется играть по этим правилам.
У нас на платформе есть раздел Экзамены . Это по сути тесты.
Добавил экзамен по Slice 👉 https://job4j.ru/exams/detail/46
Теория по собесам в курсе 👉 https://job4j.ru/courses/38
Мок-собеседования 👉 https://job4j.ru/interviews
Находите время и пробуйте.
А так же наши другие курсы Java, SQL, Kotlin, Angular, DevOps, Kafka 👉 https://job4j.ru/courses
Мы продолжаем наш проект по GoLang. Сложилось впечатление, что собеседование на Go похоже на сдачу сертификации по Java.
Благо на Java таких собеседований уже давно не проводят.
Ничего не поделаешь, придется играть по этим правилам.
У нас на платформе есть раздел Экзамены . Это по сути тесты.
Добавил экзамен по Slice 👉 https://job4j.ru/exams/detail/46
Теория по собесам в курсе 👉 https://job4j.ru/courses/38
Мок-собеседования 👉 https://job4j.ru/interviews
Находите время и пробуйте.
А так же наши другие курсы Java, SQL, Kotlin, Angular, DevOps, Kafka 👉 https://job4j.ru/courses
👍3
Правки дизайна
Сегодня занимался правками дизайна платформы. Все же сделаем две темы: светлую и темную.
👉 https://job4j.ru/
А так же поправил описание процесса обучения:
Изначально я хотел, чтобы весь учебный процесс был похож на рабочую обстановку. Поэтому с первых уроков вы используете Git, системы статического анализа, тесты и системы непрерывного развёртывания.
С другой стороны, мне хотелось, чтобы обучение было домашним и комфортным. Поэтому мы не вводим жёстких ограничений на сдачу заданий и общее время прохождения материала — вы можете заниматься в любое удобное время.
Также мне хотелось, чтобы каждый ученик не превращался в безликое лицо. Поэтому мы стараемся помогать каждому индивидуально: проверяем каждый урок, объясняем теорию и в целом общаемся.
Наверное, вы спросите: «Как же у вас хватает времени на всех?» Действительно, на курсе, кроме меня (Пётр Арсентьев), работают ещё три ментора: Стас, Алексей и Андрей, и нас хватает на всех. Дело в том, что я убрал неэффективные и трудозатратные элементы обучения: вебинары, видеоуроки и видео-лекции. Они были в самом начале проекта, но я сразу понял, что ученики львиную долю времени тратят на пассивный просмотр видео, считая это активным обучением. Я категорически против этого. Поэтому весь учебный материал изложен текстом с иллюстрациями. Таким образом мы смогли заменить часовые видео на десятиминутное чтение, что позволяет ученикам сразу начать активно применять полученные знания, а не откладывать это на завтра после пассивного просмотра.
Ученик обращается к нам тогда, когда он выполнил свою часть учебного процесса — написал код или решил задачу, а не когда не понимает теорию и просит объяснить ещё раз. Теория без практики — пустое дело, особенно в программировании.
Такой подход дал нам возможность сфокусироваться на практических навыках учеников, что, в свою очередь, приносит свои плоды.
Подведу итог:
* Прагматический подход и много практики
* Необходимая теория для практики и собеседований
* Обратная связь от менторов — мы проверяем каждый урок
* Сдача теории ментору и подготовка к собеседованию
* Проектные работы
Если у вас есть сомнения или вопросы по поводу учебной программы или уровня, буду рад обсудить их лично в Telegram:
Пётр Арсентьев https://t.me/parsentev
Сегодня занимался правками дизайна платформы. Все же сделаем две темы: светлую и темную.
👉 https://job4j.ru/
А так же поправил описание процесса обучения:
Изначально я хотел, чтобы весь учебный процесс был похож на рабочую обстановку. Поэтому с первых уроков вы используете Git, системы статического анализа, тесты и системы непрерывного развёртывания.
С другой стороны, мне хотелось, чтобы обучение было домашним и комфортным. Поэтому мы не вводим жёстких ограничений на сдачу заданий и общее время прохождения материала — вы можете заниматься в любое удобное время.
Также мне хотелось, чтобы каждый ученик не превращался в безликое лицо. Поэтому мы стараемся помогать каждому индивидуально: проверяем каждый урок, объясняем теорию и в целом общаемся.
Наверное, вы спросите: «Как же у вас хватает времени на всех?» Действительно, на курсе, кроме меня (Пётр Арсентьев), работают ещё три ментора: Стас, Алексей и Андрей, и нас хватает на всех. Дело в том, что я убрал неэффективные и трудозатратные элементы обучения: вебинары, видеоуроки и видео-лекции. Они были в самом начале проекта, но я сразу понял, что ученики львиную долю времени тратят на пассивный просмотр видео, считая это активным обучением. Я категорически против этого. Поэтому весь учебный материал изложен текстом с иллюстрациями. Таким образом мы смогли заменить часовые видео на десятиминутное чтение, что позволяет ученикам сразу начать активно применять полученные знания, а не откладывать это на завтра после пассивного просмотра.
Ученик обращается к нам тогда, когда он выполнил свою часть учебного процесса — написал код или решил задачу, а не когда не понимает теорию и просит объяснить ещё раз. Теория без практики — пустое дело, особенно в программировании.
Такой подход дал нам возможность сфокусироваться на практических навыках учеников, что, в свою очередь, приносит свои плоды.
Подведу итог:
* Прагматический подход и много практики
* Необходимая теория для практики и собеседований
* Обратная связь от менторов — мы проверяем каждый урок
* Сдача теории ментору и подготовка к собеседованию
* Проектные работы
Если у вас есть сомнения или вопросы по поводу учебной программы или уровня, буду рад обсудить их лично в Telegram:
Пётр Арсентьев https://t.me/parsentev
Telegram
Петр Арсентьев
https://job4j.ru/ - Программируй вместе с нами
👍20❤5🔥2
Linux | Команды и утилиты | HTTP/3
Сегодня снова смотрел собеседования и обратил внимание, что на скринингах спрашивают вопросы о технологических тенденциях.
Догадываюсь, что это показывает: кандидат интересуется развитием индустрии.
Практически везде спрашивают о командах и утилитах Linux — и это понятно, потому что серверы работают на Linux. Но также часто встречаются вопросы о протоколах TCP/UDP и HTTP.
Сегодня услышал вопрос про версию HTTP/3. Оказывается, в 2020 году вышла новая версия протокола HTTP/3. Он уже работает поверх QUIC (UDP), минимизирует задержки, избавляет от TCP Head-of-Line Blocking, содержит встроенное шифрование и поддержку мобильности. Подходит для тех же сценариев, что и HTTP/2, но быстрее и надёжнее в реальных сетях.
Поэтому решил добавить уроки по этим темам:
* Навигация и работа с файлами \[#505397]
* Создание и запись текстового файла \[#505474]
* Поиск и фильтрация текстов \[#505398]
* Управление процессами в Linux \[#505399]
* Сетевая диагностика \[#505475]
* Права и владельцы файлов \[#505400]
* Мониторинг памяти и дискового пространства \[#505476]
* TCP и UDP \[#505477]
Описание курса 👉 https://job4j.ru/courses/35
Сегодня снова смотрел собеседования и обратил внимание, что на скринингах спрашивают вопросы о технологических тенденциях.
Догадываюсь, что это показывает: кандидат интересуется развитием индустрии.
Практически везде спрашивают о командах и утилитах Linux — и это понятно, потому что серверы работают на Linux. Но также часто встречаются вопросы о протоколах TCP/UDP и HTTP.
Сегодня услышал вопрос про версию HTTP/3. Оказывается, в 2020 году вышла новая версия протокола HTTP/3. Он уже работает поверх QUIC (UDP), минимизирует задержки, избавляет от TCP Head-of-Line Blocking, содержит встроенное шифрование и поддержку мобильности. Подходит для тех же сценариев, что и HTTP/2, но быстрее и надёжнее в реальных сетях.
Поэтому решил добавить уроки по этим темам:
* Навигация и работа с файлами \[#505397]
* Создание и запись текстового файла \[#505474]
* Поиск и фильтрация текстов \[#505398]
* Управление процессами в Linux \[#505399]
* Сетевая диагностика \[#505475]
* Права и владельцы файлов \[#505400]
* Мониторинг памяти и дискового пространства \[#505476]
* TCP и UDP \[#505477]
Описание курса 👉 https://job4j.ru/courses/35
❤9👍3
Стратегия успеха: xоп, хоп и в дамках
На той неделе я выложил видео о рынке IT в 2025 году. Под видео было много критики в адрес моего негативного высказывания о том, что программисты стали "продавать" себя. Я решил посмотреть проект крестного отца этого движения и увидел там интересные комментарии. Не про инфоцыганство 😁, а про убеждения людей.
Ребята искренне благодарят создателей этого проекта, что научили их дорого продавать себя. Разве это плохо? У тебя семья, ипотека и куча обязательств, а ты работаешь на 150 тр в месяц. А можешь на 550 тр или даже 1kk$.
И с этой позиции такие методы выглядят справедливыми.
Смысл стратегии — максимально быстро выйти на рынок. Для этого:
1. Составляем грамотное продающее резюме. Тут нужно указать опыт работы более 3 лет. Указать максимальное количество технологий в вашей предметной области. Их можно взять из описаний вакансий.
2. Цитирую дословно крестного отца движения — уметь вывозить базар за резюме. Для этого нужно выучить правильные ответы. По сути сводится к заучиванию шпаргалок по нужной технологии.
3. Самое важное — мощная харизма. Что самое важное для продажника? Чтобы тебе поверили. А доверяют кому? Людям, которые умеют к себе расположить. Тут подходят все возможные способы: заготовленные шутки, лесть, восхищение интервьюером, самозначимость, раздувание щек.
После этого ты выходишь на рынок, записываешь свои собеседования и корректируешь свое резюме, ответы и поведение. Вуаля, и полляму в месяц у тебя в кармане.
Что в этой схеме делают менторы крестного отца? А они как раз и занимаются рисованием резюме, наработками по вывозу базара и элементами мощной харизмы.
Сколько бы я не пытался найти достойные аргументы против такого подхода, я ничего не смог найти. Я не увидел, чем лучше просидеть 2 года и писать код учебных проектов или 2 месяца активно учиться вывозить базар и прокачивать харизму, а в итоге и тот, и тот делают одну и ту же работу.
Бесспорно, мне приятно получать сообщения от ребят, что им после моего курса комфортно работать на проекте, что они быстро растут по карьерной лестнице, и многие из них через 2-3 года становятся сеньорами и тимлидами, но может, это можно было сделать эффективнее. Уже в процессе работы закрывать свои проблемы в знаниях и опыте.
Поэтому я решил, что в курсе "Из Java в Go за 5 месяцев" нужно переделать концепцию. Во-первых, ограничиться временем в 2 месяца. То есть это должен быть скрипт, а не марафон. Во-вторых, акцентироваться на резюме и базаре о нем.
Я посмотрю на результат курса по Go и также переделаю курс по Java. Думаю, что можно будет сократить курс по Java до 6 месяцев, как он был изначально.
В целом, у кого есть сложности с резюме, легендой или мощной харизмой, буду рад помочь. Пишите в личку 👉 @parsentev.
На той неделе я выложил видео о рынке IT в 2025 году. Под видео было много критики в адрес моего негативного высказывания о том, что программисты стали "продавать" себя. Я решил посмотреть проект крестного отца этого движения и увидел там интересные комментарии. Не про инфоцыганство 😁, а про убеждения людей.
Ребята искренне благодарят создателей этого проекта, что научили их дорого продавать себя. Разве это плохо? У тебя семья, ипотека и куча обязательств, а ты работаешь на 150 тр в месяц. А можешь на 550 тр или даже 1kk$.
И с этой позиции такие методы выглядят справедливыми.
Смысл стратегии — максимально быстро выйти на рынок. Для этого:
1. Составляем грамотное продающее резюме. Тут нужно указать опыт работы более 3 лет. Указать максимальное количество технологий в вашей предметной области. Их можно взять из описаний вакансий.
2. Цитирую дословно крестного отца движения — уметь вывозить базар за резюме. Для этого нужно выучить правильные ответы. По сути сводится к заучиванию шпаргалок по нужной технологии.
3. Самое важное — мощная харизма. Что самое важное для продажника? Чтобы тебе поверили. А доверяют кому? Людям, которые умеют к себе расположить. Тут подходят все возможные способы: заготовленные шутки, лесть, восхищение интервьюером, самозначимость, раздувание щек.
После этого ты выходишь на рынок, записываешь свои собеседования и корректируешь свое резюме, ответы и поведение. Вуаля, и полляму в месяц у тебя в кармане.
Что в этой схеме делают менторы крестного отца? А они как раз и занимаются рисованием резюме, наработками по вывозу базара и элементами мощной харизмы.
Сколько бы я не пытался найти достойные аргументы против такого подхода, я ничего не смог найти. Я не увидел, чем лучше просидеть 2 года и писать код учебных проектов или 2 месяца активно учиться вывозить базар и прокачивать харизму, а в итоге и тот, и тот делают одну и ту же работу.
Бесспорно, мне приятно получать сообщения от ребят, что им после моего курса комфортно работать на проекте, что они быстро растут по карьерной лестнице, и многие из них через 2-3 года становятся сеньорами и тимлидами, но может, это можно было сделать эффективнее. Уже в процессе работы закрывать свои проблемы в знаниях и опыте.
Поэтому я решил, что в курсе "Из Java в Go за 5 месяцев" нужно переделать концепцию. Во-первых, ограничиться временем в 2 месяца. То есть это должен быть скрипт, а не марафон. Во-вторых, акцентироваться на резюме и базаре о нем.
Я посмотрю на результат курса по Go и также переделаю курс по Java. Думаю, что можно будет сократить курс по Java до 6 месяцев, как он был изначально.
В целом, у кого есть сложности с резюме, легендой или мощной харизмой, буду рад помочь. Пишите в личку 👉 @parsentev.
🔥24❤5👍2
job4j.ru - Практика. Ревью. Результат. pinned «Стратегия успеха: xоп, хоп и в дамках На той неделе я выложил видео о рынке IT в 2025 году. Под видео было много критики в адрес моего негативного высказывания о том, что программисты стали "продавать" себя. Я решил посмотреть проект крестного отца этого…»
Понедельник начинается с LeetCode
На той недели разбирали собеседование выпускника. У него основная проблема, то что он сильно волнуется. И из-за этого не может собраться.
Ему дали задачу уровня easy и он ее решал все собеседование, целый час.
Поэтому я настоятельно рекомендую погонять задачи уровня easy.
Сегодня сам спотыкнулся на задачу по бинарному поиску. Решал ее тоже целый час ))
https://leetcode.com/problems/search-insert-position/
Аналогичную задачу видел на собеседовании в Авито.
На той недели разбирали собеседование выпускника. У него основная проблема, то что он сильно волнуется. И из-за этого не может собраться.
Ему дали задачу уровня easy и он ее решал все собеседование, целый час.
Поэтому я настоятельно рекомендую погонять задачи уровня easy.
Сегодня сам спотыкнулся на задачу по бинарному поиску. Решал ее тоже целый час ))
https://leetcode.com/problems/search-insert-position/
Аналогичную задачу видел на собеседовании в Авито.
🔥12👍7😁3
Собеседование Go Core
Добавил уроки по курсу Go.
Типы данных [#505461]
Нюансы работы с defer [#505462]
Структуры данных [#505470]
Map [#505481]
Interface [#505482]
Pointer [#505483]
Большая просьба тех кто участвует в этом эксперименте, сжать булки и добежать до конца. Уже прошел месяц, а еще никто даже 1/4 не решил. Я понимаю, что когда это бесплатно, то мотивации проходить нет. В целом я придерживаюсь такой идеи. Как только первый участник эксперимента получить оффер, то эксперимент сворачиваем и доступ на курс я отключу.
Описание курса 👉 https://job4j.ru/courses/38
Добавил уроки по курсу Go.
Типы данных [#505461]
Нюансы работы с defer [#505462]
Структуры данных [#505470]
Map [#505481]
Interface [#505482]
Pointer [#505483]
Большая просьба тех кто участвует в этом эксперименте, сжать булки и добежать до конца. Уже прошел месяц, а еще никто даже 1/4 не решил. Я понимаю, что когда это бесплатно, то мотивации проходить нет. В целом я придерживаюсь такой идеи. Как только первый участник эксперимента получить оффер, то эксперимент сворачиваем и доступ на курс я отключу.
Описание курса 👉 https://job4j.ru/courses/38
👍9🔥4
4.9.4. Собеседование Go Goroutines
Я добрался до самой жирной темы в Go.
Добавил уроки:
Ядра, процессоры, процессы и горутины [#505487]
Планировщик Go [#505490]
Go Channel [#505488]
Go Select [#505489]
sync.Map | RWMutex | atomic [#505491]
Эта теория. Еще будет 10 урок с практическими задачами реализации шаблоновон: Worker Pool, Fan-in, Fan-out и тд.
Описание курса 👉 https://job4j.ru/courses/38
Я добрался до самой жирной темы в Go.
Добавил уроки:
Ядра, процессоры, процессы и горутины [#505487]
Планировщик Go [#505490]
Go Channel [#505488]
Go Select [#505489]
sync.Map | RWMutex | atomic [#505491]
Эта теория. Еще будет 10 урок с практическими задачами реализации шаблоновон: Worker Pool, Fan-in, Fan-out и тд.
Описание курса 👉 https://job4j.ru/courses/38
🔥17
Задачи на горутины
Все тоже самое, что и в Java, только в другом API.
Но кода в разы меньше получается, по сравнению если такое же писать на Java.
Задача: WorkerPool [#505492]
Задача: FanIn [#505493]
Context [#505494]
Задача: Поиск с отменой [#505495]
Шардированный кеш [#505496]
Задача*: Продвинутый Worker Pool [#505497]
Главный маркетинговый ход в Go и тут сработал "Многопоточный код, как последовательная программа" )) Местами тут похлеще wait, notify, notifyAll.
Описание курса 👉 https://job4j.ru/courses/38
Все тоже самое, что и в Java, только в другом API.
Но кода в разы меньше получается, по сравнению если такое же писать на Java.
Задача: WorkerPool [#505492]
Задача: FanIn [#505493]
Context [#505494]
Задача: Поиск с отменой [#505495]
Шардированный кеш [#505496]
Задача*: Продвинутый Worker Pool [#505497]
Главный маркетинговый ход в Go и тут сработал "Многопоточный код, как последовательная программа" )) Местами тут похлеще wait, notify, notifyAll.
Описание курса 👉 https://job4j.ru/courses/38
👍4🔥2🤮2
Проверим идейку
Я думаю, что все Go-программисты знают Даниила Подольского.
В его творчестве есть легендарная статья на Хабре, где он с сожалением отмечает тенденции в IT.
"Наша индустрия, как бы мы это ни оценивали, уже давно живет по закону «*fail early, fail often, but always fail forward*». Для нас это означает, что мы должны делать свою работу как можно… хуже! Мы должны потратить как можно меньше сил, средств и времени — особенно времени! — на предложенную задачу, ибо никто не знает, имеет ли текущая задача практический смысл. Собственно, большую часть задач мы решаем в режиме разведки, проверяя чужие смелые бизнес-гипотезы.
В результате лучшие кадры приучаются делать только то, что им поручено, ничего, кроме того, что им поручено, и необходимый минимум того, что им поручено. И этот подход, я предполагаю, незаметно и неосознанно эти кадры распространяют и на свое обучение. Разработчик изучает только то, что ему нужно по текущей задаче: ничего, кроме этого, и ограничивается минимально возможным набором знаний.
Моё скромное мнение — так нельзя! Образование — это игра в долгую, и подходить к нему надо с другими критериями, нежели к очередному «Проверим идейку *MVP*»."
Такой же подход используется и при вкате в IT. В начале создания своего курса по Java я ставил задачу качественной подготовки учеников за счет большого количества практических заданий. И раньше это работало, потому что объем требуемых на собеседовании знаний был соизмерим с выполняемой работой. Сейчас же объем вопросов запредельный. Это в первую очередь связано с доступностью этих знаний.
Например, раньше, если тебе нужно было найти информацию о том, какие блокировки использует PostgreSQL, тебе нужно было лезть в документацию PostgreSQL и долго по крупицам собирать информацию. Сейчас же ты за секунды получаешь разжеванный ответ от LLM.
Поэтому в курсе по Go я использую подход "быстро добежать до конца". Цель — максимально быстро подготовить ученика к собеседованию. Приведу пример другой менторской программы. В этой программе проходят темы: Go Core, Go Goroutines, SQL, NoSQL, кэши, Redis, Kafka, оптимизация баз данных, мониторинг, Docker, Kubernetes, Prometheus, Grafana, CI/CD, GitLab, системный дизайн. Хотите знать, на сколько рассчитана программа? На 33 дня.
То есть задача не освоить программирование, а выучить правильные ответы на собеседовании.
Сам я тоже себя подгоняю, добивая уроки по курсу Go.
Собеседование SQL [#505498]
Задача: Индексы в PostgreSQL [#505499]
Описание курса 👉 https://job4j.ru/courses/38
Я думаю, что все Go-программисты знают Даниила Подольского.
В его творчестве есть легендарная статья на Хабре, где он с сожалением отмечает тенденции в IT.
"Наша индустрия, как бы мы это ни оценивали, уже давно живет по закону «*fail early, fail often, but always fail forward*». Для нас это означает, что мы должны делать свою работу как можно… хуже! Мы должны потратить как можно меньше сил, средств и времени — особенно времени! — на предложенную задачу, ибо никто не знает, имеет ли текущая задача практический смысл. Собственно, большую часть задач мы решаем в режиме разведки, проверяя чужие смелые бизнес-гипотезы.
В результате лучшие кадры приучаются делать только то, что им поручено, ничего, кроме того, что им поручено, и необходимый минимум того, что им поручено. И этот подход, я предполагаю, незаметно и неосознанно эти кадры распространяют и на свое обучение. Разработчик изучает только то, что ему нужно по текущей задаче: ничего, кроме этого, и ограничивается минимально возможным набором знаний.
Моё скромное мнение — так нельзя! Образование — это игра в долгую, и подходить к нему надо с другими критериями, нежели к очередному «Проверим идейку *MVP*»."
Такой же подход используется и при вкате в IT. В начале создания своего курса по Java я ставил задачу качественной подготовки учеников за счет большого количества практических заданий. И раньше это работало, потому что объем требуемых на собеседовании знаний был соизмерим с выполняемой работой. Сейчас же объем вопросов запредельный. Это в первую очередь связано с доступностью этих знаний.
Например, раньше, если тебе нужно было найти информацию о том, какие блокировки использует PostgreSQL, тебе нужно было лезть в документацию PostgreSQL и долго по крупицам собирать информацию. Сейчас же ты за секунды получаешь разжеванный ответ от LLM.
Поэтому в курсе по Go я использую подход "быстро добежать до конца". Цель — максимально быстро подготовить ученика к собеседованию. Приведу пример другой менторской программы. В этой программе проходят темы: Go Core, Go Goroutines, SQL, NoSQL, кэши, Redis, Kafka, оптимизация баз данных, мониторинг, Docker, Kubernetes, Prometheus, Grafana, CI/CD, GitLab, системный дизайн. Хотите знать, на сколько рассчитана программа? На 33 дня.
То есть задача не освоить программирование, а выучить правильные ответы на собеседовании.
Сам я тоже себя подгоняю, добивая уроки по курсу Go.
Собеседование SQL [#505498]
Задача: Индексы в PostgreSQL [#505499]
Описание курса 👉 https://job4j.ru/courses/38
🔥17❤3🤔2
Голодные игры 2025 в IT
Как я уже писал выше, поиск работы превратился в фарс. Все хотят идти в ногу со временем и использовать LLM. Компании стремятся сократить расходы и внедряют LLM там, где это нецелесообразно — например, при поиске кандидатов. Те же кандидаты с помощью LLM составляют резюме.
Когда я провожу собеседования, всегда прошу прислать ссылку на GitHub. Обычно кандидаты отвечают: «У меня его нет, или там только учебные проекты».
На самом деле не важно, насколько заполнен репозиторий, важно, что там есть какая-то активность.
Я проверил несколько репозиториев: брал ссылку и просил GPT оценить уровень кандидата — и оно очень точно определяло уровень, хотя проекты там были далеко не полными.
Но это лирика: никто так не делает… хотя кто-то может задуматься.
В целом поиск сместился на личностные контакты и прямое общение с HR, а не через HH:
1. Писать напрямую на сайтах работодателей.
2. Активно вести LinkedIn и другие соцсети.
3. Спрашивать у бывших коллег.
Как я уже писал выше, поиск работы превратился в фарс. Все хотят идти в ногу со временем и использовать LLM. Компании стремятся сократить расходы и внедряют LLM там, где это нецелесообразно — например, при поиске кандидатов. Те же кандидаты с помощью LLM составляют резюме.
Когда я провожу собеседования, всегда прошу прислать ссылку на GitHub. Обычно кандидаты отвечают: «У меня его нет, или там только учебные проекты».
На самом деле не важно, насколько заполнен репозиторий, важно, что там есть какая-то активность.
Я проверил несколько репозиториев: брал ссылку и просил GPT оценить уровень кандидата — и оно очень точно определяло уровень, хотя проекты там были далеко не полными.
Но это лирика: никто так не делает… хотя кто-то может задуматься.
В целом поиск сместился на личностные контакты и прямое общение с HR, а не через HH:
1. Писать напрямую на сайтах работодателей.
2. Активно вести LinkedIn и другие соцсети.
3. Спрашивать у бывших коллег.
🤔2👍1
Kafka | Топ вопросов
Сегодня добавил урок про Kafka в курс по Go.
Kafka [#505501]
Предлагаю провести мок-собеседование по Кафка.
1. Объясни базовые концепции Kafka: брокеры, топики, партиции, продюсеры, консьюмеры.
2. Как гарантировать доставку сообщений "ровно один раз" или хотя бы "по меньшей мере один раз" и "не больше одного раза"?
3. Зачем нужна репликация в Kafka и как это влияет на доступность и консистентность?
4. Что будет с данными Kafka при перезагрузки системы и почему?
5. Можно ли использовать шину данных Kafka для общение между микросервисами и чем это будет отличаться от общения по http соединениям?
Пишите в личку @parsentev
Для тех кто не знаком с Kafka, у нас есть отдельный курс по Kafka
👉 https://job4j.ru/courses/21
С практикой, теорией и мок-собесами.
Сегодня добавил урок про Kafka в курс по Go.
Kafka [#505501]
Предлагаю провести мок-собеседование по Кафка.
1. Объясни базовые концепции Kafka: брокеры, топики, партиции, продюсеры, консьюмеры.
2. Как гарантировать доставку сообщений "ровно один раз" или хотя бы "по меньшей мере один раз" и "не больше одного раза"?
3. Зачем нужна репликация в Kafka и как это влияет на доступность и консистентность?
4. Что будет с данными Kafka при перезагрузки системы и почему?
5. Можно ли использовать шину данных Kafka для общение между микросервисами и чем это будет отличаться от общения по http соединениям?
Пишите в личку @parsentev
Для тех кто не знаком с Kafka, у нас есть отдельный курс по Kafka
👉 https://job4j.ru/courses/21
С практикой, теорией и мок-собесами.
👍7❤1
Правые и левые взгляды в IT
Обычно на первичном скрининге задают вопрос: «Какими задачами вам хотелось бы заниматься?» Что обычно отвечают? «Мне нужны сложные задачи, с моим стеком, на современном языке, с высокой нагрузкой». Однако у компании могут быть другие задачи, такие как удовлетворение потребностей клиента или просто решение его болей.
В книге *Hooked: How to Build Habit-Forming Products* Нира Эяля приводится важное различие между "таблетками" и "витаминами".
Цитата:
> "If you want your product to be habit-forming, it needs to be more like a vitamin than a painkiller. Painkillers solve a specific problem—something urgent and compelling. Vitamins, on the other hand, are nice to have, but they are not urgent. People need painkillers, but they want vitamins."
В этой метафоре таблетки (painkillers) решают неотложную проблему, то есть продукт, который становится необходимым для пользователя, когда у него возникает проблема. Витамины (vitamins) же — это не что-то, что требуется прямо сейчас, но продукт приносит дополнительные выгоды и улучшения, делая жизнь лучше.
Давайте переведем это в контекст программирования. В данном случае программирование — это ремесло, которое приносит деньги. Здесь существуют два подхода.
Старая школа или правые
Эти ребята возводят программирование в своего рода искусство. На вопрос, что нужно, чтобы стать программистом, они отвечают следующим списком:
* теория фон Неймана
* архитектура ОС
* сети
* микропроцессорная архитектура
* теория баз данных
* теория мультипроцессорного вычисления
Список бесконечный.
В целом, то, что они проповедуют, имеет место быть в ВУЗе. Это классическая программа обучения по направлению вычислительной техники. Если вы школьник и вас интересует программирование, то безусловно, это правильный путь. А что делать, если вы уже не школьник, и учились не на программиста, а просто на инженера? Нужно снова идти в ВУЗ?
В чем проблема такого подхода? Ответим с позиции вопроса о таблетках и витаминах. В этом случае мы выступаем в роли витаминов: мы не решаем проблемы бизнеса, мы подготавливаемся к решению гипотетической задачи, которую никто нам не ставил.
Левые или «лутать золото»
Другие ребята подходят к профессии программиста с крайне приземленным подходом. Это работа, и цель работы — обменять свой труд на деньги.
Что же советуют ребята с этой стороны? Залетать в IT с двух ног, врать, рисовать опыт, обманывать, подсиживать, саботировать. Любые способы хороши, если они приносят деньги. Лишь бы это не было уголовно наказуемо. Это такие Остапы Бендеры современности. Звучит безнравственно? Вам скажут, что бизнес с вами делает то же самое, поэтому все честно. Они обманывают, и вы тоже. Все справедливо.
Здесь важно понимать, что левые не делят людей на «свой» и «чужой». То есть, если вас можно обмануть, а вы доверчивый инженер, который захотел залететь в IT с двух ног, чтобы «лутать бабло», вас без проблем обманут. Поэтому курсы IT за два месяца с обещаниями зарплаты 300+ тр до сих пор раскручиваются со всех сторон. А вы скажете: «Да, там все честно. Схема вин-вин». Предоплата 30-40 тр, а потом ты отдаешь 150% от зарплаты после трудоустройства. Это не твои деньги, а ментора, который тебе помог. Все честно, ты потом еще заработаешь.
Вернемся к таблеткам и витаминам. В этом случае это 100% таблетки, только не настоящие, а пустышки или плацебо. На эффекте плацебо существует огромный рынок инфоцыган. К сожалению, это проблема информационной эпохи. Людям проще поверить убедительным доводам, чем критически относиться к информации.
Центристы
Что же делать? Нужно взять лучшее из двух сторон. Изучайте те темы, которые требует бизнес. Сейчас главный стек в бэке — это микросервисы. Значит, нужно копать в эту сторону: Kafka, Redis, Kubernetes, Docker, Prometheus, Grafana. Если у вас нет работы, то стоит фокусироваться только на этих технологиях, а не тратить время на изучение архитектуры ПО или внутренностей процессора.
Обычно на первичном скрининге задают вопрос: «Какими задачами вам хотелось бы заниматься?» Что обычно отвечают? «Мне нужны сложные задачи, с моим стеком, на современном языке, с высокой нагрузкой». Однако у компании могут быть другие задачи, такие как удовлетворение потребностей клиента или просто решение его болей.
В книге *Hooked: How to Build Habit-Forming Products* Нира Эяля приводится важное различие между "таблетками" и "витаминами".
Цитата:
> "If you want your product to be habit-forming, it needs to be more like a vitamin than a painkiller. Painkillers solve a specific problem—something urgent and compelling. Vitamins, on the other hand, are nice to have, but they are not urgent. People need painkillers, but they want vitamins."
В этой метафоре таблетки (painkillers) решают неотложную проблему, то есть продукт, который становится необходимым для пользователя, когда у него возникает проблема. Витамины (vitamins) же — это не что-то, что требуется прямо сейчас, но продукт приносит дополнительные выгоды и улучшения, делая жизнь лучше.
Давайте переведем это в контекст программирования. В данном случае программирование — это ремесло, которое приносит деньги. Здесь существуют два подхода.
Старая школа или правые
Эти ребята возводят программирование в своего рода искусство. На вопрос, что нужно, чтобы стать программистом, они отвечают следующим списком:
* теория фон Неймана
* архитектура ОС
* сети
* микропроцессорная архитектура
* теория баз данных
* теория мультипроцессорного вычисления
Список бесконечный.
В целом, то, что они проповедуют, имеет место быть в ВУЗе. Это классическая программа обучения по направлению вычислительной техники. Если вы школьник и вас интересует программирование, то безусловно, это правильный путь. А что делать, если вы уже не школьник, и учились не на программиста, а просто на инженера? Нужно снова идти в ВУЗ?
В чем проблема такого подхода? Ответим с позиции вопроса о таблетках и витаминах. В этом случае мы выступаем в роли витаминов: мы не решаем проблемы бизнеса, мы подготавливаемся к решению гипотетической задачи, которую никто нам не ставил.
Левые или «лутать золото»
Другие ребята подходят к профессии программиста с крайне приземленным подходом. Это работа, и цель работы — обменять свой труд на деньги.
Что же советуют ребята с этой стороны? Залетать в IT с двух ног, врать, рисовать опыт, обманывать, подсиживать, саботировать. Любые способы хороши, если они приносят деньги. Лишь бы это не было уголовно наказуемо. Это такие Остапы Бендеры современности. Звучит безнравственно? Вам скажут, что бизнес с вами делает то же самое, поэтому все честно. Они обманывают, и вы тоже. Все справедливо.
Здесь важно понимать, что левые не делят людей на «свой» и «чужой». То есть, если вас можно обмануть, а вы доверчивый инженер, который захотел залететь в IT с двух ног, чтобы «лутать бабло», вас без проблем обманут. Поэтому курсы IT за два месяца с обещаниями зарплаты 300+ тр до сих пор раскручиваются со всех сторон. А вы скажете: «Да, там все честно. Схема вин-вин». Предоплата 30-40 тр, а потом ты отдаешь 150% от зарплаты после трудоустройства. Это не твои деньги, а ментора, который тебе помог. Все честно, ты потом еще заработаешь.
Вернемся к таблеткам и витаминам. В этом случае это 100% таблетки, только не настоящие, а пустышки или плацебо. На эффекте плацебо существует огромный рынок инфоцыган. К сожалению, это проблема информационной эпохи. Людям проще поверить убедительным доводам, чем критически относиться к информации.
Центристы
Что же делать? Нужно взять лучшее из двух сторон. Изучайте те темы, которые требует бизнес. Сейчас главный стек в бэке — это микросервисы. Значит, нужно копать в эту сторону: Kafka, Redis, Kubernetes, Docker, Prometheus, Grafana. Если у вас нет работы, то стоит фокусироваться только на этих технологиях, а не тратить время на изучение архитектуры ПО или внутренностей процессора.
👍16❤4🔥1
С другой стороны, процесс обучения не должен затягиваться на 5 лет. Максимум — год, и выходить на работу. Я знаю, что рынок в этом году требует других специалистов, но других нет, если те, что сейчас на рынке.
Не ведитесь, если вам говорят, что пройдя мои курсы, вы поднимете зарплату в 2 или 3 раза. А сколько времени обучение? «А, 33 дня, но у вас система вин-вин». Вначале деньги, а потом стулья. Всегда пересчитывайте на человеко-часы. Если обучение стоит 40 тр + 150% оклада, а оклад у вас будет 200 тр, значит, этот ментор должен с вами провести около 120 часов, если его час стоит 2000 рублей. Дробите задачи.
Главное, что стоит взять у левых, — это практику хождения по собеседованиям. На собеседованиях вы можете понять, что требует рынок, какие проекты существуют, что они решают. Вы же нормально относитесь к тому, что зашли в магазин, но ничего не купили. Тут точно так же. Вы пришли посмотреть, чем торгуют, но покупать или устраиваться вас никто не заставляет. Возьмите себе за практику периодически обновлять собеседования и ходить на них. Общайтесь на собеседовании как с коллегами, а не как с врагами с другой стороны.
С курсом по Go я хотел проверить схему левых. Но цифры рынка показывают, что я уже опоздал. Во-первых, даже с накрученным опытом на всех позициях Go мне отказали. Хотя я указал опыт 5 лет. Во-вторых, зарплаты для Go просели. Мало вакансий, но много новичков. Где зп 500-600 тр на Senior? Я вижу 200-250 тр. Причем стали попадаться вакансии с зарплатой около 100 тр. Благо за Java такого я не видел.
Итог
Безусловно, развивать себя в программировании — это ваша основная обязанность, но она должна быть неотрывна от производства. То есть нужно решать реальные проблемы бизнеса, а не сферические задачи. Выходить на рынок и смотреть, что предлагают.
Я сам нарушил этот принцип: хоть я и провожу собеседования, но сам на них не ходил уже лет 10. Такого быть не должно.
Наше обучение https://job4j.ru/ по классической схеме: упор на практику с балансом в теории.
Не ведитесь, если вам говорят, что пройдя мои курсы, вы поднимете зарплату в 2 или 3 раза. А сколько времени обучение? «А, 33 дня, но у вас система вин-вин». Вначале деньги, а потом стулья. Всегда пересчитывайте на человеко-часы. Если обучение стоит 40 тр + 150% оклада, а оклад у вас будет 200 тр, значит, этот ментор должен с вами провести около 120 часов, если его час стоит 2000 рублей. Дробите задачи.
Главное, что стоит взять у левых, — это практику хождения по собеседованиям. На собеседованиях вы можете понять, что требует рынок, какие проекты существуют, что они решают. Вы же нормально относитесь к тому, что зашли в магазин, но ничего не купили. Тут точно так же. Вы пришли посмотреть, чем торгуют, но покупать или устраиваться вас никто не заставляет. Возьмите себе за практику периодически обновлять собеседования и ходить на них. Общайтесь на собеседовании как с коллегами, а не как с врагами с другой стороны.
С курсом по Go я хотел проверить схему левых. Но цифры рынка показывают, что я уже опоздал. Во-первых, даже с накрученным опытом на всех позициях Go мне отказали. Хотя я указал опыт 5 лет. Во-вторых, зарплаты для Go просели. Мало вакансий, но много новичков. Где зп 500-600 тр на Senior? Я вижу 200-250 тр. Причем стали попадаться вакансии с зарплатой около 100 тр. Благо за Java такого я не видел.
Итог
Безусловно, развивать себя в программировании — это ваша основная обязанность, но она должна быть неотрывна от производства. То есть нужно решать реальные проблемы бизнеса, а не сферические задачи. Выходить на рынок и смотреть, что предлагают.
Я сам нарушил этот принцип: хоть я и провожу собеседования, но сам на них не ходил уже лет 10. Такого быть не должно.
Наше обучение https://job4j.ru/ по классической схеме: упор на практику с балансом в теории.
👍19🔥6