Спринты? Гитхаб? Кубернетес? Это были незнакомые мне термины, когда я перешел на Holiday Extras в 2017 году. У меня был многолетний опыт работы программистом и системным администратором Unix, но экосистема, в которой я разрабатывал, сейчас практически такая же, как и раньше. в 1980-х годах и, таким образом, радикально отличается от большинства современных сред программирования.

Каждый день я работаю с Basic. Это не Visual Basic, а версия Business Basic, которая не слишком отличается от той, которую я начал изучать девятилетним ребенком в середине 80-х на ZX Spectrum с резиновыми клавишами. Моя работа заключается в написании кода для основной системы бронирования Holiday Extras, которая была написана на Basic где-то в 90-х годах, но с тех пор превратилась в большую сложную систему, способную обрабатывать десятки тысяч бронирований в день.

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

Основная система бронирования, написанная на языке Basic и работающая на платформе Linux со скоростью, более чем достаточной для удовлетворения текущих потребностей, взаимодействует через XML (расширяемый язык разметки) с другими системами Holiday Extras. Например, клиент, запрашивающий цены на парковку в аэропорту на нашем веб-сайте www.holidayextras.co.uk, увидит новейшие разработки и оптимизацию веб-страницы, а выбранное им место парковки и даты будут переданы через XML в мою собственную серверную систему. . Цена будет рассчитана и отправлена ​​обратно через XML и показана покупателю, как правило, в течение полсекунды. Возраст языка программирования, который я использую, не является реальной помехой для быстрой реакции.

В моей предыдущей фирме я был одним из самых молодых сотрудников, работающих в очень стабильной, редко меняющейся среде программирования. В Holiday Extras я являюсь одним из старших сотрудников в моей более широкой команде, все еще работающей на этой стабильной платформе, но также стремящейся расширить свое понимание новых технологий, чтобы «закрепить» свою карьеру на будущее и улучшить свое понимание более широкая экосистема, в которой существует мое собственное программное обеспечение.

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

Кому-то моя система может показаться «монолитной», но я утверждаю, что она податлива и постоянно развивается, и бросает вызов тому, что восприятие «монолита» является частью моей роли в более широкой команде. Делиться знаниями о моей платформе с коллегами — что она может делать, как она это делает, что мы можем предложить с точки зрения данных и т. д. — это ключ к моей работе. В то же время ни одна система не имеет бесконечного срока годности, и я тесно сотрудничаю с теми, кто стремится воспроизвести или заменить функциональность, присутствующую в настоящее время в моей собственной системе, в рамках альтернативных технологий, таких как микросистемы, обычно закодированные в node.js.

Мой путь к использованию новых технологий в Holiday Extras был неортодоксальным — большинство новобранцев присоединяются к нашей веб-команде с хорошим пониманием экосистемы Github, Node, Kubernetes и т. д., которая составляет основу большинства процессов и систем разработки компании. Мой переход от старых технологий к новым был несколько «боковым», но я ценю поддержку, которую я получаю на этом пути от коллег и руководства.

Business Basic продолжает использоваться в коммерческих целях, потому что он работает. Его легко кодировать, легко отлаживать, он стабилен, но, конечно, страдает от многих ограничений, которых нет в более современных языках и средах, например простота подключения API и относительное отсутствие модульности, присущее не объектно-ориентированному языку программирования. Мои коллеги из Holiday Extras стремились свободно делиться со мной своим опытом использования новых языков и технологий.

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