"Бизнес не готов платить за тесты"? Или, что действительно входит в самостоятельность сеньора? Помимо технических и социальных навыков, самостоятельность обязательно включает в себя аналитические способности соотносить желания бизнеса и долгосрочное качество их реализации. Качество обеспечивают следующие характеристики технического решения:
- производительность - загрузка и рантайм
- надежность - обработка ошибок
- безопасность - недопущение ошибок и их обработка
- удобство использования - UX
- масштабируемость - количество протекаемых данных
- поддерживаемость и расширяемость кода
Это еще не все!
Тема невероятно обширная и важная. Но главное, в концепции своей она очень простая - ВЫ несете базовую ответственность за все эти (и многие другие!) пункты. Это значит, что пока вам явно не доказали, что на что-то из стандартных не функциональных требований (и хороших практик их реализации) нужно забить - на них забивать нельзя!
Не соблюдение этих требований лично я считаю багом.
Хороший разработчик умеет
Эти решения - эта ответственность именно то, что позволяет расти профессионалу и качественно подниматься по карьерной лестнице ;)
Пост возник после вчерашнего холивара в чате про ответственность фронтендера за скорость загрузки страницы. Как дети, емае. Скидывание ответственности - только лишь признак незрелости специалиста. Говорю не конкретным людям, но в общем настаиваю, ибо видел подобное часто.
Справедливости ради, знаю пачку очень крутых разрабов, которые пишут говнокод и отлично решают проблемы бизнеса - но это должно быть осознанное решение, взвешанная оценка потребностей и возможностей. Но никак не базовый принцип для всех.