Мухин Александр
Автор: Мухин Александр
примерное время чтения: 1 мин.

О себе

Программист с более чем 25 летним стажем работы.

Начиналось все как увлечение компьютерами.

В школе программировал на Basic для Zx-Spectrum и БК0001. Было очень интересно как это получается что ты пишешь программу а машина ее выполняет. Универ в основном был связан с цифровой техникой, процессорами - много С, Ассемблер, Паскаль (и Delphi) что бы быстро что то проверить и показать.

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

В одной из фирм, где я работал я решил автоматизировать рутинную работу связанную с документооборотом. Выбрал Java - оказалось все удобно, правда пришлось все изучать самому, но за 1 год смог в одиночку сделать систему - весь отдел ей пользовался и все работало.

После этого ушел в “аутсорсинговую” компанию делать большие enterprise-системы федерального уровня. Работал уже в команде. Системы в основном интеграционные, обмен данными, хранение и обработка. Прошел путь от рядового разработчика до руководителя команды (team lead). Работал в основном с гос. заказчиками, это сложно нервно, но и задачи были интересные. Руководил разными командами от 5 до 15 человек.

После этого ушел в архитекторы - 5 последних лет проектирую высоконагруженные сложные системы.

Но мне все равно больше всего нравится именно программирование, а не менеджерские задачи.

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

Придерживаюсь прагматичного подхода к дизайну кода, считаю что система должна быть:

  • как можно проще со стороны кода,
  • максимально документирована,
  • максимальное покрытие unit и интеграционными тестами,
  • минимальное использование сторонних библиотеки зависимостей,
  • минимальный over-design.

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