Должен ли разработчик пользоваться тем, что разрабатывает?
Программное обеспечение представляет из себя десятки миллионов строчек кода, а количество разработчиков, стоящих за ними, достигает миллиона. Каждый программист, который занимается разработкой какого-либо продукта — это человек, у которого есть свои желания и стремления. Он так же покупает технику, как и его сосед юрист/врач/менеджер, водит машину, ходит в кино.
Когда я еще училась в универе, мой друг рассказал мне, как он сходил на конференцию, где был один из разработчиков платформы Windows Phone (мой друг как раз тогда занимался разработкой именно под WP). И когда он, воодушевленный, решил подойти к этому разработчику и задать ему пару вопросов, тот предложил сфотографироваться всем вместе и достал для этого новенький iPhone. Запал моего друга поутих. Так вот, значит ли это хоть что-нибудь?
Сейчас, когда мы уже на несколько лет впереди от этой ситуации, мы легко можем сказать, что этот разработчик просто сам не верил в собственный продукт, а если разработчик не верит в то, что разрабатывает — неудивительно, что это в итоге разваливается.
На мой взгляд, это немного не так. Однако и часть правды в этом так же есть.
Сложно сказать разработчику какой-нибудь космической программы попробовать ее использовать 24/7. Тут я скорее говорю о таких проектах, которыми мы в итоге действительно пользуемся, но по какой-то причине выбираем другой аналог, а не тот продукт, который или для которого мы что-то создаем.
Если вы разрабатываете приложение для автомобиля (карты, сбор статистики, такси), то вы должны уметь водить, потому что это позволит вам сформировать представление о том, как это все должно работать и насколько удобно пользоваться создаваемым вами продуктом другим людям в реальной жизни. Пишите какую-то операционную систему — пользуйтесь ей. Пишите приложения под iOS, используйте iPhone, пишете под Android — используйте Android.
Вы можете сказать, что все это неважно, ведь разработчик зачастую видит только строки кода и задачи в канбане. Какая ему разница, как работает то, что он создает, это задача уже архитектора и проектного менеджера, который пихает задачи и вообще кого угодно, но не его... Задача разработчика — писать код и чтобы его код не падал. И да, это тоже сработает, однако, к сожалению, если вы не имеете достаточного понимания о среде, для которой вы что-либо разрабатываете, вам очень сложно будет делать действительно хорошие продукты.
Я пишу это с полным осознанием, потому что я пыталась пользоваться разными системами и вижу в чем заключается ключевая разница. Если вы не удовлетворены тем, что разрабатываете, если вам наплевать — меняйте свою сферу, потому что вы портите жизнь не только себе, но и людям, с которыми работаете, а еще и сам продукт.
Post #65
2.41K