Pull to refresh
5
0
Михаил Деркач @skeevy

Frontend Developer

Send message

Где именно лежит граница между зарплатными грейдами: как это устроено у нас

Reading time9 min
Views23K


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

В итоге мы сделали опросник из 14 пунктов, по которому за несколько минут можно оценить себя. То же самое делает про вас тимлид, и если оценки совпадают, то всё отлично, есть грейд и зарплата в нём (у нас по три уровня внутри каждого грейда, например, джун-джун, опытный джун и джун 80-го уровня). Если оценки не совпадают — начинается процесс переговоров с приведением примеров для синхронизации по части оценки и ожиданий, чтобы потом на следующей итерации они всё-таки совпали.

Пока мы попробовали этот подход на 120 разработчиках. Выглядит многообещающе. Но я хотел бы показать вам сам опросник, детали системы и обсудить, насколько прозрачной получилась такая система. Дальше в посте — предпосылки её создания, разбор каждого из параметров и ссылка на форму, которая показывает результат по нашей системе грейдов.
Читать дальше →
Total votes 36: ↑31 and ↓5+31
Comments40

Не отписался — без памяти остался

Reading time5 min
Views8.6K

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

Да, да, этот базовый момент может упускаться разработчиком, и это в свою очередь может привести к утечке памяти — об этом далее.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments4

Что спрашивают у начинающего разработчика JavaScript на собеседованиях и в тестовых заданиях

Reading time7 min
Views16K

Привет, Хабр. Меня зовут Мария, я работаю в вебе с начала нулевых, то есть с засилья статичных HTML-страниц. С тех пор я освоила много новых технологий и прошла массу собеседований. Сегодня хочу поделиться опытом: что спрашивают у JS-джунов и какие тестовые дают при приёме на работу.

Читать далее
Total votes 12: ↑7 and ↓5+4
Comments20

Webpack Module Federation: «официальное» решение в микрофронтендах

Reading time11 min
Views30K

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

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

Поехали!
Total votes 24: ↑24 and ↓0+24
Comments10

Быть тимлидом, а не казаться: обзор человечных практик и инструментов

Reading time12 min
Views36K

Как социолог в IT, я регулярно провожу исследования среди тимлидов. И часто слышу от новоиспеченных лидов, что им была бы очень полезна подготовка к их новой роли. А более опытные для прокачки софт-скиллов хотят понятную систему инструментов. Подведя некоторые итоги, я составила топ-3 самых частых трудностей:

Подозреваю, что есть инструменты, чтобы делать мою работу лучше, но я о них не знаю и не очень понимаю, где их достать;

Нелегко применять софты: быть открытым, уверенным, проявлять эмпатию.

Тяжело даются one-on-one, фидбек и общение, особенно когда надо поговорить не про работу, а про что-то еще.

То есть многие просто не знают, что делать, когда становятся тимлидами: сначала им сложно и некомфортно, у них не получается или получается не то, а ожидания бизнеса и команды не очень понятны. А потом им непонятно, как можно те самые sotf skills развивать, если каждый one-on-one отнимает массу сил. 

Меня зовут Сандра Урядова, и сегодня я хочу рассказать, как на этом пути тимлиду может помочь его собственная уязвимость, в которой, как ни парадоксально, лежит сила быть человеком. Да, иногда это очень сложно сделать, но эта сила позволит вам не только выйти из стрессового состояния, но и создать благоприятный фон в команде — вы покажете другим, что так можно: быть человеком, а не машиной.

Читать далее
Total votes 28: ↑25 and ↓3+26
Comments29

Идеальный программист. Часть 1

Reading time9 min
Views91K
Статья-конспект по книге Роберта Мартина «Идеальный программист». После прочтения книги у меня поменялось отношение к программистической жизни. В книге рассматривается процесс написания кода, сам код, отношение к задачам, TDD и много других полезностей. Читать нужно разработчикам и менеджерам проектов. Частично применимо к дизайнерам.


Читать дальше →
Total votes 77: ↑61 and ↓16+45
Comments201

Погружаемся в CSS: как использовать :where ()

Reading time6 min
Views12K

Функция :where() помогает писать меньше кода, применять стили ко всему списку и снимает головную боль при использовании CSS reset. В статье разберёмся, как это работает, и посмотрим на примеры использования.

Читать далее
Total votes 17: ↑15 and ↓2+15
Comments6

Глубокое погружение в функцию CSS :where()

Reading time7 min
Views9K

Функция CSS :where() — новейшее детище в блоке псевдоклассов. Она принимает список селекторов в качестве аргументов и минимизирует их, позволяя вам писать меньше кода и в то же время стилизовать их все вместе.

В этом уроке мы узнаем про функцию псевдокласса :where() и покажем, как ее можно использовать в продакшене. Мы обсудим наложение, специфичность в отношении функции :where(), а также рассмотрим некоторые конкретные варианты использования.

Поехали!

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments8

Как поместить ваше Next.js/React приложение в Docker

Reading time4 min
Views14K

Привет, в переводе данного руководства вы сможете узнать как поместить ваше приложение в докер.

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

Для примера приложения в этом руководстве мы будем использовать Next.js.

Читать далее
Total votes 2: ↑1 and ↓1+1
Comments9

Module Federation: простая загрузка динамических модулей

Reading time8 min
Views14K

Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы можете найти и много других статей с описанием этого подхода.

После выхода стабильной версии Webpack 5 мы решили использовать плагин Module Federation в качестве основного способа загрузки микрофронтендов. В этой статье расскажу, с какой проблемой столкнулся при загрузке динамических модулей и как её решил. Описывать будут на примере плагина Module Federation во всех деталях. Если вы слышите про этот инструмент впервые, то советую предварительно ознакомиться.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments12

ALD Pro. Почему мы решили сделать свое решение для централизованного управления доменом на ОС Astra Linux

Reading time4 min
Views37K

Это моя первая статья на «Хабре», и для начала я бы хотел представиться. Меня зовут Евгений Паутов. С сентября 2020 года я работаю менеджером продукта ALD Pro в ГК «Астра». Если говорить о компании, то ее основное направление — это разработка отечественной операционной системы Astra Linux. Помимо самой ОС, ведется разработка нескольких прикладных решений:

Поехали
Total votes 27: ↑18 and ↓9+13
Comments36

Как мы в «Сравни» провели хакатон

Reading time3 min
Views1.7K

Чем хакатон лучше традиционного найма, как организовать и что учесть.

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

Читать далее
Total votes 6: ↑4 and ↓2+6
Comments0

CSS @layer — полное руководство по каскадным слоям

Reading time26 min
Views20K

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

Читать далее
Total votes 11: ↑7 and ↓4+3
Comments3

TypeScript тип any против всех

Reading time3 min
Views8.8K

В жизни каждого разработчика на TypeScript наступает момент, когда ему хочется рвать с все связи с типом any. А ведь по началу, он казался таким милым! Сделай переменной аннотацию типа any и используй любое свойство и метод этой переменной так, как привык работать в JavaScript. Никаких тебе ошибок, все чинно и спокойно, по-старому.

Документация TypeScript оправдывает использование any только на время переноса кодовой базы из JavaScript в TypeScript, но считает постыдным его использование в полноценном проекте. Казалось бы, все хорошо, только в описании типов библиотечных функций самого TypeScript аннотации any встречаются. Очень полезный JSON.parse, один из таких методов. Мы можем каждый раз писать as unknown, а можем доопределить библиотечный интерфейс.

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments10

JavaScript: чтение и запись файлов с помощью File System Access API

Reading time7 min
Views21K



Привет, друзья!


В этой небольшой статье я хочу рассказать вам о File System Access API (далее — FSA), позволяющем читать и записывать файлы в локальную систему пользователя с помощью браузера.


Основные источники:



Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments2

Пишем собственные React-хуки на TypeScript и тестируем их с React Testing Library (часть 1)

Level of difficultyMedium
Reading time15 min
Views13K

Разбираемся на практике с тестированием собственных React-хуков с использованием TypeScript и React Testing Library, добиваясь 100%-го покрытия тестами.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments2

Как я решил проблему плохого кода с помощью architecture guide

Reading time13 min
Views15K

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

Читать далее
Total votes 26: ↑20 and ↓6+17
Comments36

Раздоры вокруг <div>

Reading time11 min
Views22K
Тег <div> — это самый универсальный и широко используемый HTML-элемент. Сам по себе <div> не представляет ничего, но он, в то же время, позволяет разработчикам превратить его почти во всё что угодно. Делается это посредством использования CSS (для стилизации), JavaScript (для функционала) и ARIA (для обеспечения доступности контента).

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

Грубые нарушения при использовании <div> выявить сравнительно просто (подробнее об этом поговорим ниже). Но мы дошли до того, что кто-то может назвать «образцом недоступности контента» полностью правильное использование <div>, или, как минимум, пример лёгкого отклонения от правильности. В таких ситуациях говорят о том, что «кому-то стоило бы вместо <div> воспользоваться семантическим HTML-элементом».

Тег <div> приходит на вечеринку, где его встречает команда A11y

Ладно. Притормозим немного. Прежде чем дружно задирать нос перед применением тегов <div> — давайте вспомним о том, что контекст — это важно.

Конечно, всегда, когда это возможно, нужно использовать семантические элементы. Но предлагаю проявить осторожность, создавая такую атмосферу, когда может показаться, что любой вариант использования <div> — это плохо… или — что замена некоего <div> на «более семантический» элемент способна улучшить доступность некоего документа.

Прежде чем об этом поговорить — ненадолго вернёмся в прошлое и заглянем туда, откуда взялся тег <div>.
Читать дальше →
Total votes 21: ↑20 and ↓1+28
Comments12

Опыт SЕО оптимизации кода на NextJS

Reading time5 min
Views8.3K

Оптимизация Сео Аудита на NextJS. Это ненастолько удачное занятие, поскольку, по моему опыту, он не дает полного контроля над event loop, который и надо приоритетно оптимизировать. Однако NextJS дает очень высокую скорость разработки, которая нужна многим продуктам, поэтому научится поднимать до 90 обязательно и в этой статье я поделюсь какие шаги мне помогли этого достичь.

Читать далее
Total votes 10: ↑8 and ↓2+9
Comments11

Разработка приложений на Typescript с использованием Nx

Reading time11 min
Views21K

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments11

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Frontend Developer
Lead
From 450,000 ₽
JavaScript
React
TypeScript
Webpack
MobX