Ми шукаємо CTO

Innocode
4 min readFeb 20, 2020

Привіт! Мене звати Валерій Шипунов, я партнер та СТО в Innocode. Пишу цю вакансію, бо шукаю людину з якою я б працював в команді на щоденній основі. В перших кількох абзацах я опишу хто ми такі і чому шукаємо СТО, а вимоги до цієї позиції будуть трохи нижче.

Хто ми такі?

Innocode це Норвезько-Українська компанія. Вірніше сказати була Норвезько-Українська, бо зараз ми також маємо офіси в Швеції (Стокгольм) та в Америці (Фресно). Але культура наша — Норвезько-Українська. Зараз нас 65, в Україні ми є в Києві та у Львові, а СТО шукаємо у львівський офіс.

Чим ми займаємось? Консультуємо та впроваджуємо інновації, допомагаємо з побудовою цифрової стратегії, робимо власні продукти, а також займаємось custom software development в партнерстві з кількома клієнтами.

Так як значна частина уваги нового СТО буде присвячена нашим продуктам, треба розповісти трошки детальніше про них. Світ медіа нам завжди був близьким, in-fact, я заснував компанію у 2010 році з колишнім журналістом. В 2015 році, вже маючи значну компетенцію в медіа-домені, ми вирішили побудувати власне портфоліо продуктів для локальних газет. На даний момент більше 100 газет в Норвегії мають ліцензії на один чи кілька наших продуктів, ми допомогаємо їм доставити персоналізований та актуальний контент до читачів. Наші продукти допомагають волонтерським організаціям та спортивним клубам вирішити проблему фрагментації контенту, бути більш видимими в місцевій спільноті, а також покращують процеси внутрішньої комунікації в великих організаціях. В 2019му році разом з норвезьким муніципалітетом Sandefjord випустили ініцативу Smart City, побудовану на платформі Innocode Superlocal.

Чому ми шукаємо СТО?

Innocode у цьому році виповниться 10 років, і чесно кажучи мій фокус останні 8 років був на business development, pre-sales та people management. Як з точки зору щоденних активностей, так і з точки зору навчання та отримання навичок. Моя перша вища освіта — технічна (hardware design), та ~6 років досвіду програмування, але я не брав участі в ролі розробника чи проектувальника масштабних, складних чи розподілених систем.

На ранньому етапі створення продуктів та валідації бізнес-моделі ми не мали особливих технічних викликів, але зараз наш продуктовий відділ виріс, ми запускаємо великі пілотні проекти на кількох ринках одночасно і хочемо підсилити свою in-house технічну компетенцію. Натомість я продовжу працювати в business development / product management.

Інколи ми також розробляємо нові цифрові продукти для вибраних партнерів, тому окрім роботи з нашими продуктами, від нового СТО очікується участь в pre-sales та технічному дослідженнями.

Ми не очікуємо від нового СТО щоденного написання коду, хіба буде дуже хотітись.

Innocode is always in the process of looking for opportunities to improve, for professionals and like-minded people to join our company.

You may think “ Why does a 10 years old company have only 70 workers if it’s so awesome”. The reason is that we like to stay relatively small by headcount, but at the same time make a global impact. It helps to avoid the growth-just-for-growth sake; to have the luxury of careful selection who we work with (both in regards of people we hire and also customers we work with); and the most important to build a long-lasting and deep relationship.

Опис ролі СТО

Ми очікуємо, що ти візьмеш на себе технічне та архітектурне лідерство для команди інженерів Innocode. Ти будеш концептуалізувати, проектувати, будувати та впроваджувати нові продукти та сервіси. У тебе буде достатньо автономії, ти зможеш впливати на технічну стратегію компанії, обирати технічний напрямок розвитку.

Також ця роль передбачає менторство розробників, вплив на візію продуктів, проектування системної архітектури.

Основні обов’язки

Технічна відповідальність за набір продуктів

  • побудова нових сервісів та функціоналу, керування технічним боргом, постійний пошук можливостей для покращення платформи, робота з системними інженерами / devops над масштабуванням наших production систем

Лідерська роль у визначенні технічних вимог та рішень, реалізація та доставка цих рішень.

Робота з продуктовим та бізнес керівництвом для визначення roadmap та очікуваних результатів.

Активно долучатись до впровадження сильної software architecture, кращих практики SDLC (та участь у фазах SDLC) та нових технологій.

Загальні вимоги

  • Керувати на основі цінностей компанії
  • Невизначеність не має викликати паніку — тобі має подобатись визначати що саме має бути зроблено, і відповідно доставляти
  • Фокус на стійких рішеннях, які лишаються як зрозумілими, так і достатньо гнучкими протягом довгого часу, бажання постійного розвитку.
  • Бути командним гравцем, підтримувати нашу культуру поширення знань

Innocode technical stack

Backend: Ruby, Elixir

Frameworks: Rails, Phoenix

Frontend: React, Angular

Environments: k8s, AWS (EC2, RDS, ElastiCache, S3), Google Cloud

Зони відповідальності

People management

  • Технічні performance review, постановка цілей розвитку для команди інженерів
  • Проведення технічних співбесід, допомогти нам забезпечити найм кращих інженерів

Full time owner

  • Задачі, які ти будеш отримувати, будуть пов’язані з конкретними бізнес цілями. Вимоги до цих задач можуть бути частково визначеними, тобі треба буде проявити ініціативу та довизначити вимоги та обмеження.

Security and risk management

  • Впровадження фреймворку OWASP SAMM (або схожого)
  • Встановлення рутин для проведення аудиту безпеки, як за допомогою in-house компетенції, так і з залученням сторонніх експертів.

Software architecture

Робота з визначенням структурних частин software system. Аналіз та вибір між побудовою нових рішень, або перевикористанням існуючих in-company рішень / сторонніх компонентів. Проектування інтерфейсів між різними компонентами — це також твоя відповідальність.

Нефункціональні вимоги

Це про проведення розмежування між достатньо хорошим та ідеальним software. Зазвичай користувачам треба всього лиш стабільне рішення, яке вирішує їх бізнес-проблеми. Рішення має бути достатньо гнучким, щоб ми могли впроваджувати зміни швидко. Відповідно важливо встановлювати розважливі очікування для інженерів, щоб бізнес також був задоволений. Приклад нефункціональних вимог:

  • Компонент повинен бути стійким до перезавантаження бази даних
  • … Але якщо зв’язок не вдасться встановити протягом 60 секунд — alert

Визначення Service Level Indicators

Це відповідальність СТО визначити коректний набір індикаторів, які б відповідали реаліям нашого бізнесу. Це важливий процес, бо він встановлює цілі для команди інженерів, а також визначає напрямки для технічних покращень. Приклади:

  • Доступність. Чи можливо використовувати сервіс взагалі?
  • Кількість оброблених задач. Чи сервіс взагалі потрібен, чи він використовується?
  • Індикатори в ключових компонентах. Для того щоб мати змогу визначити проблеми на середньому рівні продукту.

Дякую за те, що дочитали до кінця.

Якщо вас зацікавила ця вакансія, пишіть будь ласка нашій СОО — ira@innocode.no.

--

--