{"id":6545,"title":"\u041a\u0430\u043a \u0438 \u0437\u0430\u0447\u0435\u043c \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u0431\u0440\u0435\u043d\u0434\u044b \u0441\u043d\u0438\u043c\u0430\u044e\u0442 \u0440\u043e\u043b\u0438\u043a\u0438 \u0434\u043b\u044f TikTok","url":"\/redirect?component=advertising&id=6545&url=https:\/\/vc.ru\/tiktok\/293387-brands-in-trends&placeBit=1&hash=07ebf9a0a17c2f85811d24fb804e09e72513fa4c7cc999d1730b233d3c9348bd","isPaidAndBannersEnabled":false}
Карьера
Sfera project

Один день программиста, или как создаются мобильные приложения

Обычные пользователи редко задумываются над тем, какая работа предшествует выходу готового приложения. Между тем его разработка зачастую длится не один год. И в этом процессе задействована целая команда программистов, каждый из которых вносит свой вклад в создание инновационного продукта. По мнению самих специалистов, написать код с первого раза без единой ошибки сродни фантастике. Чтобы узнать, как создаются программы, мы побеседовали с ведущим iOS-разработчиком, проект-менеджером SFERA Дмитрием Нгуеном.

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

— Если рассмотреть на примере разработки простого приложения, то потребуется 2 iOS-, 2 Android-, 2 backend- и 2 frontend-разработчика. Также нужны 2 дизайнера, архитектор, тестировщик и системный аналитик. Можно обойтись и без системного аналитика, но увеличивается время на разработку.

— Чем конкретно занимаются эти специалисты?

— Backend-программисты специализируются на серверной части. Frontend пишут код для видимой части приложения или сайта. Разработчики ядра приложения создают универсальное ядро, которое можно будет внедрять в разные платформы: на Android, iOS или web-сайт.

Архитектор разрабатывает данные, которые нужно передавать, просчитывает архитектуру всего приложения, как работает back и frontend, ставит задачу программистам. Он обладает знаниями по этим направлениям, в курсе возможных нюансов.

Системный аналитик решает сложные организационные задачи и распределяет их. Ищет варианты оптимизации процессов, согласовывает их с руководством. Взаимодействует с подрядчиками по вопросам внедрения новых решений, анализирует, нужны ли они бизнесу. Оформляет пожелания заказчика в бизнес-требования. Хорошо, если он в то же время и scrum-мастер, который помогает специалистам понять суть программной платформы, разрешает трудности в процессе разработки.

— В чем состоят ваши обязанности как проект-менеджера?

— Совместно с тимлидом мы распределяем задачи между командами программистов и обозначаем сроки выполнения. Предварительно всё согласовывается с руководителем проекта. Также на мне ответственность по контролю за действиями подрядчиков.

— Как вы выстраиваете работу в команде?

— Например, за 2 недели мы должны подготовиться к одному релизу. Мы обдумываем, что нам нужно для этого сделать. Далее распределяем задачи и проводим ежедневные митапы, чтобы оценить успеваемость команды и понять, на какой стадии находится разработка. Именно анализ задач и их распределение занимает большую часть моего времени как проект-менеджера. (В остальное время я пишу код для iOS.)

Для того чтобы выстроить эффективный рабочий процесс, необходимо понимать зависимость команд друг от друга. Так, у нас есть backend (серверная часть), frontend и разработчики ядра приложения.

Так, фронтенд зависит от бэкенда и ядра. А ядро — от серверной части и в какой-то мере от фронтенда, поскольку он находит актуальные баги. Бэкенд предоставляет функционал, который не виден пользователю, для того чтобы приложение работало как единая экосистема (в нашем случае). Ядро, зная структуру данных сервера, приступает к разработке. Параллельно фронтенд начинает верстку. Когда всё сверстано, ядро завершает свою работу и можно внедрять. То есть сначала идут работы по серверной части, затем на ядре и фронтенде. Такое распределение задач позволяет задействовать всех сразу.

— Как оцениваются результаты работы?

— Разработка продукта ведется по методологии Agile. Для более точной организации рабочих процессов и отслеживания результатов мы используем SCRUM и Kanban.

Задачи распределяются и реализуются согласно поставленным срокам. Мы должны их придерживаться. Решение каждой задачи оценивается по часам. Когда же задача закрывается, проверяется предполагаемое и фактическое количество часов. Выявленную разницу мы учитываем при постановке предположительного времени. В дальнейшем это помогает проводить более точный анализ временных затрат на реализацию той или иной задачи.

Как я уже сказал, спринты у нас по две недели. За это время происходит один релиз. Когда фронтенд заканчивает работу, мы делаем активные функции и отправляем всё это тестировщикам. Они в течение одного-двух дней проводят проверку. Непосредственно перед релизом мы правим баги и отправляем всю сборку на релиз.

— С какими проблемами в своей работе вы сталкиваетесь систематически?

— Основная проблема у нас — неточное ТЗ от отдела дизайна. При написании кода мы должны учитывать любое состояние окон, которое может быть в приложении. Все эти окна должны быть отрисованы. Все возможные недочеты должны закрываться еще на этапе проектирования приложения. И такие проблемы в основном возникают из-за недостаточности знаний и неопытности тех, кто разрабатывал и дизайн, и ТЗ.

— Что поможет избежать ошибок и переписывания кода?

— Большое значение имеет правильно составленное ТЗ. Этим также занимается системный аналитик. При этом нужно максимально декомпозировать все задачи для написания кода. Требования следует формулировать как можно конкретнее. Нам, программистам, при разработке очень нужна и важна точность. Идеального ТЗ в своей жизни я еще не видел. Но если что-то непонятно, всегда можно обратиться к знающему человеку и спросить. Самое важное в любой работе — это общение. Без взаимопонимания ничего не получится.

— Какие проблемы возникают при работе с программистами?

— Зачастую это непонимание того, что требует бизнес. Неумение работать в команде. Бывает, программист говорит: «Вот мой кусок кода — его не трогайте». А иногда появляется необходимость посмотреть этот код. И проект-менеджер «лезет» в этот код. А в дальнейшем могут возникнуть разногласия. Поэтому разработчикам очень важно научиться работать сообща. Проект-менеджер должен так выстраивать рабочий процесс, чтобы была достигнута задача заказчика в обозначенные сроки.

— Как избежать неприятных моментов в работе?

— HR должен правильно подбирать персонал. На собеседовании обязательно задать ряд вопросов, по которым можно определить, есть ли у кандидата soft skills. Это первый фильтр. Далее HR советуется с командой и принимает решение, сможет ли специалист взаимодействовать с коллегами. Такой подход уменьшит вероятность конфликтов в будущем.

— Дмитрий, расскажите, какие навыки необходимы для того, чтобы стать тимлидом или проект-менеджером?

— Чтобы стать тимлидом или проект-менеджером, помимо специальных знаний по разработке, необходимы хорошие soft skills. Самодисциплина, тайм-менеджмент, умение выстраивать личную и командную работу. Hard skills можно наработать, это сложно, но можно. Но наличие гибких навыков — на первом месте. Даже высококлассному разработчику будет тяжело работать в проекте без умения налаживать контакты с другими людьми. И самое главное — решать задачу бизнеса.

— Как сформировать команду из квалифицированных специалистов и где их найти?

— Основная масса таких программистов идут работать в известные компании. При этом хороший разработчик пойдет в стартап, если проект ему покажется интересным. В начале придется нанимать джунов и сформировать из них команду. Мидл не пойдет в проект, если там никого нет. Тенденция на рынке труда такова, что средних и старших разработчиков (middle и senior) привлечь очень сложно. Они соглашаются работать за достойную зарплату. Поэтому на их оплате труда сэкономить не получится.

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

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

{ "author_name": "Sfera project", "author_type": "self", "tags": [], "comments": 9, "likes": 3, "favorites": 28, "is_advertisement": false, "subsite_label": "hr", "id": 231522, "is_wide": true, "is_ugc": true, "date": "Thu, 08 Apr 2021 22:22:26 +0300", "is_special": false }
0
9 комментариев
Популярные
По порядку
Написать комментарий...

Не знаю что это было. Типа азбука для капитана очевидность? 

6

Что ещё напишет копирайтер?

4

Архитектор, разрабатывающий данные, — это сильно.

4

Как бы я хотел посмотреть в глаза тому лоху, которому продают эту мертвую кошку под названием проект "Сфера". Сколько лет они тянут бабки из этого бедолаги.. аж до слёз))

На сколько я понимаю - 4-й год они его разводят! Вы лучше про этот опыт напишите - вот будет занимательная и очень поучительная история.

3

Вообще все так и есть - от правильного ТЗ со стороны UX/UI дизайнеров зависит напрямую скорость разработки, однако часто бывает что дизайнеры не знают как правильно общаться с разработчиками.
Думаю для начинающих будет полезно, если автор статьи разовьёт эту тему в следующих выпусках - «как правильно составить ТЗ для разработчика».

1

Ммм, у нас дизайнеры уже ТЗ занимаются. До чего пандемия довела!

1

Может и один специалист за месяц написать, все очень относительно. В статье скорее описан частный случай энтерпрайз-разработки, в которой бюджет практический не ограничен.

1

На картинке, какой-то лютый говнокод с построением запроса

1

HR: Скажите, у вас есть soft-skills?
Программист: да, есть.
HR: Вы приняты.

0
Читать все 9 комментариев
Банк России утвердил порядок тестирования неквалифицированных инвесторов

Банк России утвердил в новой редакции стандарт, который устанавливает порядок тестирования неквалифицированных инвесторов для допуска к совершению сделок со сложными финансовыми инструментами.

Как сделать карьеру из незакрытого со школы гештальта

История создания самого успешного в России университетского мобильного приложения

Задания от самого титулованного программиста в мире и 3,72 млн призовых: каким был VK Cup в этом году

Зачем в VK Cup ежегодно участвуют тысячи специалистов из разных стран и чем запомнится турнир в этом году? Отвечаем на главные вопросы.

Еврокомиссия официально предложила сделать USB-C единым зарядным портом для смартфонов и других устройств Статьи редакции

Принятие проекта, вероятно, сильнее всего повлияет на Apple.

Burger King и закусочные Tim Hortons протестируют многоразовые контейнеры и стаканчики Статьи редакции

Их будут выдавать в кафе под залог, а получить деньги обратно можно при сдаче посуды в кафе.

Многоразовая посуда Loop Burger King
90 самых полезных статей на vc.ru для предпринимателей

Привет, это команда Логомашины. За несколько лет мы прочитали тысячи материалов на vc.ru, а сегодня делимся подборкой из 90 статей, которые нам кажутся самыми полезными для тех, кто создаёт или развивает свой бизнес.

МТС перебил вводной кабель в квартиру, когда проводил интернет

Компания обесточила квартиру на несколько дней и отказывается компенсировать ремонт

Пять брендов, которые выпускают одежду, аксессуары и декор из мусора

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

Еду к деду
Предсказал будущее интернета в 90-ых и пропал, когда его прогнозы стали сбываться: история Филипа Агре Статьи редакции

Исследователь рассказал об опасности сбора данных ещё до запуска Google и Amazon, поставил под сомнение этичность работы над искусственным интеллектом и предсказал китайскую систему рейтинга.

Филип Агре NPR
Без сложных слов и длинных предложений: чем проще говорит директор, тем выше доходность акций компании Статьи редакции

Японская компания Nomura Holdings проанализировала речи руководителей 1000 фирм с самыми рентабельными акциями в США. Акции компаний, чьи директора использовали запутанные формулировки, приносили инвесторам в полтора раза меньше доходов, рассказало Bloomberg.

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

Элизабет Холмс
основательница Theranos
S7 назовёт собственный лоукостер Citrus Статьи редакции

Название состоит из двух слов — city и Russia.

null