Как-то на одном из собеседований еще до Яндекса интервьюер дал компонент, написанный на React и попросил сделать ревью этого кода, если бы мне кинули его как пул реквест. Конечно там специально было допущены ошибки в логике, кодстайле и других вещах. Мы около 10 минут рассуждали, что можно исправить и создалось ощущение будто мы уже давно работаем вместе.
Считаю такую практику очень удачной для собеседований. Во первых формат действительно располагает к уютной беседе и волнение уходит на второй план, а во вторых за короткое время можно неплохо узнать кандидата с разных углов: технические знания, подходы к написанию кода, кодстайл и то как он рассуждает в конце концов.
На первой работе тимлид делал нечто похожее, но он пришел позже меня и я не прошел через это. А недавно меня самого на собесе спросили и мне прям зашло.
Так что если проводите собеседования – берите на заметку.
@dlents
Считаю такую практику очень удачной для собеседований. Во первых формат действительно располагает к уютной беседе и волнение уходит на второй план, а во вторых за короткое время можно неплохо узнать кандидата с разных углов: технические знания, подходы к написанию кода, кодстайл и то как он рассуждает в конце концов.
На первой работе тимлид делал нечто похожее, но он пришел позже меня и я не прошел через это. А недавно меня самого на собесе спросили и мне прям зашло.
Так что если проводите собеседования – берите на заметку.
@dlents
👍23🔥4⚡3❤1
Закончился мой испытательный срок в Яндексе.
Периодами я переживал, что отстаю, долго и плохо делаю задачи и вот это все, что свойственно синдрому самозванца. Но раз в 2 недели на очных встречах с руководителем опасения развеивались и я с новыми силами шел работу работать. Спасибо тимлиду!
Что касается самого Яндекса. Тут будет небольшая подводка, что моя девушка работает рекрутером (угадайте где) и всем кандидатам говорит, что в Яндексе классная экспертиза. И это действительно так.
Если провести ретроспективу последних 3 месяцев, то я понимаю, что каждый день я просто как губка для ванны впитывал информацию отовсюду: технические моменты на ревью, которые я до этого не знал, построение процессов (а у нас в команде они очень классные), умение брать больше ответственности, общение с множеством людей незнакомых мне до этого и кучу другого. Это конечно уникальный опыт, который можно получить далеко не везде.
Все эти навыки лишь помогают становиться самостоятельным и классным специалистом. Да, порой это тяжело, но оно действительно того стоит, когда смотришь назад и понимаешь какой путь пройден и что ты получил.
@dlents
Периодами я переживал, что отстаю, долго и плохо делаю задачи и вот это все, что свойственно синдрому самозванца. Но раз в 2 недели на очных встречах с руководителем опасения развеивались и я с новыми силами шел работу работать. Спасибо тимлиду!
Что касается самого Яндекса. Тут будет небольшая подводка, что моя девушка работает рекрутером (угадайте где) и всем кандидатам говорит, что в Яндексе классная экспертиза. И это действительно так.
Если провести ретроспективу последних 3 месяцев, то я понимаю, что каждый день я просто как губка для ванны впитывал информацию отовсюду: технические моменты на ревью, которые я до этого не знал, построение процессов (а у нас в команде они очень классные), умение брать больше ответственности, общение с множеством людей незнакомых мне до этого и кучу другого. Это конечно уникальный опыт, который можно получить далеко не везде.
Все эти навыки лишь помогают становиться самостоятельным и классным специалистом. Да, порой это тяжело, но оно действительно того стоит, когда смотришь назад и понимаешь какой путь пройден и что ты получил.
@dlents
🔥48👍11❤8❤🔥3
В среду ходил впервые на местный оффлайн фронтенд митап - SPB Frontend. Он был небольшой (всего 4 доклада) и поэтому проходил вечером после работы.
Впечатления смешанные, наверное потому, что из всех докладов мне зашел только один от Яндекс Практикума о том как они LCP метрику ускоряли. Было интересно послушать как они дебажили их BFF на ноде и ускорили выполнение одной функции с 600 мс до 1 мс. В остальном ребятам респект, организация и место проведения были топчик (вы только посмотрите на это фото, атмосферненько).
Следующим планирую посетить Субботник от Яндекса 12 августа. Все таки он проходит в моем офисе, грех не прийти. Да еще и целых 2 доклада от ребят из поиска, с которыми я в одном кабинете сижу. Приходите и вы, кто из Питера.
@dlents
Впечатления смешанные, наверное потому, что из всех докладов мне зашел только один от Яндекс Практикума о том как они LCP метрику ускоряли. Было интересно послушать как они дебажили их BFF на ноде и ускорили выполнение одной функции с 600 мс до 1 мс. В остальном ребятам респект, организация и место проведения были топчик (вы только посмотрите на это фото, атмосферненько).
Следующим планирую посетить Субботник от Яндекса 12 августа. Все таки он проходит в моем офисе, грех не прийти. Да еще и целых 2 доклада от ребят из поиска, с которыми я в одном кабинете сижу. Приходите и вы, кто из Питера.
@dlents
🔥15❤6👍5
This media is not supported in your browser
VIEW IN TELEGRAM
У нас есть чат для ора, где разрешено писать только капсом. И периодически туда кто-то приходит поорать о том как все плохо. В один из таких дней пришел мой коллега фронтендер, который полдня дебажил почему его ссылка открывается в новой вкладке, но только 1 раз. То есть первое открытие идет в новой вкладке, а все последующие приводят к открытию той же ссылки в уже созданной ранее вкладке браузера.
А всему виной атрибут target=blank.
Значение атрибута target это по сути имя, которое можно использовать для обозначения в какой из вкладок нужно открыть ссылку. Например статьям из блога дать target=article и тогда они все будут открыты в одной и той же вкладке (пример в видео).
А вот _target это специальное значение, которое открывает ссылки в новой вкладке каждый раз. Вот небольшая статья css-tricks.com/targetblank/ об этом.
А вы дебажили неочевидные опечатки? Я как-то в слове const вместо первой «С» случайно написал русскую «С»😁
@dlents
А всему виной атрибут target=blank.
Заметили что-то? А проблема в отсутствии нижнего подчеркивания в начале. Да, такую опечатку сложно отловить, но оказывается это ожидаемое поведение. Значение атрибута target это по сути имя, которое можно использовать для обозначения в какой из вкладок нужно открыть ссылку. Например статьям из блога дать target=article и тогда они все будут открыты в одной и той же вкладке (пример в видео).
А вот _target это специальное значение, которое открывает ссылки в новой вкладке каждый раз. Вот небольшая статья css-tricks.com/targetblank/ об этом.
А вы дебажили неочевидные опечатки? Я как-то в слове const вместо первой «С» случайно написал русскую «С»
@dlents
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍8😁3🤔2❤1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Думаю у каждого фронтендера хоть раз в жизни была ситуация, когда ты сверстал на своем макбуке какой-то элемент, а потом к тебе приходят и говорят: "у тебя тут вообще-то горизонтальный скролл на всю страницу, иди переделывай". Вон даже у свежего лендоса от ребят из фигмы такие проблемы. У меня конечно же тоже было и не один раз.
Но недавно коллега поделился со мной как такое ловить еще на стадии верстки. А секрет прост: идем в настройки макбука -> основное -> выбираем "Показывать полосы прокрутки: всегда".
По дефолту стоит опция, которая старается скрыть их и поэтому те, кто верстают на маке, а таких, я думаю большинство, могут даже не замечать проблем с ненужной горизонтальной прокруткой всей страницы.
Так что летсгоу все менять настройки и делать веб капельку лучше!
@dlents
Но недавно коллега поделился со мной как такое ловить еще на стадии верстки. А секрет прост: идем в настройки макбука -> основное -> выбираем "Показывать полосы прокрутки: всегда".
По дефолту стоит опция, которая старается скрыть их и поэтому те, кто верстают на маке, а таких, я думаю большинство, могут даже не замечать проблем с ненужной горизонтальной прокруткой всей страницы.
Так что летсгоу все менять настройки и делать веб капельку лучше!
@dlents
🔥41👍8😱3❤1👎1
Вчера был на митапе Яндекс.Субботник, который посвящен фронтенду. На этом митапе выступают сотрудники Яндекса с докладами про внутренние инструменты и процессы на внешнюю аудиторию.
Мероприятие проходило в Питере, в офисе где я работаю. Стартовали с 11 и закончили в 17. После было афтепати. Еще ведущие сказали, что Андрей Мелихов проведет ama (ask me anything) секцию про подкасты, но мне к сожалению нужно было уходить 🥲
Что касается самого субботника – я был первый раз и мне зашло на 100%. Начиная от того, что все было классно организовано, темы докладов были интересные и я реально узнал что-то новое, заканчивая всякими мелочами и интерактивами от ведущих, которые словами не описать – нужно просто побывать там.
Вообщем всем советую присоединяться к следующему субботнику. Не знаю где и когда он пройдёт, но вероятно я напишу об этом сюда :)
Запись вчерашних докладов
@dlents
Мероприятие проходило в Питере, в офисе где я работаю. Стартовали с 11 и закончили в 17. После было афтепати. Еще ведущие сказали, что Андрей Мелихов проведет ama (ask me anything) секцию про подкасты, но мне к сожалению нужно было уходить 🥲
Что касается самого субботника – я был первый раз и мне зашло на 100%. Начиная от того, что все было классно организовано, темы докладов были интересные и я реально узнал что-то новое, заканчивая всякими мелочами и интерактивами от ведущих, которые словами не описать – нужно просто побывать там.
Вообщем всем советую присоединяться к следующему субботнику. Не знаю где и когда он пройдёт, но вероятно я напишу об этом сюда :)
Запись вчерашних докладов
@dlents
👍12🔥6❤3
Вчера в Московском офисе проходил внутренний хакатон по написанию линтеров для всего проекта Поиска. Так совпало, что наша команда как раз собирались в командировку и было приятно решение задержаться на 1 день – совместить приятное с полезным.
Мы с коллегой (не из моей команды) впервые познакомились на хакатоне и для начала взяли, что казалось попроще, ибо никто из нас до этого не писал кастомные линтеры. И выбор наш пал на запрет !important в css. Да, в stylelint уже есть из коробки declaration-no-important, но специфика проекта требует своих кастомныхвелосипедов решений.
Минутка ликбеза. Общий принцип работы линтера выглядит примерно так:
1) Парсинг содержимого файла и формирование AST – абстрактное синтаксическое дерево, по сути объект с которым нам удобно работать.
2) Проход по всем по элементам дерева, в нашем случае по css декларациям и применение вашего правила (плагина).
3) Если правило решит, что видит ошибку - оно выбрасывает ее с помощью специального метода со всей мета информацией: на какой строке она произошла, описание и тому подобное. После IDE начинает подсвечивать вам проблему.
4) Отдельным пунктом, если вы пишите свой плагин, можно попробовать сделать автоисправление в дереве (например удалить !important, как это было у нас) и сформировать новое содержимое файла на основе измененного дерева. В таких случаех при запуске линтера в режиме fix он попробует применить ваше исправление и не выбросит ошибку, если у него это вышло.
Парсинг, формирование AST и содержимого файла из AST за нас решают уже написанные парсеры. Один из таких PostCSS, который использует stylelint. Наша работа как раз написать свое правило – найти что не так в дереве и предложить фикс, по возможности.
На хакатоне мы справились быстро, поучились писать линтеры (по крайне мере для css), понетворкали, а у меня сформировалось понимание как писать более сложные линтеры. Продуктивная суббота получилась.
На скрине вырезка из оригинального плагина declaration-no-important.
А вы писали когда-то линтеры?
@dlents
Мы с коллегой (не из моей команды) впервые познакомились на хакатоне и для начала взяли, что казалось попроще, ибо никто из нас до этого не писал кастомные линтеры. И выбор наш пал на запрет !important в css. Да, в stylelint уже есть из коробки declaration-no-important, но специфика проекта требует своих кастомных
Минутка ликбеза. Общий принцип работы линтера выглядит примерно так:
1) Парсинг содержимого файла и формирование AST – абстрактное синтаксическое дерево, по сути объект с которым нам удобно работать.
2) Проход по всем по элементам дерева, в нашем случае по css декларациям и применение вашего правила (плагина).
3) Если правило решит, что видит ошибку - оно выбрасывает ее с помощью специального метода со всей мета информацией: на какой строке она произошла, описание и тому подобное. После IDE начинает подсвечивать вам проблему.
4) Отдельным пунктом, если вы пишите свой плагин, можно попробовать сделать автоисправление в дереве (например удалить !important, как это было у нас) и сформировать новое содержимое файла на основе измененного дерева. В таких случаех при запуске линтера в режиме fix он попробует применить ваше исправление и не выбросит ошибку, если у него это вышло.
Парсинг, формирование AST и содержимого файла из AST за нас решают уже написанные парсеры. Один из таких PostCSS, который использует stylelint. Наша работа как раз написать свое правило – найти что не так в дереве и предложить фикс, по возможности.
На хакатоне мы справились быстро, поучились писать линтеры (по крайне мере для css), понетворкали, а у меня сформировалось понимание как писать более сложные линтеры. Продуктивная суббота получилась.
На скрине вырезка из оригинального плагина declaration-no-important.
А вы писали когда-то линтеры?
@dlents
🔥19👍4🎉4❤2⚡1
Женился!
На второй день нашего знакомства, а было это еще в школе 6.5 лет назад, она в шутку сказала, что я буду ее мужем.
Кажется, в каждой шутке действительно есть доля правды.
@dlents
На второй день нашего знакомства, а было это еще в школе 6.5 лет назад, она в шутку сказала, что я буду ее мужем.
Кажется, в каждой шутке действительно есть доля правды.
@dlents
❤62🎉47🫡4👍3🔥3😍2⚡1
Наткнулся на npm пакет patch-package. С помощью него можно патчить нод модули и на postinstall применять эти изменения. Сам не пробовал, но знакомые говорят, что незаменимая вещь, если в чужом пакете нужно что-то подкрутить. Но сам пост вообще немного о другом.
Гуляю на улице и думаю: "Круто было бы написать похожее расширение, но для браузера, чтобы патчить сайты".
Представьте – заходишь на какой-то сайт, а плагин подпушивает скрипты и стили, которые ты сам написал, чтобы убрать бесячий блок или поправить вырвиглазный дизайн. Уже продумал в голове как делать, прихожу домой и нахожу готовое расширение, которое к тому же популярное и хорошо сделано в плане UX.
Называется User JavaScript and CSS. Поставил себе и почувствовал будто весь интернет это опенсорс, в который я могу комитить сразу в мастер. Первым делом пошел и изменил на Яндекс Поиске текст кнопки на «Загуглить», а потом в нашем аналоге гитхаба поменял текст кнопки, которая апрувит ревью реквест на «Это гениально».
Но это конечно все шутки ради. Если серьезно, то чувствую, что инструмент крайне удобный и мощный и еще не раз пригодится отключить бесячие меня блоки на сайтах или кастомных стилей накинуть. Короче советую!
Пишите идеи, что измените в первую очередь. Я вот думаю в мейле при просмотре письма спрятать давно бесячий блок, который перекрывает половину письма.
@dlents
Гуляю на улице и думаю: "Круто было бы написать похожее расширение, но для браузера, чтобы патчить сайты".
Представьте – заходишь на какой-то сайт, а плагин подпушивает скрипты и стили, которые ты сам написал, чтобы убрать бесячий блок или поправить вырвиглазный дизайн. Уже продумал в голове как делать, прихожу домой и нахожу готовое расширение, которое к тому же популярное и хорошо сделано в плане UX.
Называется User JavaScript and CSS. Поставил себе и почувствовал будто весь интернет это опенсорс, в который я могу комитить сразу в мастер. Первым делом пошел и изменил на Яндекс Поиске текст кнопки на «Загуглить», а потом в нашем аналоге гитхаба поменял текст кнопки, которая апрувит ревью реквест на «Это гениально».
Но это конечно все шутки ради. Если серьезно, то чувствую, что инструмент крайне удобный и мощный и еще не раз пригодится отключить бесячие меня блоки на сайтах или кастомных стилей накинуть. Короче советую!
Пишите идеи, что измените в первую очередь. Я вот думаю в мейле при просмотре письма спрятать давно бесячий блок, который перекрывает половину письма.
@dlents
🔥17👍3😁2
😁11👍2❤1🔥1
Ну и всех с праздником! Кто что отмечать будет из списка?)
Кстати день программиста празднуется именно сегодня, потому что сегодня 256 день в году.
@dlents
Кстати день программиста празднуется именно сегодня, потому что сегодня 256 день в году.
@dlents
❤12😁7🤔2😱1
Завтра у Яндекса день рождение – 26 лет. Сегодня по этому поводу для всех сотрудников проводилась онлайн игра. У каждого было карточка с 20 полями, ведущий Саша Гудков называл поле и нужно было зачеркивать на своей карточке такое поле. Лотерея короче.
От определенного количества совпадений открывались разные призы. Самый большой приз – 100к на путешествие (у кого 20/20), а самый маленький ачивка на нашем корпоративном сайте – нужно было набрать хотя бы 1 совпадение.
Угадайте кто такой удачливый и не смог получить даже ачивку? 🤣
Но все равно было весело. Яндекс, с днем рождения 🎉
P.S. Позже написали, что будут ачивки у кого 0/20
@dlents
От определенного количества совпадений открывались разные призы. Самый большой приз – 100к на путешествие (у кого 20/20), а самый маленький ачивка на нашем корпоративном сайте – нужно было набрать хотя бы 1 совпадение.
Угадайте кто такой удачливый и не смог получить даже ачивку? 🤣
Но все равно было весело. Яндекс, с днем рождения 🎉
P.S. Позже написали, что будут ачивки у кого 0/20
@dlents
👍14🤣9🔥5❤2😁2🌚1
Никогда не задумывался, что Яндекс (поисковик) это такой же сайт, как и другие. Наверное «интеграция» с браузером в виде поисковой строки сделала свое дело и в подсознании отложилось, что поисковик это часть браузера. Кстати, поисковая строка в браузере называется омнибокс. Ну это так, лирическое отступление.
Так вот, спустя год коммерческой разработки, когда я сидел еще на своей первой работе, меня осенило. Ну как осенило, вернее я просто впервые задумался и понял, что поиск Яндекса это сайт и делают его такие же фронтендеры. Тогда казалось, что попасть туда нереально и нужно обладать сверх навыками.
А буквально на днях, в очередной раз смотря на выдачу поиска, я глянул на адрес сайта и вместо ya.ru обнаружил localhost:3333.
Полгода пролетели незаметно, но они были невероятно насыщены. Ощущение будто ты пришел джуном на свою самую первую работу и в новинку абсолютно все. Эти полгода начались с сильного (и первого в моей жизни) синдрома самозванца, а закончились внутренней уверенность и предвкушением, что же будет дальше.
В одном посте кажется и не уместить всего, что было. Я попал в классную команду (привет моему бригадиру, который читает этот пост), впервые съездил в командировку (целых 3 раза), впервые понял, что такое брать на себя ответственность за важные вещи для команды, научился или даже адаптировался к работе в большой компании, где работают тысячи людей и много других вещей с приставкой «впервые».
Вообщем, в Яндексе клево. Вперёд в новое полугодие.
P.S на фото в Московском офисе во время командировки. С костылями. А как без них?)
@dlents
Так вот, спустя год коммерческой разработки, когда я сидел еще на своей первой работе, меня осенило. Ну как осенило, вернее я просто впервые задумался и понял, что поиск Яндекса это сайт и делают его такие же фронтендеры. Тогда казалось, что попасть туда нереально и нужно обладать сверх навыками.
А буквально на днях, в очередной раз смотря на выдачу поиска, я глянул на адрес сайта и вместо ya.ru обнаружил localhost:3333.
Полгода пролетели незаметно, но они были невероятно насыщены. Ощущение будто ты пришел джуном на свою самую первую работу и в новинку абсолютно все. Эти полгода начались с сильного (и первого в моей жизни) синдрома самозванца, а закончились внутренней уверенность и предвкушением, что же будет дальше.
В одном посте кажется и не уместить всего, что было. Я попал в классную команду (привет моему бригадиру, который читает этот пост), впервые съездил в командировку (целых 3 раза), впервые понял, что такое брать на себя ответственность за важные вещи для команды, научился или даже адаптировался к работе в большой компании, где работают тысячи людей и много других вещей с приставкой «впервые».
Вообщем, в Яндексе клево. Вперёд в новое полугодие.
P.S на фото в Московском офисе во время командировки. С костылями. А как без них?)
@dlents
🔥32👍9❤4❤🔥3🤯1👌1😍1🗿1
Готов ворваться в этот отпуск мечты. Надеюсь за такой «длительный» период коллеги не забудут меня 😂
А если серьезно, то взять отпуск длиною в 3 дня (я так делал, когда женился) и совместить его с выходными, чтобы вышло 5 дней подряд это попадание в яблочко. Вы успеете отдохнуть, при этом не сильно выпадете из рабочих задач и не нужно будет при выходе обратно вспоминать, что вообще происходит.
Мини отпуска топчик, не забывайте отдыхать.
@dlents
А если серьезно, то взять отпуск длиною в 3 дня (я так делал, когда женился) и совместить его с выходными, чтобы вышло 5 дней подряд это попадание в яблочко. Вы успеете отдохнуть, при этом не сильно выпадете из рабочих задач и не нужно будет при выходе обратно вспоминать, что вообще происходит.
Мини отпуска топчик, не забывайте отдыхать.
@dlents
👍19❤6😁6🎉2🙏1💯1