Они звучат очень по-разному для меня, и мне было трудно сказать, какой из них важнее.
Вы можете быть замечательным разработчиком программного обеспечения, но самим очень плохим программистом. Некоторые люди прекрасно умеют отлаживать код, находить пути к нему, исправлять его и немного улучшать его. Их часто сравнивают с уборщиками, но это плохая услуга: они могут иметь истинные знания и ноу-хау, чтобы привести вещи в лучшее состояние.
Но они все еще могут быть ужасно плохи в написании нового кода и в разработке и реализации алгоритмов. У них может быть понимание того, почему вещи обычно так или иначе лучше, и они могут даже понять после факта преимущества одного дизайна перед другим. Но им самим трудно придумать что-то одно. Им не хватает глубокого понимания этого логического и решающего мышления мышления.
Они оба важны для меня. Вам нужны не только хакеры, которые могут придумать удивительные решения, но создавать неуправляемый код для следующего поколения глазных яблок, которые будут смотреть на вашу кодовую базу. Это может быть хорошо для прототипирования и краткосрочных проектов, но в более широком масштабе, который может летать только так долго.
Так что первая группа тоже важна. Но они не смогут разработать отличное программное обеспечение для второй группы. Это довольно симбиотично (и лучше, когда качества действительно принадлежат одному и тому же разработчику). Я предполагаю, что если вы видите это как проблему с курицей и яйцом, я должен был бы признать, что логический вид имеет значение немного больше, по историческим причинам, поскольку они должны были существовать первыми, чтобы идти вперед. Но значит ли это, что они важнее в магазине программного обеспечения? Я так не думаю. Вы можете создавать отличное и успешное программное обеспечение, соединяя вещи вместе и не изобретая много.