Comments 31
Но я понимаю: программирование не всегда должно радовать — иногда приходится просто засучить рукава и взяться за неинтересную работу.
Когда такое случается, бывает трудно. Но постепенно я понял, что в этом есть и польза: самые сложные задачи заставляют совершенствоваться эффективнее всего.
Мне кажется, есть существенная разница между сложной и геморройной задачами. В первом случае, ты развиваешься за счет того, что тебе приходится узнавать что-то новое, пробовать какие-то неизвестные ранее подходы и это прям здорово, это заводит).
А во втором — ты просто берешь и перегораешь. Например, тебе из легаси-недр в 2к18 прилетают не джсоны, а xml, при чем, написанные криво на коленке человеком, который всю жизнь курил героин. Это сложная задача? Безусловно, понять логику человека, который создает этих франкенштейнов — непросто. Но разве такие задачи развивают? Маловероятно, что ты здорово разовьешься, если будешь понимать, как залезть в недра сложного объекта и попревращать в этих недрах map в array и обратно, ведь по сути, превращать map в array ты и так можешь уметь сотней разных способов. Что именно тренировать в этом случае? Усидчивость? Каменную задницу?
(с) джуниор-фронтенд
Мне кажется, есть существенная разница между сложной и геморройной задачами. В первом случае, ты развиваешься за счет того, что тебе приходится узнавать что-то новое, пробовать какие-то неизвестные ранее подходы и это прям здорово, это заводит).
Вы подгоняете решение под нужный вам ответ. Я точно так же могу сказать, что сложная задача — это может быть «сделай-ка нам <то, не знаю что>, <так, не знаю как>, собственными силами и до завтра». И ничего нового вы не узнаете и не попробуете, так как неизбежно завалите сроки еще даже до того, как детально поймете, что собственно было нужно.
(Если вы надеетесь, что в реальной жизни так не бывает — то не надейтесь. Бывает)
В то время как геморройная задача зачастую вполне себе подлежит изящной автоматизации. Под xml можно удобный парсер сделать, например, причем именно под кривые xml этого конкретного случая. Да, писать парсер — это вам не нейросетки, но я бы не сказал, что это прям никак не развивающая задача.
Очень хорошее обучение для развития оценки, декомпозиции, защиты своего мнения и преподнесения урока бездумным менеджерам. «Ты ковбой ты и прыгай».
Прогнешься, следующий раз на роль бессмертного пони снова выберут.
Я точно так же могу сказать, что сложная задача — это может быть «сделай-ка нам <то, не знаю что>, <так, не знаю как>, собственными силами и до завтра»
На мой взгляд, хорошее описание класса нереалистичных требований/задач.
Так бывает, что сидишь разбираешься в чужом коде, в уме представляешь, как написавший этот код подвергается изощрёнными пыткам. Разобрался… И вроде бы написал пару тривиальных строк чтоб решить проблему… Ничего интересного, задача геморройная.
Но со временем начинаешь замечать, что читаешь и понимаешь значительно быстрее многих коллег.
Например, тебе из легаси-недр в 2к18 прилетают не джсоны, а xml, при чем, написанные криво на коленке человеком, который всю жизнь курил героин. Это сложная задача? Безусловно, понять логику человека, который создает этих франкенштейнов — непросто. Но разве такие задачи развивают?
Да, развивают — умение рассуждать о коде и данных и извлекать информацию из того, что есть. Есть даже книжка "Working with legacy code"
Поэтому сегодня я предпочитаю считать, что стресс, трудности и некоторая нервозность — это хороший признак: если мне сложно, значит, я учусь.
Мне кажется, что «стресс, трудности и некоторая нервозность» даже могут потом начать нравится, мазохизм какой-то) А вообще, это скорее шутка, чем правда, но в каждой шутке…
Или, например, я как-то попытался взяться за разработку архитектуры крупных приложений. Я долго и напряженно бился над задачей, пока не узнал о структурных и конструктивных шаблонах — после чего нам пришлось выбросить месяцы работы над кодом, начать сначала и построить приложение с нуля за считанные недели — с помощью новых знаний.
Хорошо живет.
По моим наблюдениям часто вместе с плохим кодом выбрасывают и архитектора
Программирование это не труд, это игра. Чем более серьезно человек воспринимает это занятие, тем сложнее ему все будет даваться. Единственная сложность в программировании — беспокойный мозг самого программиста, вечно загоняющийся по любой мелочи, а иногда и набивающий себе цену на убеждении других, а заодно и себя, что программирование это что-то сложное, в противном случае в программировании все ясно просто и понятно и любой новый инструмент не сложность, которую нужно постигать с большим трудом и отчаянием, а напротив новая возможность, делающая программирование еще более интересным.
2. Пытаться сделать что-то впервые может быть сложно, и неразумно ожидать, что вы сразу станете в этом докойКем станете? «Докой»?
Этот вопрос в принципе не верен. Главное — что бы разработчику нравилось программирование и/или он считал это чем-то хорошим/замечательным/крутым…
и повышать уровень и скилы тут бесполезно.
иногда приходится просто засучить рукава и взяться за неинтересную работу
Главное, чтобы это было не часто, иначе
который хочет совершенствоваться профессионально.
придется совершенствоваться в свободное от работы время.
Полностью поддерживаю.
Опускаются руки и хочется бросить задачу? Так выглядит эффективное обучение разработчика