image

«СКБ Контур» — одна из крупнейших и старейших ИТ компаний в России. В конце октября ей исполняется 30 лет, количество всех сотрудников перевалило за 8 тысяч.

По оценкам, собранным на сервисе оценки работодателей «Моего круга», в июле 2018 «Контур» разделил первое место с «Яндексом» среди компаний-тяжеловесов.

«Контур» основали в Екатеринбурге, когда город еще назывался Свердловском. Но ИТ тогда и ИТ сейчас — две разные сферы. Все развивается со скоростью света, наследие и масштабы не всегда помогают в конкуренции.

Поэтому мы попытались разобраться, какой «Контур» на самом деле — древний динозавр или передовая технологическая компания — и поговорили с Александром Голубевым, отвечающим за разработчиков в компании.




Александр Голубев

Что делает СКБ «Контур»


— Андрей Михайлов, который стоял у истоков «Контура», рассказывал, что всё началось с продажи программ по учету зарплаты и труда. В начале 90-х время было тяжелым, и в «Контуре» занимались разными вещами. Даже продажей техники и принтеров.

Программы тогда делали десктопными, их писали на C++, Delphi, часто под нужды только одного определенного заказчика. Потом, конечно, все переписали и перевели в веб. Постепенно и всё лишнее отошло, а основное осталось до сих пор — учёт зарплаты и софт для бухгалтерии.

Правда, теперь это только одно из направлений. Мы делаем продукты для всех нужд бизнеса. Сертификаты, документооборот, электронная подпись, отчетность. Продуктов стало так много, что сосчитать, сколько их на самом деле — трудная задача. Оценки расходятся в диапазоне от 30 до 60. Просто из-за вопросов, а что считать одним продуктом.


Офис «Контура» в Екатеринбурге

— Но есть какой-то продукт-локомотив?

Долгое время им был «Контур.Экстерн». В начале 2000-х появилась возможность сдавать налоговую отчетность через интернет. И хотя интернета толком ни у кого не было, мы все равно сделали ставку на веб. И оказались правы: продукт выстрелил, и начался бурный рост компании.

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

— Трудно было справляться с ростом?

Почему было? Рост и сейчас продолжается. Людей, продуктов и клиентов становится все больше и больше. Мы на четверть прирастаем год от года. Масштабируем процессы, отказываемся от неработающих, придумываем новые. Видимо, как-то справляемся.

Нам нравится, что мы разрабатываем именно свои продукты. Люди в командах —  программисты, аналитики, тестировщики — все относятся к продуктам, как своему детищу, предлагают идеи, улучшения. Нам не интересно делать заказы на внешку, которые не связаны с нашей основной работой — это не про «Контур».



О технологиях и языках


— У вас наверное еще высокие требования к качеству и чистоте кода, как это бывает в больших бизнесах. У разработчиков не возникает культа инструмента из-за этого?

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


Команда программирующих зомби на хакатоне «Контура»

Но с опытом приходит понимание, что язык — это инструмент, а инструменты можно менять. Ты начинаешь развиваться с точки зрения построения архитектуры, использования алгоритмов, хранилищ, очередей, протоколов, API— всего, где язык не важен, а важны более высокоуровневые вещи.

Поэтому среди синиоров значительно меньше тех, кто фанатично предан одному языку.

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

— Ну да, не используем только совсем низкоуровневые вещи. На ассемблере в «Контуре» не пишут.

Большая часть серверного кода у нас пишется на C#. Есть немного Java, Go и Node.js в инфраструктуре и некоторых продуктах. Мобильные приложения — на Kotlin, Swift и C# (Xamarin). Все, что вокруг data science, пишем на Python и R, без них там никуда. В зависимости от задач используем подходящие реляционные, документные, колоночные или key-value хранилища данных: MS SQL Server, MariaDB, PostgreSQL, MongoDB, Cassandra, ClickHouse, Redis, Kafka, HDFS. Есть и собственные разработки: например, Kanso — распределённое отказоустойчивое хранилище данных с семантикой бинарного лога (похоже на Google GFS), Zebra — документная in-memory база данных, Echelon — распределённая отказоустойчивая очередь заданий. Мы много лет используем их в продакшне, и, возможно, однажды они появятся в опенсорсе.

Клиентский код пишем на TypeScript или JavaScript с Flow. Главный фреймворк — React, для которого у нас написана библиотека компонентов по интерфейсным Гайдам, но где-то еще используем Angular. А вот сказать однозначно, кто победил — TypeScript или JavaScript — пока нельзя. Борьба еще идет.

— Как ты сам думаешь?

— Поскольку я из бэкендеров, то склоняюсь к TypeScript (хотя конечно писал и на JS очень много, даже еще когда не было React). Человеку, привыкшему к статической типизации, TypeScript привычнее. В любом случае, почти весь код для фронтенда или для Node.js пишется с типами.


Мастер-класс на летнем Конфуре 2018 — внутренней конференции разработчиков «Контура»

Но в целом у меня отношение к языкам не религиозное. Какие инструменты удобнее для конкретных задач, те и надо использовать. Магистерскую я вообще на Erlang писал. В 2011-м году, когда я пришел в «Контур», на Эрланге даже был написан один продукт. Но когда его главный идейный вдохновитель ушел, с поиском специалиста на замену были проблемы. Поэтому переписали на проверенный С#.

— И как вы определяете, где какой язык будет использоваться?

У менеджеров разработки и тимлидов достаточно большая степень свободы, они сами вольны выбирать инструменты и технологии. Но поскольку продукт стартует не в вакууме, они обсуждают выбор с «соседями», более опытными коллегами, смотрят, могут ли найти спецов. Свобода есть, но не могу сказать, что мы каждый день экспериментируем с новыми языками. Нам нужны проверенные инструменты для промышленной разработки, чтобы потом можно было развивать и поддерживать собственные продукты.

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

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



Обычно все обсуждается. Месяц назад была идея писать один из новых сервисов на F#. Я в таких случаях стараюсь вести диалог, спрашиваю: «А почему именно F#? Где ты будешь искать людей?» В итоге убедили человека остаться на C#. То есть, убедить — да, приказать — нет.

— А ты сам пробовал писать на F#?

Нет, но ведь и в обсуждениях подобного рода я участвую не один. У нас есть инженерный совет: семь крутых инженеров. Это люди, отобранные исходя из историй успеха внутри компании. Они наработали авторитет во многих проектах. Ещё ребята занимаются проектами по развитию Управления разработки (это подразделение, объединяющее большинство разработчиков «Контура»).

— Вы пытались собрать в этом совете разнообразие стеков?

Разнообразие хороший поинт, но для нас не главный. Поскольку инженеры крутые, у них есть достаточный кругозор. Они пишут код на C#, но для них не будет проблемой разобраться в вопросах по Java.

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



Инструментарий


Большая часть команд использует YouTrack как трекер задач. В некоторых командах используют Trello и Jira. Код пишем в Visual Studio, Visual Studio Code, Rider, WebStorm и так далее. Много используем продукты JetBrains для разных задач.

В качестве CI-системы используем TeamCity, деплоим сервисы через Octopus в приватное облако под управлением собственной системы Houston или в Kubernetes. Метрики собираем через Graphite. Для алертов по метрикам используем Moira. Логи собираем, храним и просматриваем в ELK.

Ежедневное общение идет в Slack и Telegram. Есть Стафф — собственная внутренняя соцсеть. Там публикуются новости о продуктах, вакансиях, социальной жизни, о спортивных мероприятиях. Там же можно бронировать переговорки и писать статьи. Это становится популярным каналом обмена информацией. Все больше и больше вещей обсуждается в онлайне.

В последние годы мы разрабатываем инфраструктурные решения сразу на GitHub. Самый известный опенсорсный продукт — система для уведомлений о нештатных ситуаций Moira, кроме нас её используют в Avito и Яндекс.Деньгах. Самый масштабный — Восток. Это набор инструментов для разработки микросервисов на платформе .NET, который помогает им общаться друг с другом и автоматически собирает их логи, метрики и распределённые трассировки.



О структуре компании




Самый большой офис  «Контур» находится в Екатеринбурге. С ростом компании нужно все больше сотрудников, поэтому компания постоянно расширяется. Офисы разработки уже есть в Новосибирске, Перми, Ижевске, Казани, Иннополисе, Ростове-на-Дону и Санкт-Петербурге. Причем инициатива об открытии новых офисов часто идет от самих сотрудников. Несколько крутых инженеров планировали переехать жить в Питер — тогда мы и открыли офис в этом городе.

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

«Контур» разделен на три больших направления — создание продуктов, продажи и работа с клиентами, внутренние службы. Отношения выстроены настолько горизонтально, насколько это возможно в компании из почти 10 тысяч человек: мы активно работаем над сохранением старых и появлением новых связей между сотрудниками.

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

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



О найме




— К вам сложно попасть?

— Сложно, но можно. Есть, например, большая система стажировок для студентов, которые теперь проводятся круглый год. Этим летом, например, стажировались 140 студентов, большинство остались в компании.

— Я слышал про ваши гильдии собеседующих. Расскажешь, что это?

Это инженеры разных специальностей, которые участвуют в найме программистов. Например, для бэкенд-разработчиков они проводят технические собеседования в три или четыре этапа: проверяют умение писать код, который работает; умение пользоваться алгоритмами и структурами данных; умение создавать архитектуру. У мидлов и синиоров проверяют еще кругозор в технологиях.

В гильдию сейчас входит порядка 90 разработчиков. Чтобы попасть туда, нужно выбрать этапы, которые хочется проводить (код, алгоритмы, архитектура), и провести несколько собеседований в качестве «ведомого» (обычно собеседования проводят пары «ведущих» и «ведомых» инженеров). Пройдя этот отбор, человек попадает в пул гильдии собеседующих.

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

Гильдия оценивает технический уровень кандидата и передает отчет мне или моим заместителям. Мы проводим финальное собеседование, проверяем скорее софт-скилы, насколько человеку важна ценность работы, насколько он может рефлексировать над своими ошибками.


Постерная секция на летнем хакатоне

— Такая система сделала процесс быстрее?

Безусловно стало быстрее и понятнее. Раньше существовал перечень приоритетов команд в виде рейтинга. Эйчар шел по нему сверху вниз и по очереди предлагал командам кандидата. В итоге одна команда могла с ним пообщаться и отклонить, другая пообщаться и отклонить, третья. Нельзя было понять, сколько будет собеседований у человека. Оценка технических скиллов тоже была размытой — команды уделяли внимание разным вещам.

Сейчас человек проходит четыре этапа и финальное собеседование минут на сорок. Через десять минут после него мы уже делаем оффер или отказываем.

Всё длится три, максимум четыре дня. Раньше матожидание было две-три недели.

— Для всех направлений набираете одинаково?

Нет, все эти этапы относятся в первую очередь к бэкендерам — шарпистам и джавистам. У фронтендеров эти этапы схлопнуты в одно большое собеседование.

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

Люди без горящих глаз и желания развиваться нам не подходят. Даже если мы такого человека примем, скорее всего, не сработаемся.

— Новичок приходит. Что дальше?

Они попадают в Буткамп и там проходят адаптацию. Буткамп состоит из двух частей. Первая — обучение — длится две недели: три дня на знакомство с «Контуром» в целом, с продуктами, хозяйственными моментами — где кафе, где конференц-зал, погружение в культуру, традиции, праздники; ещё полторы недели на знакомство с технологиями и инструментами. Например, разработчики повторяют чистый код, обработку исключений, использование элементов функционального программирования, тестирование и TDD, SOLID, DI. Изучают, как устроена инфраструктура и общие сервисы, чтобы говорить на одном языке с другими разработчиками.


Стендап в офисе

Кроме обучения новички общаются с тимлидами, менеджерами разработки. Тимлиды и менеджеры могут начинать общение и сами, потому что это открытая информация — кто пришел с очередным набором. А набор в Буткамп случается каждые три недели.

В итоге, за эти две недели кандидат определяется, в какие команды он пойдёт на стажировку.

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

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

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

Есть крутые инженеры, которые ушли из «Контура» и работают теперь в Facebook, Amazon и Google.

Конечно, чтобы их удерживать, недостаточно плюшек на кухне и зарплаты побольше. Нужны прорывные задачи. У нас есть большие и высоконагруженные системы, сложные продуктовые задачи, важные опенсорсные проекты.

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



Про внутренние угоны сотрудников



Рабочее пространство в «Контуре»

Когда запускаются новые проекты, мы в первую очередь начинаем искать людей внутри. Внутренний найм чаще всего происходит кулуарно. Ко мне приходит менеджер и просит найти ему в команду кого-то, кому на своем месте не сидится. А бывает, что в «Контур» приходят устраиваться сразу целой командой, говорят: «Хотим работать на вас». Тогда я иду к руководителям направлений и говорю: «Расчехляйте бэклоги, доставайте отложенные продукты — появилась целая команда».

Но вообще тема с переходами между командами немного болезненная для «Контура». Это следствие того, что они во многом независимы друг от друга и персонал тоже набирают независимо. Конечно, иногда случается, что сотрудник переходит резко, без предварительных договорённостей. Разные руководители по-разному к этому относятся.

Кто-то спокойно — все таки человек продолжает приносить пользу компании. Кто-то более ревностно, говорит: «В команде времена тяжелые, а у меня ещё людей уводят». Кто-то говорит: «Я не прочь отдать, но поговорил бы сначала со мной. Не надо идти напрямую к сотруднику и подговаривать».

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

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

Но вопрос, конечно, деликатный.



Как быть с выгоранием



Преобразование энергии — хакатон 2018

— Часто сталкиваетесь с выгоранием сотрудников?

Не скажу, что часто, но сталкиваюсь. Стараемся помогать найти себя. Даем возможности переходить между проектами, менять роль, обязанности. Можно встретиться или созвониться по скайпу с тем самым штатным психологом: он проконсультирует, как быть.

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

— Ты сам лично выгорал?

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

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

Когда я был программистом, было проще. Есть фича — закоммитили, зарелизили и готово. Менеджером разработки стало уже сложнее, но все равно — я все ещё в команде, у нас обновления, обсуждения, жизнь кипит. Я вижу, что сервис улучшается, пользователи дают фидбэк, все круто.

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

И мне было тяжело с этим справляться.


Александр Голубев на Конфуре

Но помогло осознавание, что я уже попадал в подобную ситуацию, пусть и меньшего масштаба. Тогда я отнёсся к проблеме, как к вызову. Окей, я не умею работать с задачами большого размера, когда нет быстрой обратной связи. Значит мне надо научиться.

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

— А для чего вы проводили хакатон по играм? Это не для тех, кому стало скучно писать бизнес-софт?

Это просто фан, я вижу в этом элемент создания комфортной среды. Если человеку хочется участвовать в каких-то соревнованиях, надо ему помочь.

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

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



Веселые вопросы


— Если ребята из «Яндекса»расскажут тебе про свой офигенный корпоратив, чем перед ними похвастаешься ты?


Награждение победителей на Конфуре

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

С одной стороны есть и чем развлечься — традиционные «Что где когда», концерты и прочее — и большая рабочая программа, всякие мастер-классы. Инженеры устраивают хакатоны и участвуют в соревнованиях, например, много лет играют в ICFP Contest. Каждый может сделать доклад на конференции, провести митап. В этом году мы у нас было около тридцати митапов, соревнований и тренировок по машинному обучению.

Так что если я буду хвастаться, скажу, что мы не только тусовки тусуем, но и с работой совмещаем. Хотя я уверен, в «Яндексе» тоже такое есть. Не думаю, что это их впечатлит.

— Чувствуйте себя рок-звездами в Екатеринбурге?

А как это можно понять? Я считаю, что в целом у нас всё хорошо. На Bentley не ездим, но все, что нужно есть. Машина, квартира, люди ездят в отпуска в разные страны, живут хорошо. «Контур» в этом помогает, даже займы дает в сложных ситуациях. Так что рок-звездой себя не чувствую, а счастливым от того, что все в достатке — пожалуй, да.

— Как скоро софт заменит бухгалтеров и юристов?

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

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

— Если бы «Контур» был корпорацией из киберпанка, какой социальный строй он установил бы в своем городе?

Ну, наверное, ближе к демократии, может немного технократии. Точно не тоталитаризм. Власть народу!


— Когда в Екатеринбурге снесли башню, не было жалко?

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

Если старое отжило, его надо заменить новым.

Комментарии (31)


  1. werklop
    19.10.2018 16:26

    Интересно, те десктопные приложения, которые остались, на каком языке написаны и почему именно на нем?


    1. green_hippo
      19.10.2018 21:51

      Привет! Я из Контура, вот те приложения, которые я смог вспомнить:


      • браузерный плагин + нативная DLL для проверки версии и настроек ОС, устранения неполадок и работы с аппаратной криптографией (С#)
      • два приложения для особых опытных пользователей Экстерна (C#)
      • один из интерфейсов кассы для Маркета (C#)
      • несколько не очень новых приложений для бухгалтерии и учёта персонала (Delphi, VBA, C, C++, C#)
      • Агент, приложение с уведомлениями из разных сервисов (C#)
      • форк TightVNC для диагностики неполадок на компьютере пользователей (Си)
      • приложение для работы с базой обращений в техническую поддержку (C#)
      • приложение для разметки базы законов в Нормативе (C#)

      Понятно, что последние три не для клиентов, а для работников Контура.


      Почему такие языки программирования, наверно, можно объяснить так: TightVNC изначально написан на Си, не очень новые приложения были начаты во времена, когда позиции C# на Windows-десктопе были слабы, а остальные приложения уже написаны во времена расцвета C# и WPF :)


      А наших десктопных приложений для линукса и мака, по-моему, нет.


      1. werklop
        19.10.2018 22:01

        А почему только для винды? Она что, какая-то особенная?


        1. green_hippo
          19.10.2018 23:20

          Не особенная, просто гораздо сильнее распространена среди пользователей этих приложений. Так-то понятно, что если у сервиса много пользователей на определённой платформе, то для него будет решение — просто не обязательно это будет десктопное приложение.


          Например, предприниматели в Эльбе пользуются облачной криптографией, и им не нужен для этого плагин, DLL, криптопровайдер и токен с ключом, достаточно веб-приложения в браузере. Маркет интегрируется с кассами на Android, и там свои (десктопные или мобильные?) приложения. А я со своего мака раз в год захожу в веб-интерфейс к базе обращений в техподдержку, который существует наравне с десктопным приложением.


          Кстати, я тут вспомнил ещё одно десктопное приложение! Его написали весной на хакатоне, попутно родив мем про «протёкшую конницу» :) Видео на ютубе: https://youtu.be/pUNd1x2c-b8


          1. werklop
            19.10.2018 23:34

            Пишите на Java, зачем вам привязываться к тому, что «сильнее распостранено». Что в магазине втюхали, тем народ и пользуется, но не все сидят на винде, а вы заведомо себя ограничиваете, да к тому же увеличивая цену конечного решения(ведь по закону и винда не бесплатная). В общем, со стороны обывателя, недальновидно вы делаете, но куда уж мне до вас…


            1. Newbilius
              22.10.2018 15:02
              +1

              Мало сбилдить и запустить десктопное приложение на другой ОС — нужно его ещё и поддерживать. Учитывать потенциальные проблемы с другим окружением типа разных оболочек, тестировать в этих разных окружениях, готовить мануалы для технической поддержки, быть готовым готовить к настройке удалённого подключения, разместить приложения в разных репозиториях и т.п. Эта деятельность требует дополнительных усилий — подчас больших, чем непосредственно адаптация и запуск на других ОС.

              Это всё я как разработчик кроссплатформенного мобильного приложения Эльбы на практике проверил :) У нас между iOS и Android шарится в общем коде всё, кроме UI, но например тестирование всё-равно нужно вести на обеих платформах. Кроссплатформенный UI-фреймворк тоже пробовали, и увы, он оказался недостаточно хорош для насыщенных интерфейсов.

              P.S. Я из Контура, поэтому предлагаю отнестись к моему комментарию критически и всё такое.


              1. werklop
                22.10.2018 15:07

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

                нужно его ещё и поддерживать
                естессно. можно подумать, вы версию выпустили и забыли…


          1. jetexe
            20.10.2018 01:46

            Все остальные приложения использующие крипту не работают за пределами windows. Экстерн и тому пример


            1. green_hippo
              20.10.2018 12:23

              Я спросил разработчиков Экстерна — говорят, что отправляли отчёт даже с PlayStation :) Но тут никакой магии: на «плойке» операционная система — это форк FreeBSD, браузер на WebKit и Экстерн поддерживает облачную криптографию с подтверждением по смс. Аналогично работает крипта в Эльбе, Бухгалтерии и Диадоке. Так что пользоваться ими на маке или линуксе можно. Другое дело, что таких пользователей у нас не очень много.


              1. jetexe
                21.10.2018 12:05

                Был клиентом Эльбы — облако работает, недавно стал клиентом экстерна (как оказалось не на долго) так там даже залогиниться без винды нельзя! Я не представляю как ваши сотрудники умудрились поставить криптопро на плойку и обойти автоматическую проверку. Ваша тех поддержка сказала, что коль в системных требованиях (ага на сайт… Как я мог не догадаться) стоит винда старше xp и ie, то и жаловаться нечего.
                На форуме экстерна раз в год поднимается топик про поддержку линукса и мака: ответ один "нам лень"


        1. Wernisag
          19.10.2018 23:46
          +1

          У них почти все для бухгалтеров. А если где-то и стоят какая нибудь убунта, то там все работает через веб. И представьте каково, в компании до 50-100 человек, бухгалтерию пересадить с Windows на что-то другое? Главбух с замом сгнобят любого начальника ОИТ, каким бы матерым он не был.


          1. werklop
            20.10.2018 01:07

            Была бы воля начальства и работающий софт, а этих… научить можно. Современные дистрибутивы линукса имеют красивые и понятные DE(про мак умолчу), как говорится — вижу цень, не вижу преград. Все остальное — блажь и только


  1. Taliesien
    19.10.2018 17:00
    +1

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


  1. aidarchikable
    19.10.2018 17:21

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

    Зарплаты ИТ-специалистов на середину 2018 года
    1. gibson_dev
      19.10.2018 19:22

      Они даже не средние по городу, да и находятся в попе мира


    1. green_hippo
      19.10.2018 22:56

      Привет. Я из Контура, поэтому предлагаю отнестись к моему комментарию критически.


      Однако у меня есть вопросы к этому отчёту по зарплатам и графику:


      • На нём одновременно показаны компании с офисами в разных городах. Правда, у Контура сейчас нет разработчиков в Москве, что неверно для других компаний с графика.
      • В отчёте говорится, что это зарплаты специалистов разных профессий, заполнивших анкеты на «Моём круге». Сейчас из 8000 контуровцев пишут код где-то 800, ещё около 1000 занимаются техподдержкой, около 5000 — продажей продуктов, а примерно 1000 обеспечивает комфортную работу всем остальным. Понятно, что в разработке и в техподдержке зарплаты разные.

      Так вот, я надеюсь, что «Мой круг» на этом графике не сравнивает зарплаты разработчиков в Москве и менеджеров по продажам в Пскове.


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


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


      Поэтому то, что зарплаты в Москве выше — факт, но наши зарплаты не должны драматически отличаться. Моя вот в «свечку» на графике не влезает :)


      1. aidarchikable
        19.10.2018 23:13
        +1

        И вам здравствуйте. Посещал ваши .Net митапы в Екатеринбурге до переезда. Отлично организованные. Спасибо за них.
        Я не работал в контуре, но работал в Екатеринбурге. В целом графику верю потому что контур это фактически и есть весь рынок разработчиков в екб. Контур назначает зарплаты на рынке в екб и конкурентов там не много. Восточный ветер сдулся, а аутсорсеры типа фастдев или шарпдев занимают очень маленькую часть рынка.
        Простой переезд из екб в Казань (даже не в Москву или Питер) повысил мне зарплату чуть более чем в 2 раза.


        1. green_hippo
          19.10.2018 23:37

          Интересная информация про Казань, надо к ней присмотреться.


          Вообще, в последние 2-3 года в Екатеринбург пришло заметное число компаний. Понятно, что Контур всё равно самый большой в Екатеринбурге, но точно 250-300 человек работает в местном Яндексе, пришёл и активно нанимает Тиньков, Альфа-Банк, Точка. Не знаю, что с «Восточным ветром», но Наумен никуда не делся, там много разработчиков. Хотя понятно, что по количеству ИТ-компаний Екатеринбург уступает даже Новосибирску, не говоря Москве и Питере.


          До встречи на KznDotNet или DUMP :)


          1. aidarchikable
            19.10.2018 23:44
            +1

            Ой простите, почему-то я сфокусировался только на рынке .Net разработчиков. Забыл про Яндекс. В целом приход компаний заметен. Судя по вакансиям на hh зарплаты с 40-50 для мидлов подросли до ~80.
            Ещё мне понравился митап контура в Иннополисе. Когда будет следующий?)


            1. green_hippo
              20.10.2018 00:55

              Когда следующий — точно не скажу, но как только выберем дату — напишем в Телеграме :) https://t.me/KonturTech


      1. aidarchikable
        19.10.2018 23:18

        График в отчете моего круга называется «Зарплаты разработчиков по компаниям». Там указаны зарплаты только разработчиков.


        1. karaboz
          22.10.2018 11:43

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

          Кстати, зарплаты по компаниям можно всегда увидеть самостоятельно с помощью калькулятора. Вот, например,: зарплаты разработчиков в «Контуре»: moikrug.ru/salaries?utf8=%E2%9C%93&p=1&sg=1&q=&skills%5B%5D=&skills%5B%5D=&skills%5B%5D=&employment_type=&remote=&company_id=956306368

          Как видим, за последние три месяца, прошедшие после отчета, средняя медианная зарплата в «Контуре» поднялась с 70 до 83 тыс. руб.


          1. green_hippo
            22.10.2018 13:39

            Привет, Максим! А у «Моего круга» достаточно данных, чтобы строить такие графики (с достаточной статистической значимостью) не по всей России, а отдельно по городам? Понятно ведь, что сравнивать зарплаты в Москве и зарплаты в Екатеринбурге (Ростове-на-Дону, Новосибирске, Иннополисе) — сомнительная затея.


  1. funca
    19.10.2018 23:11

    Расскажите про гильдии. Что это за активностм, как мотивируете персонал брать на себя дополнительные обязательства?


    1. green_hippo
      20.10.2018 00:50

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


      Гильдии появились, чтобы эффективно проводить собеседования: чтобы они занимали меньше времени (у собеседующих и у кандидатов), чтобы оценивать важные для всех команд навыки, чтобы оценки были консистентными и меньше зависели от собеседующих, времени или места.


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


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


      (А иногда лучше нанимать без гильдии — например, вот Newbilius рассказывает о найме мобильных разработчиков, которых у нас не очень много, в конкретную команду.)


    1. green_hippo
      20.10.2018 00:51

      Как мотивируем брать дополнительные обязательства? По-моему, тут самое главное, что они не «дополнительные».


      У нас так устроено, что чем опытнее контуровец, тем сильнее от него ждут, что он будет приносить пользу не только своей продуктовой команде, но и всем командам разом, или всему инженерному подразделению, или всему Контуру. Если «модель развития инженера-программиста», там это записано, все об этом знают. Поэтому кто-то проводит собеседования, кто-то читает доклады на Буткампе новым инженерам (например, я), кто-то организует каждые полгода КонфУР, кто-то делает онлайн-курс на ulearn.me, кто-то готовит доклад на DotNext и так далее. Это не дополнительные обязательства, это часть работы. Просто каждый сам решает, хочет ли он этим заниматься и если хочет — то чем именно. У кого-то эта часть работы есть, у кого-то её нет.


      Пожалуй, сильно помогает атмосфера в компании, особенно в инженерном подразделении. У нас сильно ценится инициатива, легко найти единомышленников и реализовать идею. Гильдии не нужно было проходить 100500 бюрократических согласований, чтобы переделать процесс найма. Ну и понятно, что если кто-то сделал что-то полезное, то награда найдёт героя.


      1. ianzag
        20.10.2018 14:29

        > У нас сильно ценится инициатива, легко найти единомышленников и реализовать идею.

        Это все происходит в рабочее, оплачиваемое, время или же оплачивается дополнительно в случае овертайма?


        1. revz
          21.10.2018 18:47

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

          Конкретных бюрократических решений нет — очевидно, что адекватный разработчик при желании найдёт в любом регламенте бреши :)


        1. Newbilius
          22.10.2018 15:09
          +1

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

          Доп.оплата же за доп. обязанности как везде — при наличии хорошо подвешенного языка и умения вести переговоры ;-) Но это я всё не про переработку, а именно про инициативу. Опыта с овертаймами за 5+ лет в Контуре у меня нет)

          P.S. Я из Контура, поэтому предлагаю отнестись к моему комментарию критически и всё такое.


  1. denis-19
    20.10.2018 11:15

    По большей части Контур сейчас — мир программистов и продавцов услуг, коих множество.
    С 15 года сам связываюсь с их Управлением по работе с персоналом в поиске работы.
    Так как кластер на Широкой речке — для нашего региона это очень прогрессивное и единственное в таком роде IT-решение в проектировании, строительстве и эксплуатации.

    Но ответы:

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

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

    Спасибо, что помните о нас :)
    К сожалению, вопрос не актуален и открытых вакансий в этом направлении нет.

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

    У нас с вами общение с перерывами в полгода-год, очень необычно.
    Я отправлю коллегам, узнаю, есть ли вакансии.

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

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


    И все. тишина потом :)


  1. Sleuthhound
    20.10.2018 15:12
    +1

    Эх… 30 лет контуру, а когда то было…