Работа в офисе цветет и пахнет. Есть где мне развернуться и куда расти.
Команда маленькая – всего четверо программеров. У всех очень высокий уровень и весьма разная специализация – есть кого спросить и с кого брать пример. Но и у меня какие-то вопросы уточняют.
Я давно изучал тему юнит тестов – когда пишешь маленькую програмку чтобы тестировать части большой програмы. Наличие юнит тестов – признак хорошего тона и квалификации программиста. Потому что чтобы можно было тестировать большую програму – ее надо писать по правилам: с разделением на части, чтобы части отдельно могли независимо работать и т.д. и т.п.
Вот где я до этого работал – ни в одном месте не было юнит тестов, потому что корпоративные манагеры всегда требовали побыстрей сделать очередную фичу и не парились за качество выполнения и что будет потом. А если софтварный продукт большой и планируется его поддерживать, такая практика “побыстрей давай, какие тесты? какая архитектура? свихнулся что-ли? завтра чтобы было готово!” ведет к весьма плачевным результатам.
А сейчас я работаю в исключительно компьютерной конторе. Мой начальник – программист и весьма неплохой. Владелец конторы сисадмин бывший. Когда я начал работать и спросил “а где юнит тесты?”, в ответ мне пожали плечами и сказали “ну сделай”, хотя без интузиазма.
Ну я и сделал. Здесь, правда, тоже периодически требуют “ну давай, эту фичу обещали еще на прошлой неделе”. Но как-то нету такого корпоративного вонизма. Потому в один прекрасный день я потратил пару часов на создание и настройку юнит-тестов. Когда рассказал что потрали время на это – задрали брови, но не ругались за потраченное время.
Какая-то часть тестов происходит через броузер: мои тесты дергают мышку и кликают кнопочки в броузере. Очень прикольно выглядит. Часто я запускаю тесты и иду делать кофе. А у меня в мониторе броузер тыкается, странички меняются, что-то происходит. Когда это безобразие увидел самый главный начальник, он был впечатлен – сказал что круто и поддержал тестирование проекта.
Сегодня с помощью тестов обнаружил пару багов в чужом коде. Очень круто!
Сегодня у нас 64 теста (какие-то юнит тесты, какие-то integration тесты) – никто кроме меня еще не писал тесты. Хотя размер проекта предполагает тысячи юнит-тестов.
И вообще, я назначил себя начальником Quality and Assurance департамента -)