Количество, превращается в качество. Всегда. !!!!!!
***
Учитель керамического дела объявил в день открытия, что разобьет класс на две группы. «Те, кто сидят слева» — сказал он: «будут оцениваться только по количеству проделанной работы, те, кто справа — только по её качеству». Его методика была проста, в последний день он принесет весы и взвесит работу группы «количество»: 50 фунтов горшков это «5», сорок фунтов горшков это «4» и так далее. Те, кто оцениваются по «качеству», однако, должны сделать один, пусть и совершенный, горшок, чтобы получить «5». Время сдачи пришло, и обнаружился любопытный факт: работы лучшего качества были сделаны в группе, оцениваемой по количеству. Похоже, в то время, как группа «количество» упорно штамповала свои работы и училась на своих ошибках, группа «качество» теоретизировали об идеале и, в конце концов, только и могла показать свои старания и грандиозные теории об идеале, а также кучу бесполезной глины.
***
когда я был давно совсем маленьким, гладил рубашку. Никак не мог это сделать, расправлял ее, но не мог, где-то сминалась. Отец сказал: цель — чтобы утюг помещался и было еще немного места. Тебе не надо идеально расправлять. И тогда у меня начало получаться.
Необычный, конечно, пример. Но из жизни и близкий.
Вам не надо код представлять весь. Это нарушение инкапсуляции. Надо научиться работать с кодом на ограниченном участке. Видеть, что в нем не так, даже если вы всего не знаете о структуре. И это повышает и производительность и качество
Я частенько страдаю от желания пойти поплавать в этой трясине. Начинается всё с необходимости решить какую-то конкретную проблему. Я смотрю на существующие инструменты и вижу в каждом из них своих недостатки. И вот, забыв о первоначальной задаче, я уже набрасываю архитектуру универсального инструмента, который будет решать общий класс подобных задач, будет невероятно гибким, универсальными и… Особенно опасна эта трясина для создателей языков программирования
История подтверждает, что вкладывают не в идею, а в человека/команду.
_____
Факт, Николас Берг так и сказа, что Данила его убедил в своей решимости очуществить задуманное. А история создания прототипа за 10 дней — в возможностях команды за его спиной. Главное, не стоит ждать… а делать!
Среднестатестическому разработчику интересно писать какой-нибудь нибудь сложный заковыристый модуль (пусть даже никому не нужный), но неинтересно писать простой до безобразия, но работающий продукт. Я знаю, о чём говорю, я сам таким был. Мне было интереснее написать свой класс StringUtils, чем использовать существующую библиотеку типа commons-lang. Просто потому, что это интересно. Интересен сам процесс создания этой фиговины. А что там с клиентом? Да ничего с ним не случится, полгода ждал и ещё подождёт. Сейчас я свой StringUtils закончу и тогда займусь его проблемой.
И самое главное: рядовой разработчик ценит свой комфорт за компьютером. Моё рабочее место — мой дом родной. Я тут настраиваю всё как хочу, ставлю свой десктоп, музыку, аудиоплеер, программки там разные, фотографию в рамке на стол. У меня тут даже чашка своя отдельная. Тут у меня зона комфорта. Тут только я и мой компьютер. Ну да, приходят иногда начальники и тестировщики, врываются в мой мирок, но это временно. Поговорят и уйдут. И снова воцарится мир в моём мире.