Как БЫСТРО вырасти до Middle/Senior? Отличия Junior, Middle и Senior Backend разработчиков

Артём Шумейко
20 May 202418:30

Summary

TLDRВ этом видео Артём, опытный разработчик, делится секретами карьерного роста в IT-сфере. Он рассматривает требования к навыкам и знаниям для Junior, Middle и Senior разработчиков, описывая их роли и ответственность. Артём также обсуждает, почему некоторые разработчики долгое время остаются на одной должности, а другие быстро прогрессируют. Он подготавливает карту навыков для Middle и Senior уровней, объясняя, что делает Senior-разработчиков уникальными и успешными. В заключение, Артём делится своими мыслями о том, как Junior-разработчики могут избежать ошибок и быстрее достичь успеха в своей карьере.

Takeaways

  • 📈 Для достижения статуса среднестатистического и старших разработчиков необходимо развивать определенный набор навыков, знаний и умений.
  • 🛠️ Старшим разработчикам доверяют более сложные задачи, включая архитектурное проектирование и оптимизацию кода для масштабирования.
  • 💡 Junior разработчикам поручается выполнение базовых задач без инноваций, так как у них еще нет опыта в понимании архитектуры проекта.
  • 🔍 Junior разработчики должны уметь писать простые SQL-запросы, понимать работу с базами данных и индексами для оптимизации запросов.
  • 🚀 Знание Docker и способность работать с ним стали обязательными навыками для разработчиков в современном рынке труда.
  • 🤔 Junior разработчики часто испытывают страх задавать вопросы и просить помощи из-за страха быть уволенными за некомпетентность.
  • 💼 Понимание бизнес-модели и приоритизации задач становится критически важным на уровне среднестатистического разработчика и выше.
  • 🛑 Основы CI/CD и знание как проектируется и развертывается продакт являются неотъемлемой частью навыков среднестатистического и старших разработчиков.
  • 🌐 Среднестатистическим разработчикам требуется умение работать с базами данных, проектировать их структуру и использовать продвинутые технологии.
  • 💡 Стимулом к росту должно быть понимание ценности времени и умение приоритизировать задачи в соответствии с бизнес-ценностями.
  • 🏆 Для достижения статуса старших разработчиков важны не только технические навыки, но и понимание целей бизнеса, способность принимать решения и влиять на продукт.

Q & A

  • Чем различаются задачи, которым доверяют Junior разработчику, от тех, что выполняет Middle или Senior разработчик?

    -Junior разработчику доверяют написание простого кода, переиспользование существующих технологий без создания нового, а также выполнение задач по ТЗ без самостоятельного принятия решений о проектной архитектуре. В то время как Middle и Senior разработчики занимаются созданием архитектуры проекта, принимают решения о новых сущностях и технологиях, оптимизацией кода и приоритизацией задач.

  • Какие навыки должен иметь Junior разработчик в области работы с базами данных?

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

  • Почему Junior разработчики должны избегать непосредственного доступа к серверам и контейнерам?

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

  • Какие качества характеризуют Middle разработчика?

    -Middle разработчик уже может создавать архитектуру проекта, писать эффективный и оптимизированный код, понимает работу с базами данных, включая нормальные формы и проектирование БД, а также знает как работать с Docker и другими технологиями.

  • Чем отличается мышление Middle разработчика от мышления Junior?

    -Middle разработчик понимает, зачем выполняются определенные задачи, ценит свое время и умеет задать уточняющие вопросы, не боится общаться с опытными специалистами и берет на себя ответственность за качество своего кода.

  • Какие навыки и знания должны присутствовать у Senior разработчика?

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

  • Чем Senior разработчик отличается в плане понимания бизнеса?

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

  • Какие сложности может столкнуться Junior разработчик при работе с непрямыми инструкциями?

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

  • Какие технологии и инструменты должны быть знакомы Middle разработчику?

    -Middle разработчику должны быть знакомы Docker, основы работы с контейнерами и Docker Compose, понимание работы с базами данных и кэшем, а также навыки проектирования и оптимизации кода.

  • Чему научится Junior разработчик на курсе по backend разработке на Python?

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

  • Какие навыки помогут Senior разработчику быстрее адаптироваться к новым проектам?

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

  • Какие качества помогают Senior разработчику быть ценным для бизнеса?

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

Outlines

00:00

😀 Как стать среднестатистическим и старшим разработчиком

Артем, Python разработчик, делится своими советами о том, как прокачивать свои навыки и развивать карьеру в IT. Он подготовил карту навыков и знаний для достижения статуса среднестатистического (midle) и старших (сеньор) разработчиков. Также Артем рассматривает причины, по которым некоторые разработчики задерживаются на одной должности и не могут повысить свою зарплату, в то время как другие быстро проходят все этапы карьерного роста.

05:02

👨‍💻 Ответственности и навыки джуниор-разработчика

Джуниор-разработчикам доверяют выполнение простых задач, таких как написание кода на различных языках программирования и создание базы данных без инноваций. Они также должны уметь писать SQL-запросы и работать с таблицами, включая создание таблиц в соответствии с техническим заданием. Важно, чтобы джуниоры понимали, что их основная задача - выполнение инструкций, а не привнесение новых идей в проект.

10:03

📚 Развитие знаний и опыта для карьерного роста

Для карьерного роста разработчикам необходимо не только набирать опыт, но и постоянно обучаться новым навыкам и знаниям. В видео Артем рассматривает, какие навыки и знания должны быть у разработчиков на разных уровнях, от джуниора до сеньора. Он также упоминает о курсе по backend-разработке на Python, который поможет участникам улучшить свои навыки и возможно, карьерный путь.

15:06

🛠️ Основы работы с Docker и технологиях CI/CD

В видео Артем подчёркивает значимость знания Docker и технологий непрерывной интеграции и непрерывного развертывания (CI/CD) для карьеры разработчика. Он рассматривает, как джуниор-разработчики должны понимать основы Docker, включая Dockerfile, слои и базовую конфигурацию образов, а также как запускать приложения в контейнерах и работать с Docker Compose.

🚀 Разработка архитектуры и оптимизация кода на уровне мидл

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

🤔 Психология разработчика и цензура времени

Артем обсуждает, как мидл-разработчики начинают ценить своё время и выбирать задачи, которые приносят наибольшую ценность. Он упоминает о том, что мидлы уже не боятся задавать уточняющие вопросы и не стыдятся обращаться за помощью к более опытным коллегам, что позволяет им сэкономить время и улучшить качество работы.

💼 Понимание бизнеса и коммуникация на уровне сеньора

Сеньор-разработчики должны понимать цели бизнеса и приоритизировать задачи в соответствии с этими целями. Они должны уметь общаться и выражать своё мнение, чтобы вносить свой вклад в развитие продукта. В видео Артем рассматривает, как сеньоры могут предложить новые идеи и решения, которые могут быть более эффективными для бизнеса, чем изначальные требования.

🛠️ Управление проектами и оптимизация систем

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

💡 Влияние опыта и знаний на бизнес и продукт

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

Mindmap

Keywords

💡Разработчик

Разработчик – это специалист, который создает, обновляет и поддерживает программное обеспечение. В контексте видео, разработчики классифицируются по уровням опыта и навыков, от Junior до Senior, что указывает на степень их профессионального роста и возможности для карьерного продвижения.

💡Проектная архитектура

Проектная архитектура – это структура и организация элементов программного проекта. В видео упоминается, что средний (midle) разработчик начинает понимать и создавать архитектуру приложений, в то время как сеньоры (сеньоры) уже могут разрабатывать более масштабируемые и красивые архитектуры.

💡Код

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

💡Базы данных

Базы данных – это совокупность организованных данных и программ, обеспечивающих их обработку. В видео упоминается, что разработчики на различных уровнях должны уметь работать с базами данных, создавать таблицы, оптимизировать запросы и проектировать базы данных с использованием нормальных форм.

💡Контейнеризация

Контейнеризация – это технология, которая позволяет упаковать приложение с всеми его зависимостями в контейнер. В видео говорится о знании Docker, его значении для разработчиков и навыках работы с контейнерами как важном аспекте современного программирования.

💡CD (Continuous Deployment)

Continuous Deployment – это практика автоматической установки новой версии программного обеспечения после успешного тестирования. В видео упоминается, что midle разработчики могут корректировать процессы CD, хотя сами не закладывают их.

💡Многопоточность

Многопоточность – это способность компьютера одновременно выполнять несколько потоков выполнения. В видео упоминается использование очередей и брокеров, что связано с управлением многопоточностью в программном обеспечении.

💡Процесс оптимизации

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

💡Мышление разработчика

Мышление разработчика – это способ подхода к решению задач и проектированию программного обеспечения. В видео описывается, как мышление разработчика развивается от Junior до Senior, с акцентом на понимании бизнес-требований и приоритизации задач.

💡Карьерный рост

Карьерный рост – это процесс развития и продвижения по карьерной лестнице. В видео обсуждается, как различные навыки и умения, такие как понимание бизнес-целей и приоритизация задач, способствуют карьерному росту разработчика.

Highlights

Как вырасти до уровня мидл и сеньор разработчика: Обсуждение о том, как разработчики могут достичь статуса мидл и сеньор разработчика и разницу в зарплате и позиции.

Карта навыков знаний и умений для мидл и сеньор разработчика: Представление структуры необходимых навыков для достижения этих уровней.

Отличия между джуниор и мидл разработчиками: Обсуждение различий в обязанностях и навыках на разных уровнях.

Знание баз данных и SQL запросов: Важность знания баз данных для джуниор разработчиков и их развитие.

Значение Docker в современной разработке: Обсуждение актуальности знания Docker для разработчиков.

Подготовка к техническим собеседованиям: Предложение продукта для подготовки к собеседованиям и его преимущества.

Менталитет джуниор разработчика: Обсуждение страха просить помощи и синдрома самозванца среди джуниоров.

Развитие карьеры и понимание бизнес-модели: Важность понимания бизнес-модели для роста карьеры разработчика.

Функции мидл разработчика: Обсуждение доверенных задач и возможностей для мидл разработчиков.

Важность написания чистого и масштабируемого кода: Обсуждение качества кода на уровне мидл разработчика.

Работа с базами данных и нормализация: Знание нормализации и проектирования баз данных на уровне мидл.

Понимание и использование новых технологий: Обсуждение взаимодействия мидл разработчика с новыми технологиями.

Мышление мидл разработчика: Анализ того, как мидл разработчики ценят свое время и выбирают технологии.

Функции сеньор разработчика: Обсуждение высокоуровневых задач и обязанностей сеньор разработчика.

Понимание архитектуры и CCD: Знание о развертывании приложений и настройке непрерывной интеграции и доставки.

Влияние опыта на работу с проектами: Обсуждение опыта сеньор разработчика и его влияния на проекты.

Мышление сеньор разработчика: Анализ способности сеньоров понимать бизнес-цели и приоритизировать задачи.

Взаимодействие с продуктом и коммуникация: Обсуждение важных навыков коммуникации и взаимодействия с продуктом.

Критический подход к задачам: Обсуждение способности сеньоров критически подходить к задачам и принимать решения.

Ценность навыков и умений сеньоров: Анализ того, почему сеньоры получают большие оклады и высокую позицию.

Transcripts

play00:00

Как вырасти до уровня midle и сеньо

play00:02

разработчика Почему какие-то

play00:03

разработчики сидят по 5 лет на одной

play00:05

позиции не могут повысить зарплату А

play00:07

кто-то за несколько лет спокойно

play00:09

проходит все этапы и доходит до Большого

play00:11

оклада и высокой позиции сегодня узнаем

play00:15

Всем привет Меня зовут Артём я сир

play00:17

Python разработчик и на этом канале

play00:18

рассказываю Как прокачивать Хард скилы и

play00:20

развивать карьеру поехали Я подготовил

play00:22

для вас целую карту навыков знаний и

play00:24

умений Ji midle и сеньор разработчика И

play00:27

сейчас мы по всем им пройдёмся в самом

play00:29

конце мы посмотрим Почему

play00:31

синьоры являются сеньорами Почему они

play00:34

зарабатывают много денег и какие знания

play00:37

и умения отличают их от более младших

play00:40

коллег поэтому досматривать до конца А

play00:42

мы погнали Давайте перейдём к жуниор

play00:45

разработчикам Junior разработчику

play00:47

доверяют следующие вещи Первое - это

play00:50

написание простого А если мы говорим про

play00:53

энд например на Python Java Go PHP в

play00:56

принципе любой кнд язык джуну также

play00:58

доверяют покрывать

play01:00

и очень часто НИР не изобретает ничего

play01:03

нового он уже

play01:06

переиспользование к базе к кшу к

play01:09

очередям к брокерам и так далее То есть

play01:12

он нового не сильно привносит в проект

play01:14

потому что у него ещё нет понимания как

play01:16

выстраивается архитектура проекта куда

play01:18

Что положить и обычно более старшие

play01:20

разработчики занимаются уже каким-то

play01:22

созданием новых сущности в проекте

play01:25

нежели Дава те посмотрим на базу

play01:28

данных

play01:30

он обычно пишет простые SQL запросы они

play01:34

могут быть даже немножко оптимизированы

play01:36

он понимает Как устроены джоны умеет

play01:38

работать с таблицами со связями Возможно

play01:41

даже умеет работать с но SQL базами

play01:43

данных ему поручают создавать таблицы в

play01:45

базе данных Но обычно это что-то по ТЗ

play01:49

то есть человек не придумывает сам какую

play01:51

там таблицу Какие связи он делает всё по

play01:54

алгоритму и мне кажется дни должен знать

play01:58

о базовой индек

play02:00

Как это работает Как оптимизировать

play02:02

запросы к базе потому что у меня была

play02:04

история я пошл собеседовать настани

play02:07

разработчика и в части бэнда меня слили

play02:11

на вопросе про индексы Я в принципе не

play02:13

знал что это такое что это работает что

play02:16

это сильно оптимизирует запросы меня

play02:19

слили и я собственно не получил тогда

play02:21

предложение ещё 3 месяца искал работу

play02:23

Теперь давайте перейм к теме Докера на

play02:25

самом деле сейчас очень активно его

play02:27

спрашивают Почти в каждом собеседовании

play02:29

хотя бы представление что это такое

play02:31

например jor должен знать как выглядит

play02:33

докер файл Какие есть слои Какие хотя бы

play02:36

самые базовые этапы конфигурации образа

play02:38

Что такое образ Что такое контейнер все

play02:40

эти темы спрашивают на собеседованиях

play02:43

кстати прямо сейчас я делаю свой it

play02:44

продукт тренажёр для подготовки к

play02:46

техническим собеседования на нём вы

play02:48

сможете выстроить свой план обучения до

play02:50

jor midle и Синьор разработчика

play02:52

потренироваться по абсолютно всем самым

play02:54

популярным вопросам по темам например

play02:56

Python docker SQL redis и другим продукт

play03:00

скоро будет запущен Я активно пишу о нём

play03:02

в своём Telegram канале обязательно

play03:03

Подписывайтесь читайте как я веду

play03:05

разработку как нанимал разработчиков

play03:07

Сколько стоит вывести свой продукт на

play03:09

рынок и так далее Буду рад видеть вас в

play03:10

Telegram канале далее запуск приложения

play03:12

в контейнере естественно должен понимать

play03:14

человек Как запускать приложение и в том

play03:16

числе через docker compost когда мы

play03:18

запускаем сразу несколько сервисов это

play03:20

уже база это уже требования 3 года назад

play03:22

не нужно было сейчас обязательно и что

play03:27

есть в голове у Джуна Какие Какое

play03:30

понимание или даже непонимание можно

play03:32

сказать Давайте посмотрим заглянем к

play03:34

нему в мозг Первое - это человек боится

play03:37

просить помощи очень часто человек

play03:39

испытывает синдром самозванца и думает

play03:42

что его могут уволить с его например

play03:43

первой работы что его не так поймут что

play03:46

ему скажут что ну мы не того наняли

play03:48

давай мы тебя уволим и так далее и

play03:50

человек пытается решать всё сам и часто

play03:53

делает неверное решение принимает То

play03:55

есть например ТЗ неточное оно никогда не

play03:58

бывает на самом деле точным и человек

play04:00

всегда что-то выдумывает и это

play04:02

собственно выливается в какие-то уже

play04:03

дополнительные проблемы жуниор не всегда

play04:06

понимает Зачем делает ту или иную задачу

play04:09

То есть ему дали задачу он её делает как

play04:11

робот и на самом деле на начальном

play04:13

уровне Наверное это О'кей Но с таким

play04:15

майндсет далеко не уедешь то есть нужно

play04:18

очень хорошо понимать Зачем ты это

play04:20

делаешь Какая мотивация за этом стоит

play04:22

Кому ты какую ценность принесёшь чтобы

play04:24

себя мотивировать работать мы дальше

play04:26

поговорим на уровне midle и senor почему

play04:28

это может быть блок

play04:30

и человек не умеет приоритизировать

play04:32

задачи он не понимает на чём вообще

play04:35

строится и живёт бизнес из чего

play04:36

извлекает прибыль Какие самый там

play04:38

прибыльные продукты у этого бизнеса и

play04:40

как нужно приоритизировать свои задачи

play04:42

потому что не всегда не всегда есть

play04:44

классный Project менеджер или человек

play04:46

может боиться уточнить у прожект

play04:48

менеджера Какие задачи в приоритете и

play04:50

сам выбирает так не нужно делать нужно

play04:53

понимать как устроен бизнес понятно что

play04:55

на начальном этапе тяжело это сделать но

play04:57

нужно прокачивать себе Вот это бизнес

play04:59

жилку с далее Давайте перейдём к уровню

play05:01

midle это уже более серьёзный специалист

play05:04

и что ему доверяют на уровне приложения

play05:08

человек уже может создавать какую-то

play05:09

архитектуру он понимает какие есть

play05:12

модули в проекте что есть там работа с

play05:13

базой с кэшем что у нас есть тут очереди

play05:16

здесь есть там конфигурация приложения

play05:17

тут секреты их надо хранить обязательно

play05:19

и многое другое но у него ещё не такая

play05:22

большая насмотренность То есть он скорее

play05:24

всего может заложить архитектуру но е

play05:26

прид менять при как-то потому что будет

play05:30

понятно что это не масштабируемая

play05:31

архитектура тем не менее Она имеет место

play05:34

быть и на ней можно даже написать

play05:36

например свой стартап второе - это

play05:38

написание эффективного оптимального кода

play05:40

который можно масштабировать который

play05:42

можно переиспользовать который легко

play05:44

читается то есть очень часто проблема

play05:46

тех же джунов что они пишут нечитаемый

play05:48

код не так называют переменные и потом

play05:51

Синьор который смотрит код ревю вот так

play05:53

чешет голову и думает что вот эта

play05:55

переменная X здесь делает И что она

play05:58

значит почему она потом используется 25

play06:00

разл Уже понимает что он пишет код не

play06:03

только для себя ещё и для других

play06:05

разработчиков и понимает что его нужно

play06:07

будет переиспользовать потому что у него

play06:08

есть опыт просто разработки далее Что

play06:11

midle может делать midle уже может

play06:15

например корректировать все icd процессы

play06:17

он их вряд ли закладывает сам

play06:19

продумывает Как устроено пй на сервера

play06:23

но он может например уже изменять

play06:24

какие-то конфиги CD и ещ одна история у

play06:28

меня есть что вотт заходить на сервер и

play06:30

править что-то руками когда я был дном у

play06:32

меня был доступ прямой до сервера на

play06:34

котором был развернут проект через докер

play06:36

то есть не было никаких CCD просто

play06:38

devops сделал небольшой Баш скрипт и я

play06:40

заходил на сервер и его перезагружал и

play06:43

один раз мне devs сказал пожалуйста

play06:46

Перезагрузи контейнер с базой данных и я

play06:49

естественно не знал как это сделать И я

play06:51

не спросил у него какой команд это

play06:52

делается потому что ну как бы а вдруг

play06:54

уволят и я собственно случайно дропнул

play06:57

не только контейнер но и то есть саму

play07:00

базу данных и её не стало Ну слава Богу

play07:03

были бэкапы и в итоге базу восстановили

play07:05

но было невероятно страшно поэтому мне

play07:07

кажется что джунов подпускать до

play07:10

реального сервера до реальных там

play07:12

например докер контейнеров крайне

play07:14

нежелательно потому что ещё человек

play07:16

неопытный он ещё не ронял прот и очень

play07:18

страшно доверить ему вот такую задачу

play07:21

Кстати если вы хотите стать Python Back

play07:23

разработчиком У меня для вас важная

play07:24

новость у меня есть курс по backend

play07:26

разработке на Python на одном из самых

play07:28

популярных фреймворков

play07:29

API уже более 500 учеников прошли курс

play07:32

многие устроились Junior кто-то сразу

play07:34

idle разработчиком и успешно работают в

play07:35

курсе Мы напишем полноценный Т проект с

play07:38

нуля заложим архитектуру базы данных

play07:40

архитектуру приложения и доведём его

play07:42

самым современным стеком до

play07:44

развёртывания на реальный сервер вы

play07:46

сможете добавить проект в свой портфолио

play07:47

и показывать работодателям для

play07:49

трудоустройства курс будет доступен для

play07:51

покупки только до 31 мая 2024 года после

play07:54

этого его будет невозможно купить в

play07:56

Курсе есть три бесплатных модуля

play07:58

обязательно заходите по ссылке в

play07:59

описании и пробуйте их чтобы понять

play08:01

Подходит ли вам курс информацию по

play08:02

отзывам содержанию и тарифам вы сможете

play08:04

найти на моём сайте по ссылке в описании

play08:06

переходите и ознакамливаюсь буду рад

play08:08

видить вас на курсе далее работа с базой

play08:10

данных что делает midle midle уже может

play08:13

проектировать базу данных с

play08:14

использованием нормальных форм он

play08:16

понимает как выстраиваются таблицы там

play08:19

что такое Many to Many таблицы где нужно

play08:21

разделить таблицу на две где нужно

play08:23

наоборот нарушить нормальные формы и

play08:26

сделать денормализация

play08:29

эффективность в его продукт далее Это

play08:31

использование уже продвинутых техник это

play08:33

views это триггеры это написание функций

play08:35

использование различных плагинов для

play08:37

например того же пост SQL которых

play08:39

огромное количество и так далее человек

play08:41

разбирается в индексах понимает На какие

play08:43

Столбцы их нужно навешивать Как

play08:44

оптимизировать запросы и многое другое

play08:46

помимо этого midle уже знаком хотя бы в

play08:49

теории какие есть сервисы технологии там

play08:53

Мон rit кубе как они работают может быть

play08:55

он с ними не работал но он понимает для

play08:58

чего они нужны какие каки задачи они

play09:00

решают и также человек уже не так

play09:02

страшится новых технологий там того же

play09:04

там монго Реди если он никогда с ними не

play09:06

работал он просто пойдёт посмотрит там

play09:08

видео почитает документацию напишет

play09:10

небольшой код и поймёт как оно работает

play09:12

ему уже не страшно новы технологии Он

play09:14

легко с ними знакомиться И давайте

play09:16

перейдём к мышлению Мидл разработчика

play09:18

как я это вижу О чём думает Мидл

play09:20

разработчик Ну первое он уже понимает

play09:22

куда нужно двигаться Какие технологии

play09:24

есть какие технологии ему нравятся какие

play09:27

не нравятся И куда нужно идти что бы

play09:29

повышать свой грейд повышать свою

play09:31

специализацию и свой оклад естественно

play09:34

помимо этого человек начинает ценить

play09:36

своё время он понимает что есть какие-то

play09:37

бесполезные созвон митинги ретро которые

play09:40

может быть идут 3 часа и он понимает что

play09:43

из них только полезные полчаса человек

play09:45

понимает что ему нравится писать код или

play09:48

ему нравится идти уже в тем листва Да

play09:49

это опять же про определение своего

play09:51

карьерного трека и очень важно человек

play09:54

умеет задать уточняющие вопросы он уже

play09:57

не боится что его уволят он уже не

play09:58

новичок он понимает что он может

play10:00

сэкономить уйму времени просто задав

play10:02

вопрос там более квалифицированному

play10:04

специалисту или даже младшему

play10:06

специалисту который в большем контексте

play10:08

по какой-то задаче то есть человек ценит

play10:10

своё время понимает что если он задаст

play10:12

вопрос Да может подумает что ну какой-то

play10:14

он там не такой но он быстрее выполнит

play10:17

задачу и справится собственно со своей

play10:18

работой Кстати если вы сейчас ищете

play10:20

работу или просто хотите узнать почему

play10:22

ваше резюме отсеивать и вас даже не

play10:24

приглашают на собеседование и даже не

play10:26

списываются с вами то обязательно

play10:27

посмотрите моё видео Почему 0%

play10:29

разработчиков составляют неграмотные

play10:31

некорректные резюме и почему Их не зовут

play10:33

на работу и теперь сеньоры что же они

play10:36

делают Давайте посмотрим Синьор на

play10:38

уровне кода Ну во-первых Синьор

play10:41

придумывает продумывает масштабируемые

play10:44

красивую читае архитектуру проекта он

play10:48

уже имеет огромную насмотренность он там

play10:51

уже в течение там 4-п может быть лет

play10:53

просматривал огромное количество

play10:54

проектов писал на разных фреймворка и

play10:57

понимает Что отличает хороший проект от

play10:59

плохого помимо этого человек различает

play11:01

плохой и хороший код он понимает что не

play11:03

все там ответы на Стойко Overflow

play11:05

хорошие может быть код рабочий но он

play11:07

понимает что это некачественное решение

play11:09

оно не масштабируемой оно какое-то

play11:11

Костыль и он придумывает своё более

play11:13

качественное помимо этого человек

play11:15

прочитал опять же огромное количество

play11:17

документаций различных проектов отсл код

play11:19

ревю и он может быстро разобраться в

play11:21

новом проекте незнаком для него прийти

play11:23

там в новую компанию в новую команду и

play11:25

быстро вкатиться в работу поэтому он и

play11:28

Синьор Теперь давайте перейдём к

play11:29

следующей теме - это CCD мне просто

play11:31

очень нравится эта тема последнее время

play11:32

я в ней прокачиваюсь если вам интересно

play11:34

я обязательно запишу полный гайд Как

play11:36

работает CCD Как настроить самому если

play11:38

вам нравится ставьте лайк и пишите в

play11:40

комментарии Синьор умеет выстраивать CCD

play11:43

пайплайн он уже понимает как

play11:44

разворачивается продукт Какие в нём есть

play11:47

сервисы Может быть микросервисы как они

play11:48

связаны как прямо выстроить архитектуру

play11:51

приложения То есть он разбирается в теме

play11:54

систем дизайна и человек понимает какие

play11:57

есть узкие места системы где где нужно

play11:59

оптимизировать где не нужно

play12:01

оптимизировать и Овер инженери очень

play12:04

часто делают джуны там хотят какой-то

play12:06

участок кода может быть не сильно

play12:07

значительный супе оптимизировать чтобы

play12:09

он занимал не 300 миллисекунд а 250 а

play12:12

сеньор понимает что Ну этим пользуются

play12:14

два человека в день и типа ну не нужно

play12:16

этого делать И нужно искать самые не

play12:18

оптимальные места системы и Давайте

play12:20

посмотрим на систему которая может

play12:21

спроектировать спокойно с неё

play12:23

разработчик Вот такая систем где есть

play12:25

например какой-то фронтенд мы за него не

play12:27

ответственны мы ответственны за engins

play12:30

наше приложение например на Python Java

play12:32

Go PHP мы знаем как это всё развернуть в

play12:34

docker в docker compose мы знаем что

play12:36

нужен ш мы там поднимаем дис мы знаем

play12:38

что Нужна база данных мы определяем это

play12:40

SQL база данных но SQL база данных Нужны

play12:42

ли нам какие-то транзакции нужны ли нам

play12:44

джоны и всё такое человек уже попробовал

play12:46

огромное количество технологий на

play12:47

практике он не только в теории их знает

play12:49

он прямо на практике работал там с SQL

play12:51

базами данных но SQL базами данных м там

play12:54

настраивал там себе в пед проектах в

play12:56

других компаниях настраивал etl процессы

play12:58

в общем очень осведомлён о том какие

play13:01

системы используются в разных продуктах

play13:03

и он с лёгкостью может решить любую

play13:05

проблему которая вообще возникает и

play13:07

человек по сути может проектировать и

play13:09

оптимизировать целые системы понимать

play13:12

как в каком порядке нужно выстроить

play13:14

приоритеты разворота где узкие места

play13:17

Какие задачи можно делегировать Что

play13:19

делается просто что нужно сделать самому

play13:21

чтобы не допустить ошибок и Давайте

play13:23

посмотрим на мышление синьора Почему

play13:26

этот человек зарабатывает больше медла

play13:28

Джуна

play13:29

Почему какие-то люди Имея не так много

play13:32

технических скилов тем не менее легко

play13:35

залетают на синьора и получают большие

play13:38

оклады что их отличает Давайте посмотрим

play13:41

у синьора есть следующие навыки и умения

play13:44

и они все стоят денег на самом деле

play13:47

Первое это понимание целей бизнеса

play13:50

человек уже не просто выполняет задачи

play13:52

как робот Как ма

play13:54

пориже ви

play13:58

за как их приоритизировать А что более

play14:00

важно для бизнеса вот эта фича или вот

play14:03

этот тест или вот этот рефакторинг или

play14:05

это тех долг или вот эта фича и он не

play14:08

просто задумывается об этом он спокойно

play14:11

идёт например к продукту и спрашивает А

play14:13

зачем мы это делаем то есть он всегда

play14:16

старается понять зачем нужна эта фича

play14:18

потому что он понимает что его время

play14:20

дорого ценно и он хочет максимально с

play14:23

пользой применять свои знания и навыки

play14:25

человек помимо этого не просто выполняет

play14:28

задачи

play14:29

он погружается в контекст в бизнес в

play14:32

фичи в то какие клиенты Какая целевая

play14:34

аудитория И он помогает в развитии

play14:36

продукта он не просто слушает на делике

play14:39

вот сегодня мы делаем такую фичу такой

play14:42

фикс и так далее он комментирует он не

play14:45

соглашается он аргументирует свои

play14:48

размышления он понимает что

play14:51

действительно может быть полезно для

play14:52

бизнеса потому что у него уже очень

play14:53

большой опыт разработки различных фич

play14:56

различных продуктов и сервисов и человек

play14:59

полностью понимает требования даже если

play15:02

они минимальные человек любые свои

play15:06

вопросы тут же адресуется тут же

play15:08

получает фидбек и понимает что требует

play15:11

бизнес потому что бизнес очень часто

play15:13

даёт расплывчатые какие-то требования Ну

play15:15

вот сделайте вот нам вот эту фичу Ну

play15:16

пожалуйста Ну вот мы так хотим и Синьор

play15:20

Ну имеет бизнес жилку она уже у него

play15:22

прокачана он не только имеет бизнес

play15:23

жилку он умеет общаться он не боится

play15:25

общаться не боится высказывать своё

play15:27

мнение на какой-то счёт и часто так

play15:29

бывает что мнение опытного

play15:32

разработчика может противостоять мнению

play15:35

продукта и в дискуссии может родиться

play15:37

какая-то новая идея что продукт был не

play15:40

прав а Синьор принёс какую-то идею

play15:42

которая бизнесу действительно будет

play15:43

полезна и ценна У меня есть несколько

play15:45

историй из практики одна из задач ко мне

play15:49

поступила там Привет Артём нам нужно вот

play15:51

на фронтенде Если что я разработчиком

play15:54

работаю на фронтенде вот сделать вот эту

play15:56

фичу прям вот надо и ну как мог бы

play15:59

поступить там J разработчик Может там Л

play16:01

разработчик Ну окей Как бы понятно это

play16:05

нужно пользователям Ну пойду сделаю

play16:08

А у меня есть опыт Я понимаю что я

play16:12

сейчас работаю с огромным продуктом в

play16:14

котором очень много фичей различных Я

play16:16

понимаю что мне не нужно сразу идти

play16:18

разрабатывать возможно уже в каком-то

play16:21

уголке этого приложения есть такая фича

play16:24

И когда я вот работал с приложением я

play16:27

что-то такое видел и я запомнил это я

play16:30

пошёл в Google несколько часов гуглил

play16:33

потому что я Мне казалось у меня была

play16:35

интуиция что вот это уже скорее всё было

play16:37

сделано потому что это продукт

play16:39

заточенный под там вот например

play16:40

аналитиков что там должна быть такая

play16:42

фича может быть её не увидел продукт А я

play16:44

знаю что она там должна быть я в итоге

play16:47

её нахожу и задача которая оценивалась в

play16:50

2 недели и действительно она была очень

play16:52

большая решается за несколько часов

play16:55

просто тем что я активно гуглю лучше

play16:59

понимаю продукт и понимаю что в нём

play17:01

такая фича скорее всего есть потому что

play17:04

это нужно пользователям это нужно

play17:06

бизнесу и таким образом я экономлю 2

play17:08

недели своего времени и времени команды

play17:11

это стоит денег действительно когда

play17:13

человек критически подходит к задачам

play17:16

которые ему поступают он их анализирует

play17:18

понимает их важность ценность умеет

play17:20

приоритизировать это ценный навык и ещё

play17:23

одна история была Задача От продакт ов

play17:27

Нера приходит продукт говорит вот нам

play17:30

нужно сделать вот сейчас минимальную вот

play17:32

такую mvp версию некоторой фичи а потом

play17:35

там мы её уже допили и под это нужно

play17:39

спроектировать базу данных Я понимаю что

play17:42

если её спроектировать вот для

play17:43

mvp а потом переделывать это будет очень

play17:46

дорого стоить Потому что если вы

play17:48

работали с тем чтобы

play17:51

перекрас и там несколько таблиц в базе

play17:53

данных Как там связи нужно менять уже на

play17:55

продо данных вы понимаете что лучше

play17:58

изначально заложить качественную

play17:59

структуру таблиц в базе данных и связей

play18:02

и да Это займёт Может там на 1-д дня

play18:05

больше но в будущем это сэкономит

play18:06

огромное количество нервов главное денег

play18:09

компании и вы будете ценным специалистом

play18:12

вот такие На мой взгляд навыки умения и

play18:15

мышление соответствует ниор midle и

play18:18

Синьор разработчикам вся эта схема будет

play18:20

доступна в моём Telegram Боте ссылка

play18:22

будет в описание обязательно заходите

play18:23

Если Вы не согласны Заходите в Telegram

play18:26

канал обязательно буду рад с вами

play18:27

обсудить это спасибо за ни и всем пока

Rate This

5.0 / 5 (0 votes)

Related Tags
Развитие карьерыРазработчикJuniorSeniorУменияНавыкиIT карьераТехнический ростПроектыАрхитектураОптимизацияКодCDDockerБизнес пониманиеКоммуникацияПродуктРешение проблемРазвитие технологий
Do you need a summary in English?