Рейтинг лучших ИТ-работодателей России 2019 от Хабр Карьеры: читать на Хабре
Обо мне

++++ Для рекрутеров из кадровых агенств +++

С 2010 года я работаю только удаленно. Не нужно предлагать мне вакансии, которые требуют тратить по 2-3 часа в день на дорогу, если конечно, работодатель не готов оплачивать это время (в соответствии с решением ЕСПЧ от 2015 года). Если нужен человек "только в офис", то я вам не подойду. Кроме того, я не играю в футбол, не бегаю на лыжах и не убираю территорию - я занимаюсь разработкой программного обеспечения.

+++ +++ +++

Начав с Фортрана в 1986 году, я прошел длинный путь и с 2010 года остановился на разработке для Mac OS X и IOS. За это время я разработал немало системного и прикладного программного обеспечения для Mac OS X и в частности умею:

- создавать драйверы для USB-устройств пользовательского уровня (не требующие дополнительных модулей в ядре), поддерживающих подключение/отключение, датаграммную и bulk-передачу. Пара неудачных (как без них) проектов, научила, меня что залогом реализации работающего драйвера и приложения для него является наличие в моем распоряжении самого устройства и документации к нему. поэтому с предложениями по дистанционному подключению к устройству на 15 минут в день через TeamViewer и декодированию пакетов из windows версии приложения просьба не обращаться.

- разрабатывать LaunchAgents и LaunchDaemons. Создавать установочные пакеты с правильной подписью как приложений, так и самих пакетов, что позволяет устанавливать готовый продукт без отключения GateKeeeper (начиная с версии 10.9)- создавать приложения, интенсивно использующие взаимодействие с другими приложениями Mac OS X посредством Applescript-словарей. Так один из проектов представляет собой надстройку для MS Word for Mac 2007-2016, в котором приложение встраивает панель кнопок в Word, которые выполняют специализированный набор команд по вставке типовых текстов, комментариев, выполнению ряда иных команд - своеобразный ускоритель для преподавателя или рецензента.

- Работать с Core Data, создавая сложные модели и интерфейсные классы, позволяющие синхронизировать докальное хранилище с различными серерными системами (включающими журналирование). Умею создавать защищенные локальные версии хранилищ. Умею синхронизировать IOS и Mac OS X версии хранилищ данных с помощью CloudKit.

- Создавать приложения, интенсивно использующие медиавозможности:

-- приложение для частной галереи в США, оборудованной Apple Cinema Display для демонстрации слайд-шоу. Программа отслеживает наличие юзера в поле зрения встроенной или внешней камеры, и если направление взгляда пользователя направлено на экран, смена кадров останавливается, пока пользователь не отвернется. Кроме того яркость экрана автоматически регулируется в зависимости от уровня освещенности помещения. Для этого используется как встроенный датчик iMac (если воспроизводится на iMac) или внешний датчик на базе Arduino, подключаемый по USB

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

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

-- создавать сложные "толстые" клиенты для различных систем клиент-сервер. В частности, для итальянской торговой сети разработан механизм размещения заказов, взаимодействующий непосредственно с удаленным сервером MySQL (без JSON/XML/RPC-XML) и организацией локального хранения в Core Data. Разработан также генератор отчетов в PDF-формате

Я разработал также немало проектов для IOS платформы, из которых вынес следующее:

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

- Некоторые заказы, которые я выполняю, связаны с развитием проектов или исправлением ошибок. Как оказалось, очень часто проекты строятся на cut-paste из различных обучающих/демонстрационных статей, что приводит к откровенным дырам в безопасности и нестабильности работы приложения. Мне приходилось править код огромного приложения, в котором утечки памяти из за комбинации ARC и non-ARC модулей достигали 200 МБайт в течение нескольких минут! Переписать пришлось немало, в частности полностью удалить AFNetworking - фреймворк, который устарел еще в 2009 год с выходом IOS 4,но до сих пор очень часто вталкивается в проекты начинающими разработчиками. - нередко заимствованные решения теряют эффективность или приводят к краху приложения по мере роста объема данных. Поэтому для эффективного доступа к данным необходимо использование продуманных и хорошо протестированных алгоритмов.

Я стараюсь разрабатывать тесты для модели данных, включающие как "правильные" вычисления, так и обработку краевых и недопустимых значений. Разумеется, все тесты строятся на базе XCTest, чтобы сделать возможным автоматический контроль качества сборки через боты XCode.

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

Я умею работать с системами контроля версий - RCS, CVS, SVN, GIT. Работал и с Mercurial, но без особого успеха. Для XCode сегодня логичным и естественным выбором является, конечно, GIT.

Я в состоянии добавить новые фазы в XCode проект, например, реализовать автоматическое обновление номера сборки в соответствии с номером версии или тегом в GIT-репозитории проекта, генерацию вспомогательных наборов данных, как в виде отдельных файлов (в том числе и obj-c, например, сгенерировать на Perl obj-c массив для 3-D координат гексагональной призмы), так и хранилищ Core Data (одинаково читаемых и на Mac OS X и на IOS).Но самое главное - ме очень нравится разрабатывать программное обеспечение для Mac OS X и IOS, душа поет, когда создаешь что то новое, полезное людям.

А если говорить более формальным языком...

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

Построение закрытых корпоративных сетей, в том числе и на базе беспроводных решений (GPRS).

Построение информационных хранилищ и аналитических систем с избирательным доведением информации потребителям на базе Intranet/Internet-технологий.

Разработка бизнес-процессов и технологий обработки информации (BPWin/ErWin). Сертификация программного обеспечения.

Разработка ПО для Mac OS X, iPhoneOS. Прикладные программы, поддержка USB-устройств.

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

Награды, сертификаты, портфолио, проекты: Мои приложения в Appstore:

https://itunes.apple.com/us/developer/geomatix-lab...

Членство в обществах и ассоциациях: Linux Counter #75404 - зарегистрирован 14 мая 1998 года

Дополнительная информация: Автор книг:

"Путь к Linux", (Изд. Knowledge, 1999, 2-е изд. 2001 г, 2002, "Питер", изд. 3-е, более 200 зеркал в российском Интернете).

"Современные технологии безопасности. Интегральный подход" (Изд. Knowledge, 2000 г.)

"Энциклопедия Perl", Изд. Питер, 2002,

"Эффективная работа с PHP 4", Изд. Питер, 2002.

Опыт работы
Geomatix Laboratory S.R.O.
Прага
Ведущий Mac OS X- IOS разработчик
Октябрь 2016 — По настоящее время (3 года и 5 месяцев)

Руководство работой компании.

Определение технической политики,

непосредственное руководство разработкой.

Компания занимается outsource разработкой и поддержанием жизненного цикла Mac OS/IOS приложений, основные проекты закрыты NDA. Поэтому подготовлено несколько небольших приложений для демонстрации отдельных компетенций.

Asthma Test - интеграция с Address Book, Contacts, Healthkit, Генерация PDF документов, их экпорт. Формирование графических отчетов. Многоязычная поддержка

https://itunes.apple.com/WebObjects/MZStore.woa/wa...

BibleQuote - интеграция с iMessage, загрухка и обработка больших массивов текстовых данных на базе Core Data. Рендеринг текстов в графические файлы.

https://itunes.apple.com/us/app/stickermatix/id131...

Небольшой новогодний подарок - два комплекта стикеров для iMessage.

https://itunes.apple.com/us/app/bible-quote-for-im...

https://itunes.apple.com/us/app/stickermatix2/id13...

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

https://itunes.apple.com/us/app/звонок-деду/id1321...  

Design Patterns by Example = оффлайн справочник о шаблонам проектирования с примерами на Objective-C, Swift (написанными собственноручно для демонстрации стиля программирования :-)). Приложение также демонстрирует подход к реализацию Accessibility функций (масштабирование текста в соответствии с настройками iPhone), настройки цветовых тем, использования регулярных выражений для синтаксической разметки и In-App Purchase.

https://itunes.apple.com/us/app/design-patterns-by...

Примеры Outsource проеков по рефакторингу/сопровождению продуктов:

Snapwit - захват и обработка видео в реальном времени с использованием нативных фреймворков - AVFoundation, Core Video. Обработка видеофайлов - наложение дополнительной звуковой дорожки. Экспорт в различные социальные сети.

https://itunes.apple.com/us/app/snapwit-awesome-vi...

Payber - приложение для peer-to-peer переводов между банковскими картами на основе чатов. Участие в проекте - рефакторинг кода, исправление ошибок, обновление протокола обмена с сервером, расширение функциональности продукта.

https://itunes.apple.com/ru/app/payber-мессенджер-...

Transcriptera. Мобильный клиент для записи звуковых файлоы и онлайн-заказа транскрибирования. Полный рефакторинг неполного исходного кода для обеспечения совместимости с IOS 10+. Переписаны функции работы со звуком, локальное хранение записей и заказов реализовано на базе Core Data, удалены устаревшие и ненужные фреймворки и компоненты Взаимодействие с REST API Jango реализовано с помощью NSURLSession. 

https://itunes.apple.com/us/app/transcriptera/id64...

Проектирование и монтаж инженерных систем и систем физической безопасности, консалтинг, внедрение бизнес-приложений
Ведущий разработчик Mac OS X / IOS
Июль 2013 — Октябрь 2016 (3 года и 4 месяца)
Обязанности: - Разработка приложений для Mac OSX и IOS Достижения: - Огромный мобильный клиент для крупнейшего розничного банка России - более 150000 строк кода Проект опубликован в Appstore https://itunes.apple.com/ru/app/sberbank-biznes-onlajn/id899985834?mt=8
ROSA Laboratory
Москва
Архитектор - разработчик ПО
Август 2011 — Июль 2013 (2 года)
ECASH
Москва
Разработчик мобильных приложений
Ноябрь 2010 — Август 2011 (10 месяцев)
Обязанности: - Разработка распределенного программного обеспечения - Разработка клиентской части для iPhone Достижения: - Global Road Assistant - в Appstore с 1 декабря 2010 - Global Assistance Alliance - в Appstore с 14 июня 2011
Московская Измерительная Компания
Москва
Зам. генерального директора - главный инженер
Октябрь 2007 — Сентябрь 2010 (3 года)
Разработка архитектуры распределенных телеметрических систем. Проектирование и сертификация автоматизированных измерительных систем. Под руководством и при непосредственном участии разработаны и внедрены: Закрытая корпоративная виртуальная сеть "МИРАЖ" на базе GPRS-сети с использованием APN. Информационно-аналитическая система "ЖАСМИН" Автоматизированная измерительная система "МИК" на основе устройств сбора и передачи данных Telcon A9 (Linux Embedded) - проект АСКУПЭ г. Москвы для ОАО МОЭК (2066 объектов)
Разработка программного обеспечения на заказ
Continuation Engineer
Апрель 2005 — Октябрь 2007 (2 года и 7 месяцев)
Техническая поддержка ОС реального времени LynxOS, LOS-178. Поиск ошибок в коде ядра, драйверов, системных утилит по заявкам пользователей, разработка сервис-паков.
НИИ Радиотехники
Москва
м.н.с с.н.с зам.начальника отдела
Август 1986 — Март 2005 (18 лет и 8 месяцев)

Разработка специализированных систем передачи данных.

к.т.н. - 1996

Высшее образование
Киевское высшее инженерное радиотехническое училище ПВО
Киев
Факультет: 4
Январь 1981—Январь 1986 (5 лет)
Ремонт и эксплуатация радиоэлектронных средств. Диплом с отличием.
Рекомендательные письма
flycat
Пасу Linux-сервера :-) • знакомый

Уникальный специалист

Письмо написано 12 октября 2009 в 06:39