Чем я на самом деле занимаюсь как full-stack разработчик

Фото Кларка Тиббса на Unsplash.

Некоторые коллеги и друзья спрашивают меня, что значит быть «разработчиком полного стека». Разработчик, я понимаю, вы умеете кодить, верно? Но «full-stack», что это такое?

Я работаю в стартапе в городе Квебек, мы разрабатываем и создаем литий-ионные батареи для погрузочно-разгрузочного оборудования, и эти устройства подключены к Интернету. Моя официальная должность называется «full-stack разработчик», и я в основном разрабатываю веб-приложения (или программные решения), связанные с данными, собранными со всех устройств.

Что такое full-stack разработчик?

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

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

Хорошо… Так чем же конкретно вы занимаетесь?

Управление инфраструктурой

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

Управление базами данных

Мы ежедневно собираем и обрабатываем терабайты данных, и я слежу за тем, чтобы данные были доступны пользователям, используя различные механизмы (реляционные или NoSQL базы данных, хранилища), а также за безопасным хранением и доступом к данным.

Внутренняя разработка

Внутренняя (веб-) разработка — это все, что происходит под капотом, то, что вы не видите на веб-странице. Я разрабатываю новые функции и API для доступа и обмена данными между несколькими приложениями и сервисами (внутренними и внешними), включая тестирование (модульные и интеграционные тесты), управление сервером, непрерывное развертывание, безопасность и обслуживание. Разработка back-end — это то, что я делаю лучше всего.

UI/UX дизайн

Я разрабатываю пользовательский интерфейс (UI) и слежу за тем, чтобы конечный пользователь получал наилучший опыт (UX) при работе с программными решениями, которые я создаю. Я считаю себя выше среднего, когда дело доходит до проектирования простых и эффективных пользовательских интерфейсов, но я не дизайнер. Если уж на то пошло, я одержим деталями, а также люблю изобразительное искусство, в частности, фотографию.

Front-end разработка

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

Бизнес-аналитика

Работа в компании, управляемой данными, предполагает использование данных для принятия более эффективных решений. Мы помогаем нашим клиентам сократить расходы на CPU (стоимость единицы — у каждого клиента свое определение CPU), предоставляя эффективные и индивидуальные приборные панели. Я пишу запросы (материализованные представления, кубы данных) и настраиваю карты данных, которые помогают членам нашей команды по работе с клиентами создавать отчеты или ключевые показатели эффективности (KPI).

ETL/автоматизация

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

Управление проектами

Обычно я работаю и руковожу 1-2 проектами одновременно, в которых участвуют от 1 до 3 отделов (R&D, клиентский успех, финансы, операции и т.д.). Я слежу за тем, чтобы мы достигали поставленных целей и сроков и быстро предоставляли ценность.

Преподавание/обучение

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

Заключение

Большую часть времени я занимаюсь управлением проектом, разработкой back-end и front-end, поскольку архитектура и автоматизированные скрипты уже готовы и работают без сбоев.

Когда приходят новые клиенты с новыми задачами, а существующие клиенты просят новые функции, мне обычно приходится больше или меньше работать над конкретным аспектом полного стека. Иногда я выступаю в роли архитектора облака, администратора базы данных, дизайнера UI/UX, back-end или front-end разработчика, бизнес-аналитика или разработчика ETL, менеджера проекта или просто докладчика.

Прежде всего, мне нравится решать проблемы и помогать другим быть более эффективными. Вы разработчик full-stack или инженер-программист? Чем вы занимаетесь в повседневной жизни?

Оцените статью
devanswers.ru
Добавить комментарий