specalizations | 3 221 |
salary-amount | 200000 |
last-name | Глухов |
first-name | Михаил |
middle-name | Михайлович |
birthday | 1982-12-15 |
gender | male |
area | 2 |
metro | |
relocation | relocation-possible |
relocation-area | 1 |
business-trip-readiness | ready |
citizen-ship | 113 |
work-ticket | 113 |
travel-time | any |
education-level-string | higher |
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 |
education-id | 0 |
name | Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, Санкт-Петербург |
university-id | 39872 |
faculty-id | 0 |
organization | Прикладная математика и информатика |
result | Математические модели и алгоритмы в разработке программного обеспечения |
specialty-id | ” |
year | 2020 |
site | |
position | Руководитель разработки ПО, Системный архитектор |
start-date | 2015-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".”
site | http://bkn.ru |
position | ИТ-директор |
start-date | 2015-04-01 |
end-date | 2015-12-01 |
Компания - второй после "Бюллетеня недвижимости" информационный источник в области недвижимости по С-Пб и ЛО.
Руководил разработкой и продвижением информационных решений автоматизации бизнеса агентств недвижимости (b2b и b2c).
Стек технологий: C# и ASP.NET, ExtJs
Достижения:
- Используя данные "межагентской БД bkn-profi" в короткие сроки создал раздел о жилых комплексах и новостройках, который по обьему вскоре достиг 60% сайта, что позволило резко увеличить доходы от рекламы на сайте.
- Реализовал на сайте bkn.ru раздел поиска и подбора квартир, комнат и жилых домов первичного и вторичного рынка, интегрировал его с межагентской БД объектов недвижимости.”)
site | http://trend-spb.ru |
position | Ведущий инженер-программист |
start-date | 2014-08-01 |
end-date | 2015-03-01 |
Компания - молодое быстрорастущее агенство недвижимости, специализирующееся на первичном рынке (новостройки)
Автоматизировал бизнес-процесс агенства по продажам недвижимости (новостройки).
Стек технологий: Php, Nginx, Mysql, PostgreSql
Достижения:
До моего прихода агенты и риэлторы использовали skype и google docs для выполнения задач, но после увеличения численности в 4 раза эти инструменты стали неэффективны. Я внедрил CRM собственной разработки, модули которой (экспертная система выставления цен, интерактивный подбор объектов) освободили работников от рутины.
Также был реорганизован сайт компании с использованием современных технологий.
site | http://aintsys.com |
position | Lisp/Erlang-разработчик |
start-date | 2012-04-01 |
end-date | 2014-08-01 |
Разрабатывал решения в сфере электронных валют на базе технологии BlockChain.
Стек технологий: Erlang, Common Lisp, C++
К сожалению, по условиям NDA я не имею права распространять в сети информацию о деятельности компании и моих разработках :(
site | http://ravta.ru |
position | Директор по IT |
start-date | 2012-01-01 |
end-date | 2012-04-01 |
Компания - интернет-магазин запчастей, комплектующих и расходных материалов для автомобилей.
Осуществлял руководство разработкой информационной системы предприятия, занимался постановкой задач и контролем выполнения работ. Организовывал договорную работу с подрядчиками.
Достижения:
Внедрил на фирме 1-С Предприятие и 1С-Склад и обеспечил ее интеграцию с системой TechDoc.
site | http://wizardsoft.ru |
position | Ведущий разработчик, архитектор |
start-date | 2011-05-01 |
end-date | 2012-01-01 |
Компания занимается автоматизацией управления затратами в стоительстве.
Достижения:
Разработал высоконагрузочный портал для проведения строительных тендеров. Прототип реализовал на Common Lisp, Postmodern и PostgreSQL. После приемки прототип был существенно расширен и переписан на PHP
site | http://www.320-8080.ru |
position | Архитектор-проектировщик, веб-программист |
start-date | 2009-09-01 |
end-date | 2011-04-01 |
Компания - интернет-магазин цифровой техники.
Стек технологий: PHP, MySql, Jquery, Common Lisp, Memcached
Достижения:
- На первом этапе в кратчайшие сроки подготовил legacy-код к новогодним нагрузкам путем внедрения кэширования.
- Затема полностью перепроектировал и реализовал на высоконагрузочный интернет-магазин.
site | http://webdom.net |
position | Ведущий веб-разработчик |
start-date | 2007-01-01 |
end-date | 2009-09-01 |
Веб-студия
Стек технологий: Php, Nginx, MySql
Достижения:
Cпроектировал и разработал масштабируемый фреймворк, на котором теперь работает компания. CMS на его основе поставляются клиентам.
site | http://pochin.ru |
position | Программист |
start-date | 2005-09-01 |
end-date | 2007-01-01 |
Компания - интернет-магазин авточехлов, автозапчастей и автоинструмента.
Стек технологий: LAMP
Первоначально начинал как фриланс-программист, но скоро сотрудничество стало постоянным.
Достижения:
Спроектировал и разработал интернет-магазин (три версии за полтора года)
34 | native |
57 | can-read |
58 | basic |
59 | none |
cell-phone | +79112869290 |
cell-phone-comment | |
home-phone | |
home-phone-comment | |
work-phone | |
work-phone-comment | |
email-string | [email protected] |
preferred-contact | |
icq | |
skype | i.am.rigidus |
freelance | |
moi-krug | |
livejournal | http://rigidus.livejournal.com |
personal-site | http://rigidus.ru |
На самом деле, я не настоящий ИТ-директор :) По большей части я высококвалифицированный программист, который “программирует процесс (своего) программирования” и любит решать сложные задачи. Особенность в том, что я часто создаю инструменты для решения таких задач и это позволяет команде достигать выдающихся результатов.
Как тимлид, я весьма озабочен тем, чтобы быть возможно более сильным с точки зрения программистких навыков и компетенций. Я активный участник и регулярный докладчик в 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
Умею сниффать сниффером и профайлить профайлером.
Не боюсь регулярных выражений.
Знаю в чем разница между венгерской нотацией и обратной польской записью.
Умею управлять машиной Тьюринга и стрелять из конечного автомата.
Грамотно выражаю свои мысли на бумаге, устно, на пальцах; и с первого раза воспринимаю чужие с тех же носителей.
Целиком спроектировал и реализовал:
Мой код работает в: