Работаю с Perl и создаю инструменты, которые тихо обеспечивают работу инфраструктуры. Моя специализация — консольные утилиты, задачи по расписанию и постоянно работающие серверные сервисы: они разбирают текст, преобразуют данные и соединяют разрозненные системы в единый поток. Perl выбран здесь не случайно: там, где нужно перемолоть тяжёлый текст, гигабайты логов, разнородные форматы или выстроить конвейер, для которого важнее стабильность, чем внешний лоск, грамотный Perl-скрипт до сих пор обходит почти всё по скорости выпуска и по сырой производительности разбора. Регулярные выражения использую широко, но пишу их так, чтобы код оставался понятным и снабжённым пояснениями, а не превращался в ребус для следующего инженера.
Отдельное направление — приведение в порядок унаследованного Perl. Во многих организациях остались ключевые скрипты, написанные много лет назад ушедшими сотрудниками: ни тестов, ни комментариев, зато масса неявных допущений. Такой код я разбираю вдумчиво, воспроизвожу его поведение, покрываю тестами и лишь затем аккуратно переписываю в поддерживаемый вид. Перевожу на актуальные практики языка, выделяю нормальные модули, включаю strict и warnings, распутываю запутанную логику — и при этом сохраняю ровно то поведение, от которого зависят бизнес-процессы. Когда требуется полная совместимость со старой версией, я отношусь к этому как к обязательному условию и подтверждаю его проверками, а не надеждой.
Помимо поддержки строю автоматизацию и с чистого листа: формирование отчётов, загрузку и выгрузку данных, обработчики файлов и каталогов, стыковку с базами данных и внешними сервисами, компактные демоны для наблюдения и реагирования. Уделяю внимание внятному журналированию, разумной обработке ошибок и тому, чтобы скрипт при сбое падал заметно, а не молча портил данные. Сформулируйте задачу и ограничения — верну инструмент с документацией, тестами и готовностью к запуску в вашей среде.
— Perl-скрипты для обработки текста, логов и данных
— Регулярные выражения для парсинга и извлечения
— Серверные сервисы, задачи по расписанию, демоны
— Рефакторинг и обновление унаследованного Perl-кода
— Автоматизация: загрузка, выгрузка, формирование отчётов
— Стыковка с базами данных и внешними сервисами
Отдельное направление — приведение в порядок унаследованного Perl. Во многих организациях остались ключевые скрипты, написанные много лет назад ушедшими сотрудниками: ни тестов, ни комментариев, зато масса неявных допущений. Такой код я разбираю вдумчиво, воспроизвожу его поведение, покрываю тестами и лишь затем аккуратно переписываю в поддерживаемый вид. Перевожу на актуальные практики языка, выделяю нормальные модули, включаю strict и warnings, распутываю запутанную логику — и при этом сохраняю ровно то поведение, от которого зависят бизнес-процессы. Когда требуется полная совместимость со старой версией, я отношусь к этому как к обязательному условию и подтверждаю его проверками, а не надеждой.
Помимо поддержки строю автоматизацию и с чистого листа: формирование отчётов, загрузку и выгрузку данных, обработчики файлов и каталогов, стыковку с базами данных и внешними сервисами, компактные демоны для наблюдения и реагирования. Уделяю внимание внятному журналированию, разумной обработке ошибок и тому, чтобы скрипт при сбое падал заметно, а не молча портил данные. Сформулируйте задачу и ограничения — верну инструмент с документацией, тестами и готовностью к запуску в вашей среде.
— Perl-скрипты для обработки текста, логов и данных
— Регулярные выражения для парсинга и извлечения
— Серверные сервисы, задачи по расписанию, демоны
— Рефакторинг и обновление унаследованного Perl-кода
— Автоматизация: загрузка, выгрузка, формирование отчётов
— Стыковка с базами данных и внешними сервисами