×Закрыть

Как я работаю: Александр Жаботинский, Senior Software Engineer в Infopulse

[В рубрике «Как я работаю» мы приглашаем гостя рассказать о своей работе, организации воркспейса, полезных инструментах и лайфхаках]

Александр Жаботинский — Senior Software Engineer в компании Infopulse, более 9 лет работает с Python-стеком. Помимо работы в аутсорсинге, Александр развивает собственный продукт — сервис по заказу такси Cab24. Он рассказал DOU, как эффективно совмещать работу и бизнес.

О себе

Домашний компьютер у меня появился довольно рано — где-то в 5-м классе, это была «тройка» (не путать с Pentium III). MS-DOS 6.22, Windows 3.11, офисный пакет, «букварь» Фигурнова и никакого интернета. Жесткий диск был 80 Мб, и довольно скоро мне не хватило места на какую-то игру. Я удалил NC (не netcat), а после перезагрузки пришлось читать того самого Фигурнова, чтобы вернуть всё обратно. Увы, ничего не получилось: компьютер простоял два месяца, после чего пришел папин сослуживец и «починил» его. Но два месяца прошли не зря: я разобрался, как работают некоторые команды DOS, офисные программы. Позже научился устанавливать систему с нуля. Где то в 7-м классе стало интересно, как пишут программы, и я начал знакомиться с Delphi.

Закончив школу, я поступил на факультет компьютерных наук в филиал МНТУ в Полтаве. Пока учился, работал системным администратором — в городе тогда был бум на домашние сети, переход с диалапа. Наверное, RJ45 и сейчас с закрытыми глазами обожму, причем по цветам :)

После университета я уехал работать в Москву, так как там были родственники и, казалось, больше перспектив. Я думал продолжить карьеру сетевика. Увы, процесс рекрутинга оказался своеобразным. Во-первых, смотрели не на мой опыт работы, а на то, какое у меня образование, и если написано «инженер-программист», то о сисадмине речь уже не шла. Во-вторых, конечно, гражданство. В какой-то момент хотелось уехать, но помогли родственники. Я попал в небольшую компанию, которая выиграла тендер на написание/миграцию существующей информационной системы на Python/Pylons. Так началась моя карьера Python-разработчика. К сожалению, процесс натурализации был довольно длительный, и через 3 года я решил уехать в Киев, где практически сразу попал в аутсорсинг.

В Infopulse работаю уже более 4-х лет. Наш клиент — крупная телеком-компания BICS, и это накладывает определенную специфику на задачи. Поскольку заказчики преимущественно — инженеры либо менеджеры телекоммуникаций, основная часть проектов — внутренние корпоративные приложения и системы для анализа работы сетей, их мониторинг, сигнализация, всевозможные биллинги, лоад-балансеры, анализ трафика и т. п.

Программистам, которые имеют представление о работе IP-сетей, поначалу приходится сталкиваться с новой номенклатурой и технологиями, так как инфраструктура телекома сильно разнится с той, что была в привычных сетях. Как я уже говорил, у нас много задач связаны с нетворкингом, различными узлами разных производителей, всевозможным анализом и подсчетом данных. Трафик идет постоянно, его много, поэтому приложения должны быть отказоустойчивыми, должны эффективно использовать ресурсы. Много времени уделяется тестированию и контролю качества. Очень часто в проектах используется Twisted, также есть веб на Django, много легаси, начиная с Python 2.5, которое, по понятным причинам, всё чаще переписывается на 3.6.

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





Как совмещать работу и собственный бизнес

В начале 2013 года я стал сооснователем проекта Cab24 — это сервис онлайн-заказа такси по Киеву, который довольно быстро нашёл своих пользователей, так как одной из основных фишек приложения была оперативность при работе с адресной базой. Пользователь не испытывал трудностей в создании заказа, даже когда скорость мобильного интернета была ниже, чем традиционного в то время EDGE.

Особое внимание мы уделили простоте и скорости получения услуги, а не предварительному выуживанию персональной информации в виде гугл-фейсбук-аккаунтов. Поэтому регистрации на сервисе, которая обязательна почти у всех конкурентов, нет: установив приложение, можно открыть его и сразу пользоваться. В Cab24 впервые появилась функция изменения стоимости поездки во время поиска машины. Мы не злоупотребляли SMS информированием. Android-приложение хорошо работало на китайских смартфонах без Google-сервисов.

Поскольку нельзя регистрировать торговые марки, где в названии присутствуют общепринятые слова (юридически, слова, которые являются достоянием общественности) типа «такси», необходимо было придумать бренд. Название Cab24 придумал мой коллега, и, наверное, это было первое упоминание слова «Кеб» в Украине. По крайней мере в маркетах на тот момент мы ничего подобного не нашли. Иконка — тёплая, ламповая Carbodies FX4R в фас.

Сегодня заказывать такси онлайн стало обыденностью. Прогресс в предоставлении услуг мобильных операторов, уровень и стандартизация мобильных ОС и устройств упростили многие задачи, над которыми в свое время приходилось немало думать.

Касательно развития проекта, изначально было два пути. Писать весь комплекс с нуля — клиентскую и водительскую части, и далее продвигать водительскую на рынок. Или, реализовав клиентскую часть, интегрироваться в существующий рынок, который исторически работал на ПО, написаном на Delphi, фактически без документации или открытого API.

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

Второй путь предполагал интеграцию с существующими комплексами ПО при условии, что нет никаких открытых API. На первых этапах приходилось изучать трафик через Wireshark и мониторить изменения в БД.

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

По состоянию на сегодня Cab24 работает с тремя системами, традиционно большая часть написана на Delphi, и все абсолютно разные архитектурно — от дизайна БД до протоколов коммуникации. Мы поддерживаем приложения для Android, iOS и Windows Phone. Недавно география сервиса расширилась на областные центры.

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

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





Типичный рабочий день

7:00. Просыпаюсь — обычно будит ребенок. Иногда чуть раньше, иногда чуть позже. В дороге, как правило, читаю. Чаще техническую литературу, художественную редко. Предпочитаю бумажные книги.

10:00. Приезжаю на работу. Утренних стендапов или каких-то других регулярных утренних активностей у нас нет. Митинги могут быть в течение всего дня — все зависит от проекта, которым я занимаюсь. Есть weekly с коллегами из Бельгии и менеджером, остальное спонтанно.

18:00. Уезжаю домой. В дороге читаю.

19:00. Гуляю с ребенком, ужинаю, занимаюсь своими проектами.

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

Инструменты и продуктивность

На работе я использую ноутбук Hewlett-Packard с несколькими дополнительными мониторами. Каких-то специфических инструментов выделить не могу, все стандартно. Главная идея в head-офисе клиента — чтобы всё было унифицировано и можно было работать за любым столом, поэтому везде одинаковые док-станции. Для общения — Skype for business, для разработки — PyCharm.

Дома обычный компьютер. Для тестирования мобильных приложений Cab24 держу несколько смартфонов с разными ОС, так как не всё можно проверить на эмуляторе — например, работу приложения находясь в метро, когда сигнал то появляется, то пропадает.

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

Вдохновляет и мотивирует работать фидбэк от пользователей. Это касается как проектов в BICS, так и Cab24. Отзыв конечного пользователя — тот необходимый компонент, который дает стимул для развития продукта.



Книжки и самообразование

Всегда есть потребность что-то учить. Что касается моего основного профиля — Python, — в освоении возможностей языка, мне кажется, нет предела совершенству. Сейчас популярно направление в DevOps, но можно развиваться и в сторону Data science, компьютерного зрения и других направлений. Сейчас на столе лежит «Python Data Analysis».

Для Cab24 слежу за трендами мобильной разработки. Из последнего — читал «Kotlin Programming Cookbook», на очереди «Kotlin/Android Studio 3.0 Development Essentials — Android 8 Edition». Интересно новое направление разработки Google. Возможно, позже будет время посмотреть в сторону Swift.

Иногда хочется отвлечься от работы и почитать художественные произведения. Зимой читал «Сагу о ведьмаке» польского писателя Анджея Сапковского — очень понравился созданный фантазийный мир.

К сожалению, на чтение и самообразование не получается выделять слишком много времени. И на работе, и дома всегда много дел. Поэтому есть время в только транспорте.

Ретроспектива и планы на будущее

Мне нравится тот путь, который был пройден, и нет желания что-то менять. Тем, кто только начинает свой путь в программировании, советую больше работать, активнее смотреть на новые технологии. Пожалуй, не задерживаться слишком долго на одном месте работы. С первого раза может и не получится попасть на серьезный проект, где себя можно реализовать, а потому стоит не прекращать попытки и пробовать, искать. И помнить, что работа должна приносить удовольствие. Если вы чувствуете, что какая-то область увлекает вас больше других, то стоит обратить на неё внимание и развиваться в этом направлении.

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

Что до меня, в настоящий момент мне нравится развиваться технически, интересно телеком-направление. Много планов по развитию бизнеса.

LinkedIn

25 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
Для Cab24 слежу за трендами мобильной разработки. Из последнего — читал «Kotlin Programming Cookbook», на очереди «Kotlin/Android Studio 3.0 Development Essentials — Android 8 Edition»

Попробуйте открыть ваш Cab24 со смартфона, и увидите какой ужасный фронтенд у вас в проекте, я думаю вам нужно книги по html, CSS почитать для начала

Мобильную html-версию как и сайт не развиваем по причине того, что ими практически не пользуются.

так можливо тому і не користуються :)

Не думаю, была какое то время мобильная версия на jQuery Mobile, но фактически пользователи сразу переходят на установку приложения.

Напишите PWA которое будет весить 200kb и никому нативное приложение не будет нужно, так еще и web версия будет выглядеть адекватно.

Наверняка любой мобайл дев точно так же скажет про фронтенд

я думаю вам нужно книги по html, CSS почитать для начала

Лол, тут не книжки треба читати, а винайняти фрілансера який це все зробить за пару сотень баксів.

А вы лично работали с фрилансерами? За 200 баксов девелоперы максимум таски оценят.

Ні, я винаймав талановитих студентів-джунів. Можу запропонувати наші послуги, до речі :)

Готов сотрудничать. Вот передо мной 200 американских долларов, которые я отдам вашему юному дарованию за PWA-приложение. Напишите мне на info@cab24.ua, отправлю Вам техническое задание.

Так у мене вже не юні дарованія :)

Під «зробити» малось наувазі пофіксити верстку під мобілу (я так зрозумів що про це говорив автор оригінального комента). Переписувати все з нуля звісно навіть талановитий джун не буде робити за пару сотень. Хіба що ви дуже добре продаєте.

Аякже! :)

Сайт та дизайн ви ж не самі робили? Когось винаймали?

Ну не студента-фрилансера. Хотя был опыт и с ними, неудачный

10:00. Приезжаю на работу.
18:00. Уезжаю домой.

Ого, немає перерви на обід!

Статья очень интересная, спасибо.
Но ! Есть вопросы -меня вот это удивило .

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

Сеть — она везде сеть, второй уровень разделен коммутатором, третий -маршрутизатором. Что там за номенклатура ? Маршрутизаторы от разных производителей ? Разные протоколы маршрутизации ? Просто интересно,без подколов.

Уточню, структура сети сотовой связи. Следовательно фокус с чем работать это системы из этой сети. 3dnews.ru/266702

Выглядит не очень счастливым

С сохранением ссылок для индексации

Коли андроїд студіо книгу гортає то посміхається ;)

нельзя регистрировать торговые марки, где в названии присутствуют общепринятые слова (юридически, слова, которые являются достоянием общественности) типа «такси»

Puma, Orange, Apple?

Вродь как раньше можно было — теперь нельзя
да и попробуй у таких гигантов сейчас отобрать их нейминг)))

не, там хитрее — можно назваться «Apple» и продавать сигареты или недвижимость (если конечно Apple Inc не застолбила эти виды деятельности. Вроде есть фешн-бренд с таким названием.) Все, кроме яблок — вот в этом конкретном случае нельзя.

Подписаться на комментарии