Skip to content

Latest commit

 

History

History
517 lines (420 loc) · 34.7 KB

resume2.org

File metadata and controls

517 lines (420 loc) · 34.7 KB

IT-директор / TeamLead

Info

specalizations3 221
salary-amount200000
last-nameГлухов
first-nameМихаил
middle-nameМихайлович
birthday1982-12-15
gendermale
area2
metro
relocationrelocation-possible
relocation-area1
business-trip-readinessready
citizen-ship113
work-ticket113
travel-timeany
education-level-stringhigher
additional-education-id
additional-education-name
additional-education-organization
additional-education-result
additional-education-year
certificate-id
certificate-type
certificate-selected
certificate-ownerName
certificate-transcription-id
certificate-password
certificate-title
certificate-achievementDate
certificate-url
attestation-education-id
attestation-education-name
attestation-education-organization
attestation-education-result
attestation-education-year

Educations

education-id0
nameСанкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, Санкт-Петербург
university-id39872
faculty-id0
organizationПрикладная математика и информатика
resultМатематические модели и алгоритмы в разработке программного обеспечения
specialty-id
year2020

Expiriences

ООО Автоматон

site
positionРуководитель разработки ПО, Системный архитектор
start-date2015-12-01
end-date

Компания занимается разработкой и эксплуатацией автоматизированных парковок.

Я возглавил исследовательский проект по разработке новой парковочной системы: аппаратной и программной части.

Технологии:

  • Проектирование печатных плат - Kikad, Altium Designer
  • Программирование: С/С++, Assembler, Erlang (телефония), PHP/JS: Yii+React (веб-интерфейс), EmacsLisp - кодогенерация для "исполняемых спецификаций" и утилиты для совместной удаленной работы в команде
  • Архитектурный стек - Linux on ARM Cortex A8

Разработку проводил с нуля, по этапам:

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

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

Мои достижения:

  • Спроектировал программно-аппаратную архитектуру системы автоматизации платных парковок.
  • Спланировал и организовал работы по разработке ПО и аппаратной части, включая подбор электронных компонентов и схемотехническое проектирование.
  • Самостоятельно реализовал бизнес-логику и уровень представления (Рабочее Место Оператора)
  • Руководил работами по реализации транспортного уровня и уровня абстракции оборудования, выполненными удаленными разработчиками.
  • Организовал паралельную разработку по модульному принципу (чтобы ускорить создание продукта) и методологии kanban
  • Внедрил Continuous Integration и процесс управления жизненным циклом (релизы, исправление ошибок, добавление возможностей, технический контроль качества, автоматизированное тестирование)
  • Реализовал безопасное (цифровая подпись) и отказоустойчивое (откат на предыдующую версию при провале тестов) обновление прошивок через интернет.
  • Автоматизировал создание и хранение документации, с использованием версионирования на базе GIT и "executable specifications".”

ООО БКН

sitehttp://bkn.ru
positionИТ-директор
start-date2015-04-01
end-date2015-12-01

Компания - второй после "Бюллетеня недвижимости" информационный источник в области недвижимости по С-Пб и ЛО.

Руководил разработкой и продвижением информационных решений автоматизации бизнеса агентств недвижимости (b2b и b2c).

Стек технологий: C# и ASP.NET, ExtJs

Достижения:

  • Используя данные "межагентской БД bkn-profi" в короткие сроки создал раздел о жилых комплексах и новостройках, который по обьему вскоре достиг 60% сайта, что позволило резко увеличить доходы от рекламы на сайте.
  • Реализовал на сайте bkn.ru раздел поиска и подбора квартир, комнат и жилых домов первичного и вторичного рынка, интегрировал его с межагентской БД объектов недвижимости.”)

Тренд

sitehttp://trend-spb.ru
positionВедущий инженер-программист
start-date2014-08-01
end-date2015-03-01

Компания - молодое быстрорастущее агенство недвижимости, специализирующееся на первичном рынке (новостройки)

Автоматизировал бизнес-процесс агенства по продажам недвижимости (новостройки).

Стек технологий: Php, Nginx, Mysql, PostgreSql

Достижения:

До моего прихода агенты и риэлторы использовали skype и google docs для выполнения задач, но после увеличения численности в 4 раза эти инструменты стали неэффективны. Я внедрил CRM собственной разработки, модули которой (экспертная система выставления цен, интерактивный подбор объектов) освободили работников от рутины.

Также был реорганизован сайт компании с использованием современных технологий.

Частная компания (алготрейдинг)

sitehttp://aintsys.com
positionLisp/Erlang-разработчик
start-date2012-04-01
end-date2014-08-01

Разрабатывал решения в сфере электронных валют на базе технологии BlockChain.

Стек технологий: Erlang, Common Lisp, C++

К сожалению, по условиям NDA я не имею права распространять в сети информацию о деятельности компании и моих разработках :(

ООО РАВТА

sitehttp://ravta.ru
positionДиректор по IT
start-date2012-01-01
end-date2012-04-01

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

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

Достижения:

Внедрил на фирме 1-С Предприятие и 1С-Склад и обеспечил ее интеграцию с системой TechDoc.

WizardSoft

sitehttp://wizardsoft.ru
positionВедущий разработчик, архитектор
start-date2011-05-01
end-date2012-01-01

Компания занимается автоматизацией управления затратами в стоительстве.

Достижения:

Разработал высоконагрузочный портал для проведения строительных тендеров. Прототип реализовал на Common Lisp, Postmodern и PostgreSQL. После приемки прототип был существенно расширен и переписан на PHP

ЦиFры

sitehttp://www.320-8080.ru
positionАрхитектор-проектировщик, веб-программист
start-date2009-09-01
end-date2011-04-01

Компания - интернет-магазин цифровой техники.

Стек технологий: PHP, MySql, Jquery, Common Lisp, Memcached

Достижения:

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

ООО Вебдом

sitehttp://webdom.net
positionВедущий веб-разработчик
start-date2007-01-01
end-date2009-09-01

Веб-студия

Стек технологий: Php, Nginx, MySql

Достижения:

Cпроектировал и разработал масштабируемый фреймворк, на котором теперь работает компания. CMS на его основе поставляются клиентам.

“Почин”

sitehttp://pochin.ru
positionПрограммист
start-date2005-09-01
end-date2007-01-01

Компания - интернет-магазин авточехлов, автозапчастей и автоинструмента.

Стек технологий: LAMP

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

Достижения:

Спроектировал и разработал интернет-магазин (три версии за полтора года)

Languages

34native
57can-read
58basic
59none

Contacts

cell-phone+79112869290
cell-phone-comment
home-phone
home-phone-comment
work-phone
work-phone-comment
email-string[email protected]
preferred-contactemail
icq
skypei.am.rigidus
freelance
moi-krug
linkedin
facebook
livejournalhttp://rigidus.livejournal.com
personal-sitehttp://rigidus.ru

About

На самом деле, я не настоящий ИТ-директор :) По большей части я высококвалифицированный программист, который “программирует процесс (своего) программирования” и любит решать сложные задачи. Особенность в том, что я часто создаю инструменты для решения таких задач и это позволяет команде достигать выдающихся результатов.

Как тимлид, я весьма озабочен тем, чтобы быть возможно более сильным с точки зрения программистких навыков и компетенций. Я активный участник и регулярный докладчик в fprog-комьюнити и на ITGM. Это важно, т.к. никакой хороший программист не хотел бы работать с кем-то, кто слабее, чем он - исправлять чужие ошибки и терять время, которое мог бы потратить на обучение у более сильного. Еще мне проще нанимать. Да и в процессе работы тоже проще: профессиональное уважение значит больше чем денежная мотивация.

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

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

Когда вы нанимаете программиста, перед вами стоят три вопроса. Умный ли он? Способен ли выполнить то, что нужно? Сможете ли вы с ним работать? Тот, кто умён, но неспособен выполнить задание, может быть вашим другом, но не работником. Вы можете обсуждать с ним свои проблемы, тогда как он будет тянуть с выполнением важной работы. Тот, кто способен выполнять задания, но неумён — тот неэффективен: неумные люди выполняют работу трудоёмким способом, работа с ними продвигается медленно и полна разочарований. Ну а с тем, с кем вы не можете работать - вы просто не сможете работать.

Обычная процедура найма программиста состоит из:

  • чтения резюме
  • задавания каких-то трудных вопросов по телефону
  • постановки перед ними задачи по программированию при личном общении

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

Поэтому, когда я нанимаю кого-то, я просто пытаюсь ответить на эти три вопроса. Чтобы выяснить, способен ли человек делать нужные вещи, я просто спрашиваю, что он уже сделал. Если человек действительно способен выполнять работу, к этому моменту он уже должен был что-то сделать. Трудно быть хорошим программистом без какого-то опыта работы, а сейчас любой может набраться опыта, приняв участие в каком-то проекте по созданию свободного программного обеспечения. Поэтому я просто прошу у человека ссылку на репозиторий на гитхабе и ссылку на работающий продукт (сайт) и смотрю, хорошо ли это устроено. Так действительно можно узнать очень много, потому что я не наблюдаю за тем, как он отвечает на надуманный вопрос во время интервью — я смотрю на код, который он выдаёт на самом деле. Является ли он лаконичным? понятным? элегантным? практичным? Хочу ли я иметь что-то такое в своём проекте?

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

Но если бы пришлось записать признаки того, почему некто кажется мне умным, я бы сделал акцент на трёх моментах. Во-первых, насколько глубоки его познания? Спросите, о чём он думал в последнее время, и “прощупайте” его на эту тему. Похоже ли на то, что у него есть детальное понимание предмета? Может ли он понятно объяснить его? (Понятные объяснения — признак подлинного понимания) Знает ли он о предмете то, чего не знаете вы?

Во-вторых, любопытен ли он? Задаёт ли он в ответ вопросы о вас? Действительно ли он заинтересован или просто старается быть вежливым? Задаёт ли он дополнительные вопросы к тому, что вы говорите? Заставляют ли его вопросы вас задуматься?

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

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

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

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

Теперь, если вы действительно дочитали до этого места - резонно было бы спросить: “А сам то ты, Миша, отвечаешь поставленным тобой критериям?”. Чтобы определить могу ли я делать нужные вещи взгляните на мое резюме. Последнее из того, что я делал - это система, управляющая сетью парковок. В парковках много всего интересного: датчики положения машины, шлагбаумы, навигация и тарифы в разное время суток - организовать это в коде совсем не тривиально. Я занимался созданием печатных плат, подбором компонентов, разработкой бизнес-логики и написанием низкоуровневых программ - и это показывает, что я могу делать сложные вещи. Показателем качества работы может быть тот факт, что за полгода нам ни разу не приходилось делать рефакторинг и выбрасывать большое количество кода - вы можете убедиться в этом посмотрев в мой репозиторий: https://github.com/rigidus/aspp (ASPP значит “Автоматизированная Система Платной Парковки”). По соглашению с фирмой я не могу выложить последнюю версию кода, но и прототипа достаточно, чтобы, к примеру, оценить вклад, просто посмотрев на долю и содержание коммитов.

До этого я несколько лет работал в сфере недвижимости, разрабатывая сайты и информационные системы, на PHP и C#, но так как для меня веб-программирование - это привычная среда - все эти достижения не ощущаются мной как выдающиеся. Впрочем, заказчики не жаловались :)

Несколько ранее я работал программистом-исследователем и имел дело с технологией BlockChain. Это была очень интересная работа, но я довольно мало могу о ней рассказать (NDA)

А еще раньше я делал розничные интернет-магазины, пока мне не захотелось более наукоемкой деятельности :)

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

Если я убедил вас в первом пункте, вероятно вы захотите оценить, умен ли я. Взгляните на мой сайт (http://rigidus.ru), куда я помещаю все вещи, которые меня интересуют. Вполне возможно, что вы крайне далеки от робототехники, функционального программирования и нейронных сетей, но вы вполне можете оценить, внятно ли я объясняю все эти сложные вещи. Насколько глубоко я готов погрузиться? Если ли значимые результаты в этих областях, которые могли бы быть полезными?

Ну и наконец, чтобы определить, сможете ли вы со мной работать, вам стоит пригласить меня на собеседование. Я был бы вам признателен, если бы это было skype-собеседование, по крайней мере в первый раз, т.к. таким образом, мы смогли бы сэкономить кучу времени на дороге. Впрочем, если вы хотите показать мне офис или тестовый стенд вашей технологии, я с удовольствием приеду к вам в удобное время. Почему бы не позвонить мне прямо сейчас? Мой телефон: 8(911)286-92-90

Ну а пока вы раздумываете, я оставлю тут список ключевых компетенций:

  • Linux, FreeBSD
  • PHP, JavaScript, Python, C/C++, Java, Common Lisp, Erlang
  • Nginx, Apache, Memcache, Redis, RabbitMQ
  • MySQL, PostgreSQL
  • Git, Svn
  • JavaSсript, JQuery, ExtJS
  • JSON, OpenID, XML, XML+RPC, closure-template, Sphinx, PHPUnit

Также знаком с: Delphi/Pascal, Assembler80x86, Forth

Умею сниффать сниффером и профайлить профайлером.

Не боюсь регулярных выражений.

Знаю в чем разница между венгерской нотацией и обратной польской записью.

Умею управлять машиной Тьюринга и стрелять из конечного автомата.

Грамотно выражаю свои мысли на бумаге, устно, на пальцах; и с первого раза воспринимаю чужие с тех же носителей.

Целиком спроектировал и реализовал:

Мой код работает в: