Уникальная возможность стать соавтором нового медиа. Предложи редакции свою новость или статью.

Фронтенд: между дизайном и разработкой

Фронтенд: между дизайном и разработкой

Если зайти на любой сайт по поиску работы, создается впечатление, что фронтенд-разработчик — это специалист-хамелеон. Он хорошо знает JavaScript, разбирается во фреймворках и библиотеках, понимает, что находится «под капотом», но еще разбирается в дизайне и его грамотном применении.

О том, что такое фронтенд и как с ним работать, рассказали разработчики ГК «Астрал»: Сергей Игнахин, Степан Сапрыкин и Владимир Линкевич.

разработчики ГК «Астрал»: Сергей Игнахин, Степан Сапрыкин и Владимир Линкевич.

Степан Сапрыкин, фронтенд-разработчик • Владимир Линкевич, фронтенд-разработчик, тимлид • Сергей Игнахин, fullstack-разработчик, техлид

Старт в разработке

Сергей: Разработкой я занялся еще в школе, мне было лет 14. Хотел рисовать мультики во Flash. Во время работы с ним я узнал о существовании языков программирования таких как JavaScript и ActionScript. Стал интересоваться и другими языками программирования. В то время интернет не был так распространен, потому приходилось копить деньги и покупать книги. Мой первый язык, на котором я начал полноценно писать – Visual Basic. Очень хороший язык для изучения, но для разработки больших проектов не используется. Потом поступил на программиста и долгое время писал на Delphi. Были и другие языки, но Delphi мне нравился больше. Со временем начал изучать C#. Именно с него началась официальная карьера разработчика. На данный момент этот язык один из самых используемых в «Астрале». Работая здесь, повышал свой уровень знаний. Получил проект в разработку – «Астрал Отчет 4.0». Какое-то время я там был тимлидом, а потом решили разрабатывать «Новый Астрал Отчет». Это тоже определенным образом повлияло на мой путь разработчика.

Степан: Программировать на серьезном уровне я начал относительно недавно, но первую программу попытался написать в классе десятом на QBasic. В университете немного писал на том же QBasic, на Delphi, Pascal, C++ и других. После окончания университета, около пяти лет работал в совершенно другой сфере: банки, прямые продажи. Работать в IT начал с 2016 года системным аналитиком. Примерно в то же время увлекся изучением языка JavaScript, что в итоге вылилось в смену профессии с аналитика на разработчика. В команде «Астрала» я с ноября 2018 года.

Владимир: Разработкой занялся еще в школе. Причем, это было создание простых веб-страниц. Я начал учиться верстать с помощью табличной верстки – как и все тогда. Но в школе мне полностью отбили желание этим заниматься на более продвинутом уровне: я спрашивал совета у учителей, а они не знали ничего. Говорили: «Делай как все». Через года три-четыре я снова занялся разработкой. Долгое время программировал на PHP, но потом занялся фронтендом полноценно. Около года назад начал работать в «Астрале» и мой уровень знаний повысился еще больше. Также стал недавно тимлидом. И теперь есть возможность попытать себя и в этом деле.

О фронтенде

Степан: Фронтенд… Это, скорее, творчество, но больше мыслительное.

Владимир: Да, в основном это творческая работа: взаимодействие интерфейсов, построение логики между элементами на странице, продумывание архитектуры.

Сергей: Это работа, похожая на дизайн и на кодирование одновременно: чуть-чуть кода, чуть-чуть дизайна… Смесь всего и сразу!

стикеры

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

Владимир: Есть фундаментальные знания, без них никуда. Но постоянно придется что-то развивать в себе, узнавать новое. Фронтендером можно стать за полгода-год. За это время реально подтянуть свои знания на уровень джуна (ред. Junior – разработчик, который только начал свой путь в программировании).

Личные качества фронтендера

Владимир: Терпение, стремление, внимательность.

Степан: Помимо всего этого нужно обладать аналитическим мышлением. Еще нужна усидчивость и вдумчивость при изучении новых тем: если изучать темы поверхностно, то далеко на этом не уедешь. Когда изучается какая-то новая тема, то нужно, прежде всего, изучить ее природу: как это работает под «катом», в каких условиях работает, а в каких – нет,какие есть нюансы, подводные камни и т.д.

Чистый код и удобный интерфейс

Владимир: Тут палка о двух концах, на самом деле. Изначально, надо стремиться, чтобы был чистый код и удобный дизайн. Если будет плохой код, то нормально продолжить разработку вряд ли сможешь. Но лучше смотреть на пользователя. Будь у тебя трижды чистейший код, но при этом отсутствовать функционал – пользователь к тебе не пойдет.

Сергей: Стремиться надо к адекватному. В определенных случаях чистотой кода можно пожертвовать в угоду фич (ред. Фича – какая-либо полезная особенность), которые необходимы пользователю. Идеально, конечно, продумать архитектуру так, чтобы не возникало никаких непредвиденных ситуаций, но в реальном мире такого не бывает.

Владимир: Можно говорить о соотношении удобства дизайна и чистоты кода 50 на 50. Чаще всего получается 70 на 30. Да, качество кода может влиять на скорость работы, на дальнейшую разработку, но если пользователи работают с твоим интерфейсом и им удобно – это хороший результат. Мы реалисты и понимаем, что разработки без «костылей» не бывает. Но важно помнить какой это «костыль»: пятиминутная подпорочка, которую можно убрать при удобном случае или же большая такая конструкция, которая уже почти приросла к коду.

Сергей: Главное, чтобы она корни не пустила и не тянулась полгода за тобой 🙂

рабочие моменты в Астрале

Кайф от работы

Сергей: Кайф в том, когда продукт, который ты сделал, работает. И работает хорошо.

Владимир: Когда ты можешь «потрогать», то, что ты сделал. Мое!

Степан: Удовольствие доставляет еще то, когда долго-долго думаешь над какой-то функцией, над каким-то алгоритмом, реализовываешь и в итоге оно все работает правильно и без ошибок. Приятен и результат, и само наблюдение за работой этих маленьких «шестеренок».

Владимир: Особенно круто, когда ты стоишь у истоков какого-то крупного проекта, а потом видишь результат и масштаб своей работы. Как это было с «Новым Астрал Отчетом».

Разработка «Нового Астрал Отчета»

Сергей: У нас есть клиентское десктоп-приложение, которое работает уже на протяжении семи лет. За это время кодовая база проекта выросла до огромных размеров и стала сложно поддаваться изменениям. Есть довольно распространенная практика: любой проект полностью переписывается раз в пять лет, чтобы не устаревать и соответствовать современным тенденциям.

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

Сергей: Старый клиент сделан исключительно под ОС Windows. Соответственно, сейчас совершенно другие запросы. Клиенту уже не хочется ничего ставить на свой компьютер, а хочется работать в «облаке» с любого удобного места и устройства. Никто не хочет внезапно потерять все свои данные. Вот так набил кто-то отчетов заранее, чтобы спокойно их сдать в срок, а жесткий диск на компьютере раз – и умер. Конечно, в системе предусмотрено создание бэкапов, но контроль за этим делом лежит полностью на стороне клиента. Это доставляет ему определенные неудобства. А «облачные» системы обеспечивают безопасность всех данных. Другими словами, ответственность за сохранность данных больше не лежит на плечах клиента. Это можно отнести к стандартным преимуществам любой облачной системы.

за работой

Владимир: Теоретически отчет можно набить с телефона. На практике такого мы не встречали, но вдруг. Чтобы набить отчет через мобильник, нужно адское терпение 🙂 Ну, и даже чисто визуально: прошлый клиент писался еще во времена WinForms. Хоть и его переписывали, но выглядит оно все равно немного несовременно.

Сергей: Так шаг за шагом мы и подошли к тому, что начали заниматься нашим новым продуктом для сдачи отчетности. Сформировать ядро, которое бы отвечало этой задаче. В ноябре 2017 года началась основная работа вместе с уфимской командой наших разработчиков. Я считаю, что команда в Уфе – одна из лучших, особенно их руководитель Ильгиз Юсупов. Постепенно появилась возможность сдавать отчеты в ФНС, а в феврале 2018 мы начали уже формировать сам веб-клиент. Спустя год мы его уже запустили.

ООсобенности «под капотом»

Сергей: Тогда вошли в моду микросервисные архитектуры. Они и помогли реализовать все основные функции. Набили шишек на этом, но это был хороший опыт. Суть: создание множества сервисов, которые не зависят друг от друга. Например, если сломаются «Списки дел», то пользователь все равно сможет составить и отправить отчет. Так что «Новый Астрал Отчет» – это большой кластер с микросервисами, которым очень удобно управлять с помощью Kubernetes. Это технология оркестрации от Google.

схема разработки микросервисной программы

Схема составления микросервисной программы

Сергей: Еще микросервисы позволяют упростить систему масштабирования приложения: производительность любого участка приложения можно увеличить горизонтально – добавить еще экземпляров сервисов. Также мы можем разрабатывать функционал независимо друг от друга, благодаря слабой связанности между микросервисами. Это позволило нам реализовать много разных фич. К примеру возможность ведения нескольких компаний одновременно, легкую загрузку отчетности, отправку по всем контролирующим органам, создание и редактирование отчетов. Это повлияло не только на удобство, но и на конкурентоспособность. Ведь современный пользователь любит удобство во всем. Все привыкли к сервисам настолько, что малейшее неудобство вынудит уйти к конкурентам. Мы стараемся избежать этого сценария.

Организация рабочего процесса

Сергей: У нас Scrumban – смесь систем Scrum и Kanban. Выбрана она для того, чтобы обновления для пользователей доходили максимально быстро. Мы не будем ждать, когда же у нас закончится итерация, чтобы обновить клиент.

Степан: Мы планируем на две недели вперед, но результаты доработок выкладываем сразу же по готовности. В этом плюс такого подхода. Любое приращение функционала гораздо быстрее доходит до конечного пользователя, а мы гораздо быстрее можем взяться за другую задачу.

Сергей: Еще один плюс – гибкость. Мир меняется каждый день, поэтому задача, которую мы поставили сегодня, может быть неактуальна завтра. У нас было так, что за время итерации видение продукта менялось раза по три. И это нормально.

Владимир: И без Agile никуда. С ним работается проще в команде. В «Астрале» его практикуют давно, но в разных видах. За последние годы количество людей возросло, и ими надо эффективно управлять.

работа

Влияние работы над проектом

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

Владимир: Огромной опыт. Разработка в нашей команде становится все сложнее и сложнее из-за особенностей наших сложных сервисов. Назовем это «бэкенд-фронтенд». Также у нас появилась огромная база компонентов, которые мы постоянно переиспользуем и улучшаем.

Личные принципы

Степан: Получать удовольствие от того, чем занимаешься. Если работа приносит реальный кайф, то разные трудности будут расцениваться как вызовы, а не как проблемы. А время, которое проводится на работе, не будет ощущаться потерянным.

Владимир: Никогда не сдаваться, даже если что-то не получается. Хоть девиз банальный, но он очень подходит для сферы разработки. Нет ничего невозможного. Только упорством можно выяснить: был ли у тебя пробел в знаниях или что-то надо делать просто по-другому.

Сергей: У меня девиз будет немного другой, хотя и похожий: постоянно развиваться. Нужно изучать новые технологии и наращивать опыт. Только так и можно чего-то добиться во фронтенде. И не только в нем.Узнать об актуальных вакансиях в ГК «Астрал», а также оставить свое резюме можно здесь.

Статьи по теме
«Автодор – Платные Дороги»: «ЭДО обеспечивает новый уровень сервиса для клиентов»

«Автодор – Платные Дороги»: «ЭДО обеспечивает новый уровень сервиса для клиентов»

Награда за сотрудничество

Награда за сотрудничество

Будущее в руках изобретателей

Будущее в руках изобретателей

Маленькие, но очень важные гости Астрала

Маленькие, но очень важные гости Астрала

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Go to top of page