Good dev knows
2.01K subscribers
28 photos
8 videos
191 links
Everything what the good dev shall know. Stories, hard skills, soft skills. Regularly.

Instagram: https://www.instagram.com/gooddevknows/

Questions: @PavloPoliakov
Download Telegram
Channel created
Channel photo updated
Channel name was changed to «Хороший разработчик знает»
Привет, меня зовут Поляков Павел, я 15+ лет в айти и я хороший разработчик. Так говорят мои коллеги, так говорят мои менеджеры, так я думаю про себя сам. У меня есть жгучее желание делиться знаниями с другими разработчиками и не только.

В этот канал я буду постить кусочки информации которую полезно было бы знать любому разработчику. В текстовом виде. А что еще интересно - у меня есть ТикТок: https://www.tiktok.com/@gooddevknows, где я в коротких видео тоже рассказываю о том, что знает хороший разработчик.

Поехали!
Хороший разработчик знает что такое OLTP и OLAP

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

1️⃣ OLTP - online transaction processing

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

Для OLTP часто используют реляционные базы данных, например PostgreSQL.

2️⃣ OLAP - online analytical processing

Цель - принимать решения основываясь на большом объеме данных. Например, мы хотим посчитать среднюю сумму заказа за десять лет существования нашего интернет магазина. При этом в день делается 10 тысяч заказов.

Для OLAP часто используются колоночные базы данных, предназначенные бля бизнес аналитики, например Amazon Redshift.

⬛️ Еще раз OLTP - каждый день, для поддержки бизнес процессов; OLAP - когда нужно, для аналитики. Лучше не смешивать.
Хороший разработчик знает что такое KISS, YAGNI и DRY

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

1️⃣ KISS - keep it simple, stupid

Чем проще ваша программа, тем лучше она будет работать. Тем легче покрыть ее тестами. Не нужно выдумывать лишних абстракций, стараться сделать все максимально расширяемым в БУДУЩЕМ, делаем минимум, но хорошо, то есть просто и понятно.

2️⃣ YAGNI - you aren't gonna need it

Тебе это не понадобиться. Не нужно концентрироваться на облегчении своей жизни в будущем. Пытаться представить как программа будет изменяться в будущем и подстилать себе соломку. Чаще всего, изменяться она будет не так. А может не будет. А может и вовсе окажется что этот компонент не нужен, им никто не пользуется, тогда и расширять незачем - просто удаляем.

3️⃣ DRY - don't repeat yourself

Не повторяйся или не будь заложником копи-пэйста. Если один и тот же код используется более трех раз - вынесем его в отдельную функцию. Так его будет легче поддерживать. Но помни keep it simple, если это ведет к тому, что понять что происходит будет сложнее - оставим как есть, подождем еще.

⬛️ Еще раз - не надо усложнять сейчас, если это нужно будет в будущем - время найдется.
Хороший разработчик знает как что-то объяснить, часть 1

Разработка это не только написание кода, это еще и обсуждения, умение договариваться, умение делиться знаниями и объяснять.

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

Когда мы что-то объясняем, мы помогаем слушателю ответить на вопрос "почему?". Почему, то что мы говорим это важно и стоит узнать больше про это? Объяснение снижает цену потребления информации. После того что он узнает, слушателю станет проще углубиться в тему самостоятельно.

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

Подумаем, кто будет нас слушать? Можно расположить слушателей на шкале понимания предмета.

Тем кто ближе к А нужно знать зачем это все нужно, а тем кто ближе к Z интересно знать как это сделать. В ходе объяснения мы помогаем слушателю двигаться от A до Z.

⬛️ Еще раз - резюмируем, после нашего объяснения, слушатель должен почувствовать, что он стал умнее. Дальше он сможет сам начать разбираться в теме или спросить у нас подробности.

Подписывайся, чтобы увидеть часть 2 - пошагово разберем как подготовить хорошее объяснение.
Хороший разработчик знает как что-то объяснить, часть 2.
🎥 видео в TikTok.

Мы разобрались что такое объяснение и какова его цель. Наша цель — чтобы человек, который нас слушает, почувствовал себя умнее и смог дальше углубиться в тему.

Существует простой рецепт как подготовить хорошее объяснение. Оно должно состоять из таких частей:

1. Соглашение
2. Контекст
3. История
4. Связь
5. Описание
6. Вывод

1️⃣ Мы начинаем с соглашения - какой-то общеизвестный факт, чтобы дать человеку почувствовать, что он понимает что происходит. Дать уверенность в том что он сможет понять тему.

2️⃣ Контекст - почему вещь о которой мы говорим вообще важна?

3️⃣ История - без истории наши слова это просто факты. История добавляет эмоции, слушателю проще связать себя с проблемой. Простейший сюжет — был парень Стас. У Стаса была проблема и он был в отчаянии. Стас решил проблему и теперь он счастлив. Ты хочешь почувствовать себя как Стас?

4️⃣ Связь. Если нам нужно рассказать о чем-то, о чем слушатель вообще может не знать — рассказываем на примере того что он знает. Например, как рассказать про фильм "Чужой"? "Чужой" - это как фильм "Челюсти", только в космосе.

5️⃣ Описание. Чем дальше двигается человек по шкале понимания, тем более он хочет получить ответ на вопрос "Как?". Как сделать то о чем ты говоришь? Как мне тоже стать счастливым как Стас? Теперь можно начать описывать решение, упуская неважные подробности.

6️⃣ Вывод. Резюмируем все о чем мы сказали ранее и добавляем призыв к действию. Что человек должен сделать после объяснения?

⬛️ Еще раз — хорошее объяснение состоит из соглашения, контекста, истории, связи, описания и вывода.

Теперь соберем все вместе и посмотрим пример объяснения.

Подписывайся и смотри часть 3.
Хороший разработчик знает как что-то объяснить, часть 3
🎥 видео в TikTok.

Хорошее объяснение состоит из шести частей:

1. Соглашение
2. Контекст
3. История
4. Связь
5. Описание
6. Вывод

Давайте соберем все вместе на примере, я объясню почему аккаунт "Хороший разработчик знает" это маст хэв в подписках.

Известно, что быть разработчиком это супер. У тебя интересная работа, перспективы, хорошая компенсация.

Но, как и в других профессиях, у нас есть выбор — можно быть хорошим, востребованным разработчиком и контролировать свою карьеру, а можно просто плыть по течению. Что же нужно делать, чтобы стать хорошим разработчиком?

🎬
Представьте Стаса, Стасу 25 лет, он back-end разработчик. Карьера Стаса топчется на месте, он миддл уже 3 года, менеджером быть не хочет, что делать дальше? Еще Стас любит TikTok, ведь тут можно залипнуть на смешные видео. Как-то раз Стасу в рекомендации попал ролик с аккаунта "Хороший разработчик знает", он был интересным, Стас узнал что-то новое. Стас решил подписаться на канал и через месяц понял куда ему расти как разработчику. Через 3 месяце Стаса запромоутили в синьора и подняли зарплату на 2 тысячи долларов.

Канал "Хороший разработчик знает" это как пройти дорогие курсы на Cousera, только тратить нужно всего минуту в день и он доступен прямо в TikTok.

Чтобы эффективно развиваться как разработчик, получать знания о том как быть хорошим разработчиком и закреплять уже известные — просто подпишись на аккаунт в TikTok. Здесь практически каждый день что-то новое.

Получать качественные знания из TikTok можно и это очень просто — подписывайся на аккаунт "Хороший разработчик знает" и расти как специалист.
🏁

Еще раз — хорошее объяснение состоит из соглашения, контекста, истории, связи, описания и вывода.

Сумели опознать все части в моем объяснении?