[Перевод] Integrals: где я научился веб-разработке на практике
Небольшая веб-студия в Тбилиси, множество встреч с клиентами и два года разработки сайтов — с 2016 по 2018 год.

В начале 2016 года я был студентом Грузинского технического университета и учился на специальности, связанной со строительством дорог, улиц и железных дорог. Направление техническое, но не информатика. К тому времени я уже какое-то время писал код самостоятельно, и той зимой решил, что пора делать это за деньги.
Рассуждал я просто. Тбилиси — большой город с множеством компаний, и я предполагал, что кто-нибудь где-нибудь возьмёт новичка за скромную оплату. Поэтому я сделал самое очевидное: начал спрашивать друзей и знакомых, не знают ли они о какой-нибудь работе.
Одним из них был Тигран. Он не попросил ни резюме, ни портфолио. Он пригласил меня в офис.
Тестовое задание
Integrals была небольшой веб-студией с офисом на проспекте Руставели, в нескольких минутах от одноимённой станции метро. Студия работала с 2015 года, так что к моему приходу ей был примерно год. Работу с клиентами вели Тигран и его друг Бека.
Прежде всего мне дали тестовое задание: многоязычный сайт для магазина косметики в формате блога, со статьями и фотогалереей. Я сделал то, что просили, результат им понравился — на этом собеседование и закончилось.
Официально, по словам Тиграна, я начинал с поддержки. На практике этот ярлык продержался недолго.
Студия
Команда была небольшой. Два разработчика, которых называли бэкендерами, но которые на деле работали по всему стеку. Веб-дизайнер, которая заодно занималась вёрсткой. Помощник широкого профиля, больше тяготевший к фронтенду. И я.
Фиксированной зарплаты у меня не было — оплата шла за каждый проект. Студенту, которому ещё нужно было сдавать экзамены, это подходило.
Студия работала по прайс-листу с тремя основными позициями:
персональный сайт — обычно одна или несколько страниц;
многостраничный сайт с несколькими языками и галереями;
интернет-магазин — самый дорогой вариант, поскольку он включал каталог товаров и автоматическую оплату через банк.
Почти всё, что мы делали, укладывалось в этот список: сайты для гостиниц, туроператоров, ресторанов, магазинов и частных лиц. За два года я поработал над десятками таких проектов. Большинство писалось с нуля; остальное — исправление ошибок, рефакторинг или переписывание того, что оставил после себя другой разработчик.
Клиенты
Большинство клиентов студии составляли местные грузинские компании. У меня картина была другой. Поскольку мой английский был сильнее, чем у остальных в команде, проекты с иностранными клиентами часто доставались мне. Многие из них были предпринимателями из стран Ближнего Востока, обосновавшимися в Тбилиси: их офисы, гостиницы и рестораны располагались на проспекте Агмашенебели и вокруг него, недалеко от станции метро «Марджанишвили».
В нашем офисе мы встречались с ними редко. Встречались там, где было удобно им: в их офисах, в их ресторанах, в McDonald's, Wendy's или Subway, в припаркованной машине или в саду. Некоторые предпочитали решать всё по телефону.
Моя роль на этих встречах была понятной. Тигран и Бека вели переговоры, я переводил. Арабского я не знал, поэтому общим языком был английский. Я не был владельцем компании и не изображал переговорщика. Моя задача состояла в том, чтобы всё, что клиент говорил о функциональности, цветах, логотипах, страницах и языках, дошло до нашей стороны без искажений, а наш ответ — до его стороны.
Одна привычка этих иностранных клиентов поначалу меня удивляла. Даже когда заказать весь сайт сразу было бы дешевле, многие предпочитали строить его по частям: одна часть — оплата, следующая часть — снова оплата. Выходило дороже, зато они контролировали каждый шаг, и мы под это подстраивались.
Как мы работали
Стек был предельно простым. Чистый PHP (vanilla PHP) на сервере. HTML, CSS и Bootstrap на клиенте. Для дизайна веб-дизайнер обычно брала бесплатный шаблон и переделывала его под цвета и логотип клиента.
Git не было. Код мы пересылали друг другу zip-архивами через Skype, а если проект уже работал в продакшене, я загружал файлы на хостинг по FTP. Сейчас это звучит рискованно — и в принципе так оно и было, — но на практике почти никогда не приводило к проблемам по простой причине: мы почти никогда не работали над одним и тем же проектом, не говоря уже об одном и том же файле.
Две мои разработки команда заметила особо.
Первая — переиспользуемая админ-панель. Вместо того чтобы для каждого клиента писать управление контентом с нуля, я сделал универсальную, которую можно было подключить к любому сайту: что-то вроде очень лёгкой панели WordPress, но на нашем собственном чистом PHP, поэтому никакие обновления плагинов ничего не ломали.
Вторая — использование AJAX, чтобы страницы обновлялись без полной перезагрузки. Сегодня это поведение по умолчанию почти для любого веб-приложения. В небольшой студии в 2016 году это ощущалось как шаг вперёд, и команде сразу понравилось.
Слово с двумя значениями
Переводы научили меня кое-чему и в самом языке.
На одной встрече Тигран говорил с клиентом по-английски и остановился посреди фразы. Он повернулся ко мне и спросил, как по-английски грузинское слово чвенеба — «показ, показывать». Я ответил: show. Он продолжил, через минуту снова остановился и задал тот же вопрос. Я снова сказал: show. Когда это повторилось в третий раз, я напомнил, что уже отвечал.
— Я знаю, что такое show, — сказал он. — Я спрашиваю, как сказать чвенеба.
В этот момент мы оба поняли, в чём дело. Для него show было существительным — «шоу», телешоу, представление. Он не знал, что то же самое слово — это и обычный глагол «показывать». Больше он об этом не спрашивал.
Удалённая работа
Большую часть работы для Integrals я делал из дома. Первые проекты я писал в родном городе, Гори, а позже, вернувшись в Тбилиси, продолжал работать из дома и приезжал в офис или на встречи с клиентами, когда это было нужно.
Всё шло через Skype и телефон. Задачи приходили сообщениями, код уходил обратно zip-архивами, а работающие сайты обновлялись по FTP. Не было ни общего репозитория, ни ежедневных стендапов — только чёткое понимание, что нужно сдать и к какому сроку.
Это был мой первый опыт удалённой работы — за годы до того, как она стала нормой в отрасли.
Дальше
В 2018 году, после двух лет в Integrals, я перешёл в коммерческий банк. Эти два места никак не были связаны между собой. Это был просто шаг к более формальной занятости: постоянный договор, устоявшаяся организация и другой тип инженерной работы.
Я ушёл из студии, но не от людей.
Что осталось
Тигран и Бека сегодня — мои друзья. Мы вместе отмечали дни рождения — иногда в Гори, иногда в Тбилиси. Уже много позже, после моего ухода, я снова ездил с одним из них на проспект Агмашенебели, чтобы помочь с переводом на встрече, а другому помогал с JavaScript для клиента, которому нужно было бронирование прямо в календаре.
В 2021 году эта связь вернулась ещё более неожиданным образом. Мой коллега искал команду, которая работает на чистом PHP. Речь шла о старом, полузабытом сайте о Грузии, который много лет назад создал иностранный турист: он случайно побывал в стране, влюбился в неё и решил рассказать о её культурном наследии. Я порекомендовал Integrals. Они взяли проект и успешно переписали сайт.
А чему меня научили эти два года? Почти всему — потому что всё это было практикой. Общаться с клиентами. Переводить не только слова, но и требования. Оценивать объём работы. Работать без страховки. Тестировать собственный код, потому что больше некому. Сдавать работу в срок из другого города.
Ничего из этого я не узнал на лекциях. Всё это пришло из сайта для магазина косметики, десятков проектов после него и множества встреч за фастфудом.
Это перевод моей статьи, впервые опубликованной на Medium.
А где вы научились профессии — в университете, на первой работе или где-то ещё? Интересно узнать, как начинали другие разработчики. 👇
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.