About me
Все что ниже – безнадежно устарело. Тексту более 10 лет. Все поменялось кардинально :)
https://www.linkedin.com/in/andrei-kavaleu/
Привет, меня зовут Андрей Ковалев. Я разработчик программного обеспечения из Беларуси. 9 лет профессионально занимаюсь программированием. Последние 7 лет преимущественно работаю на иностранных заказчиков. Основной платформой разработки до недавнего времени был .Net, но за всю свою карьеру я писал и на Java, и на Python, и на Ruby, и на PHP, и даже на Adobe Flex с ColdFusion.
Последние 2 года активно использую Python в качестве “рабочей лошадки”. Причину смены основой платформы можно охарактеризовать как “устал от Энтерпрайза и тяжелых инструментов разработки”. Хочу простоты и легкости. Питон для этого отлично подходит. Например, Django после ASP .Net выглядит как невероятно элегантный инструмент разработки, который позволяет просто делать сложные вещи. Его можно сравнить с ASP .Net MVC, но Django просто покоряет простотой использования сторонних приложений.
И хотя, после 7 лет “Энтерпрайза”, у меня есть четкое понимание зачем нужны процессы в разработке ПО, я устал от бюрократии, долгих процедур утверждения изменений (и как противовес прямых писем “we need it ASAP” в обход правил).
Но это не значит, что я за эдакий “cowboy-style development”, отнюдь. Я не представляю свою работу без Системы Управления Версиями (VCS, такие как SVN/Git/Mercurial), без системы управления проектами/задачами (Redmine/Jira), Continuous Integration сервера (TeamCity), частых комитов (не реже чем раз в 2 дня) и многих других доказавших свою ценность практик.
Что считаю своим достижением (по деталям проектов см. резюме):
-
GTRACS – миграция древнего приложения с VB6 на .Net с целью добавления нового функционала. Достижение в том, что вместо, любимого всеми программистами, переписывания приложения с нуля, было решено не выкидывать код исходного приложение, а мигрировать на VB .Net, а уже потом добавлять новый функционал. И это было верное решение. Потому что иначе у нас бы точно ничего не получилось. Потому как, оказалось, что никто не знает как это приложение должно работать (какая документация, какое описание бизнес логики, вы о чем?).
-
BotScanner – вэб приложение, отображающее статистику по посещению сайта пользователями. Огромная база данных (на девелоперском сервере база занимала 170Гб, на продакшен сервере база была в разы больше). Несмотря на большое количество агрегатных запросов (статистика по неделям, из конкретного источника, сгруппированного так-то и так-то), удалось добиться шустрой работы. Очень приятный опыт, а главное все у нас получилось.
-
TMS – совсем недавно пришлось срочно спасать проект и быстро разобрался с новой для меня технологией. Когда единственный человек, который знал структуру проекта и код “внезапно” уволился. Оказалось, что я не только это могу, но мне это даже нравится.
Что я понял за свои 9 лет карьеры:
-
Можно разрабатывать любые проекты на абсолютно любых технологиях. Причем разобраться в чем-то новом для тебя не составляет большого труда, лишь бы концепция этого нового для тебя была бы знакома. Например концепция клиент-сервера остается всегда, не важно что на сервере Ruby, Java или как в моем случае ColdFusion
-
Мои возможности ограничены. Поэтому я предпочитаю простые решения сложным, работающие решения красивым, расширяемым, быстрым. Предпочитаю записывать причины изменений (лучше всего это делать в Redmine/Jira по ссылке в комите в VCS).
-
Всегда есть что-то новое, что тебя может удивить. Поэтому “Учиться, учиться, учиться” и держать руку на пульсе.
-
По мере “вспоминания” буду продолжать этот список.