Мысли вслух о лени, в частности о ее пользе и вреде в разрезе веб-разработки. Все мы знаем, что лень - двигатель прогресса. В веб-разработке ленью пропитано буквально все, большинство прекрасных библиотек появились в том числе из-за лени - а именно из-за желания облегчить себе жизнь.
Мы очень любим облегчать себе жизнь
Очень наглядный пример - фавикон. Когда я только пришел в веб-разработку, мне приходилось запускать photoshop,
вручную ресайзить картинку и конвертировать ее в .ico
, .png
, после чего гуглить,
какие мне нужно прописать метатеги для поддержки 32х32
. Сейчас есть замечательные сайты,
куда можно одним кликом загрузить картинку любого размера/формата и они тебе сгенерируют
и .ico
и .png
всех нужных размеров и код для <head>
дадут вместе с minifest.json
.
А, например next.js
даже сам сгенерирует тебе все мета теги, достаточно лишь кинуть картинки в папку /app.
Все ради того, чтобы тебе не пришлось лишний раз нажимать ctrl + c, ctrl + v. Это ли не кульминация лени?
Но ведь круто! Но ведь удобно!
Или скажем бандлеры. Настроить gulp
или grunt
для сборки сайта было делом хоть и не хитростным,
но требующим определенного опыта и знаний. Сейчас же фреймворки имеют встроенный конфиг бандлера под капотом,
чтобы просто начать что-то делать тебе вообще не нужно ничего настраивать,
а если и придется - вся настройка в 99% случаев сведется к тому, чтобы сделать npm i
с нужным плагином/лоадером.
Для какого-нибудь CRA
eject
конфига вообще считается плохим тоном,
и ощущается как "ай ай ай, плохой разработчик, зачем ты лезешь в настройки вебпака, все уже и так за тебя настроили".
А сколько есть библиотек вроде lodash, underscore или react-hooks, на все случаи жизни, бери себе да импортируй готовые методы.
Почему лень - это хорошо?
Я убежден, что все эти удобства были созданы в том числе из лени. Не только из-за желания сделать мир лучше, но в том числа из-за стремления облегчить самому себе жизнь.
Ленивый разработчик, в самом хорошем смысле этого слова, обязательно напишет свой велосипед, который будет пусть на 5%, но удобнее существующего решения. Создаст свой кастомный конфиг для бандлера, где все будет настроено именно так, как ему удобно. Сделает свой темплейт для быстрого старта проекта на react + typescript. Напишет какой-нибудь cssrem или rename.
Истинная сила лени раскрывается в автоматизации, оптимизации и сокращении времени работы. Если ты инвестировал в это свое время и силы и теперь можешь выполнять ту же работу за куда меньшее время
- почему бы не побыть ленивым и не отдохнуть? Поработать, чтобы потом работать меньше.
А почему плохо?
Конечно, у всех этих удобств есть и негативная сторона. Мне кажется, мы слишком культивируем лень. Привыкаем к тому, что все уже написано за нас. Понижаем порог входа до неприлично низкого уровня. Я не говорю о том, что простота - это плохо, скорее призываю разбираться в том, как эта простота устроена и создавать ее самому. Зона комфорта - это прекрасно, но когда она создана руками других людей, то выйти за ее пределы бывает крайне болезненно. И даже страшно подумать, куда будет двигаться разработка с развитием нейросетей, в частности помощников вроде github copilot.
Так почему же ленивец?
Я считаю, что этому миру нужны ленивые разработчики, которым не лень создавать вещи, которые сильно облегчают им(и нам) жизнь. Разработчики, которые инвестируют свои силы в то, чтобы работать было эффективнее и быстрее. Я сам стремлюсь стать именно таким разработчиком. А еще ленивцы милые.