Як швидше пройти шлях від джуна до сеньйора: інтерв'ю з Senior Frontend Engineer Денисом Сидоровим
2024 рік для українського ІТ був неймовірно активним: компанії шукали співробітників навіть більше, ніж минулого року. Охоче наймали джунів та працівників без досвіду. Цей тренд відкрив нові можливості для фахівців-початківців, але також поставив перед ними безліч викликів.
Щоб зрозуміти, з якими труднощами стикаються джуни в сучасному IT-середовищі, які навички стають найбільш затребуваними і як стати незамінним співробітником, ми поговорили з Денисом Сидоровим — досвідченим лідером команди і наставником.
Денис Сидоров — Senior Frontend Engineer з багаторічним досвідом, який спеціалізується на створенні високоякісного програмного забезпечення. Його професійні інтереси охоплюють широкий спектр технологій, включаючи React, TypeScript, Node. Денис пишається створенням програмних рішень з надійною архітектурою, естетичним дизайном та оптимальним користувальницьким досвідом.
— Чому ви вирішили пов'язати своє життя із розробкою та що надихає у вашій роботі?
— Ще під час навчання в Одеському національному університеті я зацікавився тим, як технологія змінює наше життя. Комп'ютерні системи та мережі надають нескінченні можливості для інновацій, і це надихнуло мене вибрати розробку. У моїй роботі мені особливо подобається знаходити елегантні рішення складних завдань, бачити, як результат моєї праці допомагає користувачам, і бути частиною проектів, які дійсно змінюють підхід до взаємодії з технологіями.
— Сьогодні ви Senior Frontend Engineer у Retriever, але, як і багато джунів, починали з невеликих проєктів. Розкажіть, як ваша кар'єра розвивалася з закінчення університету до поточної ролі?
— Свій перший практичний досвід я напрацьовував на фріланс-проєктах одразу після університету. Потім я перейшов до компаній, які спеціалізувалися на створенні онлайн-платформ. Поступово у мене ставало більше завдань та відповідальності. У 2016 році я приєднався до компанії, що займається продажем автозапчастин, де вперше зіткнувся із розробкою високонавантажених інтерфейсів.
Пізніше я працював у RelationDesk, де брав участь у розробці інструментів для управління соціальними мережами. За ці 8 років я пройшов шлях від простих компонентів інтерфейсу до складної архітектури, оптимізації API та впровадження аналітичних систем. У 2021 році наш стартап був придбаний великою скандинавською компанією Retriever, де я продовжую працювати, займаючись створенням масштабованих та адаптивних додатків.
— З усіх проєктів за вашу кар'єру, які стали для вас найважливішими і чому?
— Серед усіх проектів я виокремлю кілька, завдяки яким я не лише зміцнив технічні навички, а й навчився краще розуміти потреби користувачів та бізнесу. По-перше, це платформа RelationDesk, де я брав участь у розробці інструментів для управління соціальними мережами, що дозволило мені глибше зрозуміти, як будуються системи, що масштабуються.
По-друге, це проєкт у Retriever, де ми розробили систему публікації контенту з гнучкими налаштуваннями та аналітичними інструментами. Це дало мені досвід роботи з високонавантаженими програмами та складною архітектурою.
І, по-третє, проєкт відкладених публікацій, який став справжнім викликом з погляду оптимізації та зручності інтерфейсу для кінцевих користувачів.
— Якщо говорити про проєкти в Retriever, який був найбільш складним у технічному плані?
— Найбільш складним проєктом стала система управління публікаціями з можливістю планування та інтеграції аналітики, оскільки ми зіткнулися з кількома технічними викликами. Потрібно було забезпечити стабільну роботу з великим обсягом даних, оптимізувати запити до API, мінімізувавши затримки при взаємодії з соціальними платформами. А також потрібно було інтегрувати інтерактивні графіки та звіти у режимі реального часу.
У результаті нам вдалося вирішити ці завдання. Я впровадив архітектуру, яка дозволила масштабувати програму без втрат продуктивності та розробив модуль для кешування даних, що зменшило навантаження на API.
— Незважаючи на інтенсивний темп роботи, розробникам слід постійно стежити за новинами індустрії. Як ви адаптуєтеся до швидко змінних трендів у світі фронтенд-розробки?
— Спочатку допомагає щира цікавість до індустрії. Без цього, напевно, такий темп був би неможливим. І більшість моїх колег з цим погодяться і роблять так само. Згідно з дослідженням Stack Overflow 2024 майже 70% розробників кодують поза роботою як хобі і майже 40% кодують поза роботою для підвищення кваліфікації або самостійного навчання на онлайн-курсах.
І в цьому плані я не виняток — регулярно читаю технічні блоги, документацію, беру участь у професійних спільнотах. Коли з'являються нові технології, намагаюся випробувати їх на невеликих сайд-проєктах, щоб вивчити їх можливості та обмеження.
Згодом також приходить вибірковість. Я не женуся за всіма новинками, а вибираю тільки ті, які справді корисні для завдань команди чи бізнесу. Наприклад, я впровадив TypeScript у поточному проекті, що знизило кількість помилок у продакшені та спростило масштабування програми.
— Чи є у вас власні принципи чи стандарти, яким ви дотримуєтеся при написанні коду і які ви могли б порадити впроваджувати фахівцям-початківцям?
— Мій підхід ґрунтується на балансі між якістю та термінами, що дозволяє досягати максимальної ефективності. Найголовніше, чого варто дотримуватись, це простоти. Код потрібно писати так, щоб будь-яка з команди змогла його легко прочитати і зрозуміти. Бажано також, щоб код можна було легко покрити тестами, щоб забезпечити надійність.
У своєму коді я намагаюсь уникати дублювання, створюю компоненти, що перевикористовуються, і утиліти. І використовую сучасні практики, такі як ES6+, дотримуюся принципів SOLID і намагаюся мінімізувати технічний обов'язок. І звичайно, завжди створюю документацію для ключових частин проекту, а також залишаю зрозумілі коментарі.
— Які поради ви дали б розробникам-початківцям, які хочуть побудувати кар'єру в IT?
— Перше і головне — не бійтеся починати. Іноді здається, що IT це щось складне і недоступне, але, повірте, все можливо, якщо йти крок за кроком.
Вчіться не тільки кодувати, а й думати як розробник. Розуміти, як ваші рішення впливають на продукт і кінцевого користувача. І не забувайте ставити запитання, навіть якщо вони здаються дурними.
Знайдіть час, щоб розібратися в основах. Це як будувати будинок: без міцного фундаменту складно рухатися далі.
І ще один важливий момент — ніколи не припиняйте вчитися. Навіть якщо ви вже знайшли роботу, продовжуйте читати статті, пробувати нові технології та брати участь у спільнотах. IT — це про постійний розвиток.
— Яку книгу, статтю чи ресурс ви порекомендували б розробникам, щоб рости професійно?
— Я б порекомендував книгу You Don't Know JS Кайла Сімпсона. Вона добре допомагає глибше зрозуміти JavaScript, навіть якщо ви вже давно працюєте з ним. Це свого роду "перевірка знань", що змушує подивитися на знайомі речі під новим кутом.
Для тих, хто хоче освоїти архітектуру, корисною буде Clean Architecture Роберта Мартіна. Вона дає розуміння, як будувати системи, що масштабуються і підтримуються.
З онлайн-ресурсів мені подобається frontendmasters.com — це просто джерело матеріалів, особливо для тих, хто хоче прокачати свої навички в React, TypeScript та інших сучасних технологіях.
І звичайно, я раджу брати участь у open-source проектах. Це не ресурс у класичному сенсі, але ніщо так не вчить, як реальна практика зі справжніми завданнями.
— Для багатьох позиція сеньйор — бажана мета. А ось що далі робити — мало хто замислюється. Розкажіть, які професійні цілі ви ставите собі на найближчі 5 років?
— Кожен етап розвитку фахівця має свої переваги, тому краще зосереджуватись на поточних справах. Але не буду заперечувати, в статусі експерта ти маєш більше можливостей для реалізації більш масштабних цілей.
Тому у найближчі п’ять років я хочу сфокусуватись на створенні чогось дійсно значущого, що змінить ринок та розв’яже реальну проблему. Це може бути власний стартап або ключова роль у революційному проєкті.