Саня об IT🧑‍💻
1.07K subscribers
186 photos
4 videos
45 links
15+ лет в IT. Много знаю про frontend. Ещё больше не знаю, но совершенно об этом не парюсь (и вас научу).

Помогаю пройти финишную прямую к желаемому офферу.

ЛС: @a_shirochkin

Видео https://www.youtube.com/@sanya-it
Download Telegram
Для тех, кто рассчитывает, что эти раздачи бесплатных TG Premium - хорошая тема для роста блога)

Это уже моя вторая раздача, и кажется уже можно делать выводы.

Насчёт моей мотивации - организовал эту раздачу (стоит 1.5к) просто чтобы отметить годовщину блога, поблагодарить вас, за то что читаете и telegram как платформу, за то что этот блог тут стал возможен)

Формально количество подписчиков выросло, но просмотры (скрин 3) - вообще нет) Люди(и боты) просто подписывались чтобы выиграть этот tg premium и потом отписаться.

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

Поэтому, проведу микроопрос: кто подписался из-за этого розыгрыша premium - ставьте 🎉 (всё-таки 500 человек целых), а все остальные дочитывающие посты до конца поставят 👍
В очередной раз получил подтверждение того, что моя программа - работает)

Не только на языке typescript могу написать программу, но и могу написать на русском языке программу курса о том, как изучить язык typescript 😉😁

Очень люблю typescript ❤️ Не представляю, как без него раньше работал)

Как у вас с TS, кстати? Кто-то еще пытается устроиться на работу без базовых знаний TS? Есть ли у кого-то в работе продакшен проекты без него?

PS: появилась пара мест на менторство. Самое время написать мне в личку @a_shirochkin (например - Сань, чё по менторству?), скину ссылку с условиями, а потом созвонимся, познакомимся и поймём - комфортно ли нам вместе будет работать ☺️
Я не против книг в качестве источника знаний по программированию, но предлагать в качестве фундамента знаний по TS книгу на 352 страницы - это перебор)

Если это только фундамент, то сколько страниц надо прочитать итого?!)

Я за более практические подходы к изучению. Сам сделал пару коротких обучающих видео по TS для учеников (доступны только тем кто на менторстве). Люди посмотрели, попробовали и уже через неделю-две сдают мне свои первые задания сделанные с помощью typescript. Да, поначалу получается не идеально. Ну лучше уж как-то начать, а в процессе ментор тебя подправит, чем сначала несколько недель читать книгу, потом начать писать код и осознать, что поскольку знания не закрепил - надо читать второй раз, еще более вдумчиво)

В скринах еще пару немаленьких книжек нашёл. Кажется, что в оффдоке https://www.typescriptlang.org меньше страниц.

А вы как думаете?
🔥- никаких видео, базу изучать надо только по книгам!
👍- книги это здорово, но я уж лучше по видео )
С днём рождения 🎉

Сегодня отмечает день рождения мой YouTube.

Сначала с этим каналом получалось не очень. Преодолевал внутреннее сопротивление из-за некоторого стеснения, качество видео было так себе. Переснимал видео по несколько раз и сильно переживал за результат.

А что сейчас? Взял вебку получше, телефон обновил - тоже для более качественного контента, но самое главное - намного меньше беспокойства за результат. Стараюсь так же и даже больше, но уже не особо тревожусь "а вдруг не получится".

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

Надеюсь, был полезным для вас в этом году, а в следующем буду ещё полезнее.

С днём рождения, канал Саня об IT на YouTube! 🎉
Сложные задачи фронтендера

Ребят, думаю написать серию постов на такую тему. Поставьте 👍если интересно)
А в комментах предлагаю кратко рассказать, какие у вас были сложные задачи. Наверное у каждого разработчика есть пара историй на эту тему)
Просто о сложном: Вступление

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

Хочу прокачать ваше понимание, из чего состоит работа фронтендеров разных уровней.

Судя по комментам под предыдущим постом, под сложными задачами люди понимают разные вещи, поэтому не кидаю сразу примеры, а синхронизирую наше с вами понимание термина “сложные задачи”.

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

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

Начну за вас, 2 фактора даю: Срочность всегда добавляет сложности к задаче. Нам, как инженерам хочется найти наиболее элегантное решение и зачастую это может занять чуть больше времени, Чем просто накопипаститься или нафигачить костылей, ведь в результате получится “код с душком”. А уж если в допиливаемом модуле говнокода и так хватает, то это тоже добавляет сложности выполнения задачи.

Что еще влияет на сложность задачи? Го в комменты)
#простоосложном: Факторы

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

Поехали:
0. Отладка. Например, вышел новый Safari, а под рукой ни одного макбука.
1. Требования. Могут быть написаны ужасно, приходится много спрашивать и додумывать. Задача бывает описана более-менее понятно, но “соседний” функционал не описан нигде. И вы в реализации своей задачи можете что-то сломать. И приходится действовать вдвойне аккуратно.
2. Трудоемкость. Для кого-то задача, которой ты занимался неделю и больше - автоматически переходит в разряд сложных. Хотя она может быть просто муторной.
3. Срочность. Да, да, “чтоб вчера было готово”. Как я уже писал выше - нам, инженерам хочется найти наиболее элегантное решение, а не накопипаститься или нафигачить костылей. А срочность подталкивает к нелёгкому выбору.
4. Сложные технологически - когда надо использовать новую для тебя либу в первый раз, либо применить фичу из фреймворка, которой ранее не пользовался.
5. Легаси - приходится изучать/вспоминать вещи, которыми на нормальных проектах пользоваться не будешь. Психологически тяжело над таким долго работать.
6. Говнокод тоже добавляет сложности. Сначала вы тратите время, чтобы разобраться в нём. Потом еще и время на рефакторинг. Лично я если вижу непонятный в плане кода момент, после того как пойму про что он - сразу делаю небольшой рефакторинг, либо оставляю комменты, чтобы тот, кто столкнётся с этим кодом позже (возможно это буду снова я) потратил как можно меньше времени на его изучение.

Далее будет пара опросов на эту тему)
Правильное собеседование

Тут Женя прокомментировал мой пост и я не могу не ответить. Накрутка опыта это новая реальность на рынке, хотим мы этого или нет, нас никто не спрашивает.

Я сам регулярно провожу мок-собесы, на которых с лёгкостью нахожу нестыковки в "легенде" у некоторых ребят. Кстати, не все занимаются накруткой, в приоритете я работаю с теми, у кого уже есть какой-то опыт в разработке, но не получается вырасти самостоятельно.

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

Я сам как лид проводил последние собеседования только в таком ключе.

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

И тут призываю вас пополнить мою базу вопросов такими вот правильными вопросами на собеседовании) Пример хорошего, пусть и простого вопроса: Если мы в useEffect использовали setInterval для запуска какого-то периодического действия, каким образом мы должны его отменить?

Прочитайте пост в канале у Жени и подписывайтесь. Полезно знать что у другого тимлида в голове, сам читаю и иногда комментирую.

Пишите в комменты, предлагайте свои хорошие вопросы, которые должны быть в "правильном собеседовании". Можно как с кодом, так и устные вопросы)
Саня об IT🧑‍💻
Чаще всего, в работе разработчика мне приходится сталкиваться с задачами... Можно выбрать несколько вариантов. Пояснения в посте выше.
Посмотрел я результаты опроса и в первую очередь хочу порадоваться за тех людей, которые не отметили пункт про некачественные требования. Я думал, там будет процентов 80-90%. Удивлён ))

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

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

Знали что я работал аналитиком?
❤️- да
🔥- нет
Мои айтишные цифры

Ого, а люди то и не знают оказывается про мой разнообразный опыт. Давайте накидаю цифр на эту тему)

С 2007 в IT
Получал одновременно 2 высших (очно и вечернее) плюс работал
2 года сисадмином
3 года бэкендер C# + SQL
3 года системный аналитик
2 года руководил проектами
2016 - начал заниматься фронтом
2019 - Техлид фронта
10 лет назад ещё попробовал работу на двух работах одновременно
Поработал в: веб-студии, аутсорсе, аутстаффе, стартапе, продуктовых компаниях.
Поработал в 30+ проектах
Руководил 6 фронтами в одной команде
Руководил 3 командами по 3-5 фронтов одновременно
Получил оффер на руководство фронтом в дирекции топ банка (50+ фронтов), отказался
Работал единственным куратором на курсе по фронту, одновременно 150 учеников
Помог прокачать знания и повысить зп 25 ученикам за этот год, более подробная статистика по менторству заслуживает отдельного поста.
Самой востребованной темой оказалась "как я вырос в техлида", но рассказ невозможен без полноценной предыстории.

За свою карьеру я сменил практически все айтишные роли - от поддержки до руководителя проекта, формально не был только тестировщиком, но так или иначе тестированием занимался на протяжении всего опыта (ручное, unit и end2end автотесты).

С фронтендом впервые столкнулся в школе, где в стандартном виндовом Блокноте писал свой первый html. Без всякого автоматического форматирования, подсветки синтаксиса, автокомплитов. Полный хардкор)

Но вышло так (предыстория в этом старом посте), что работать профессионально начал над бэком плюс разработкой десктопных приложений (эдакий фулстек, но бэка 80%), так как в итоге больше разбирался в базах данных, парсинге файлов. Кстати, мой профессиональный проект (начал карьеру в крупной ИТ-компании) - модуль загрузки данных для Сбербанка. Начинался он с формы выбора файла XLS и указания настроек загрузки в БД MSSQL, далее этот модуль вырос в большую ETL систему (подробнее позже).

Поработал 3 года бэком и получил несколько повышений, последнее было на должность "ведущий разработчик" (т.е. Senior) я увольняюсь из крупной ИТ-компании и перехожу работать в банк. Крупный региональный банк под названием Урал ФД. Устроился на должность "ИТ-аналитик". В том банке под этой должностью скрывались задачи системного аналитика с некоторыми функциями бизнес-аналитика и архитектора.

Дабы не мучать вас лонгридами, ожидаю 50 ❤️и пишу следующую часть - о том как стал фронтендером и вырос в техлида.