Сдаёт команда проект. Я запускаю программу, замечаю небольшой тормоз интерфейса при старте. Удивляюсь, лезу в код. Нахожу подтверждение своей теории. Пишу программку набивки данных. Запускаю программу не «с нуля», а с 12 ГБ данных. Программа виснет намертво при старте. Зову тимлида, тыкаю его носом в это дело.
Через неделю приносят «исправленное». Теперь при запуске ни хрена не работает всего две минуты и висит незакрываемое окошко: «Пожалуйста, подождите». Понятно, баг не исправили, поставили костыль. Генерирую 200 ГБ данных и наблюдаю ошибку выделения памяти. Тимлид чешет в затылке и уходит.
Через месяц этот баг закрывают, приносят «исправленное». Программа грузится, не крашится при любом количестве данных, но интерфейс по-прежнему не отвечает при запуске. Думаю, на чём ещё можно этот баг показать, как бы ткнуть носом. Написал прогу, которая постоянно обновляет файл данных. Запустил проект. Да, всё то же самое — бесконечное «Пожалуйста, подождите».
Программа планируется мультиклиентская, и к одному и тому же файлу базы данных может одновременно подключаться любое количество клиентов. Зову тимлида, демонстрирую, объясняю, что, как и почему.
Спустя ещё два месяца наконец-то сделали отдельный поток загрузки данных и отдельный — под интерфейс. В конце попросил у тимлида карту потоков. Оказалось, её нет. Смотрю на дату — да нет, конец 2013-го, не ошибся. А он до сих строит однопоточные приложения…