Найти хорошего программиста — это как найти иголку в стоге сена. Потеря одного из них, что случается чаще, чем вы думаете, может означать месяцы задержек и резкое увеличение бюджета вашего проекта. Знания всегда лучшая защита, поэтому давайте дадим их вам, чтобы предотвратить катастрофу…
Когда вы разговариваете с потенциальными разработчиками замены, они, несомненно, попросят вас разрешить им просмотреть существующий исходный код вашего проекта. Если они этого не сделают, в них есть что-то очень хитрое, и вам следует уйти! Но вот в чем дело: почти в обязательном порядке вам скажут, что ваша кодовая база — это куча навоза и ваш проект нужно переделывать с самого начала. Подождите, разве вы не потратили 30 000 долларов на это приложение, а теперь эти клоуны говорят вам, что это было зря? Разве ваш предыдущий программист не был выпускником Массачусетского технологического института?
(Примечание: вам, вероятно, НЕ следует показывать им всю кодовую базу, а только ее часть, если только это не уважаемая фирма)
Вы можете показать им код известного приложения с открытым исходным кодом, написанного одними из лучших программистов на земле, и они скажут то же самое. Правда в том, что большинство разработчиков ненавидят иметь дело с кодом других программистов, поэтому вместо того, чтобы разобраться в нем, они автоматически скажут, что это дерьмо. Возможно, они даже не взглянули на предоставленный вами источник. У кодеров нет чести?!
Другая очевидная причина сказать, что ваш код — это дно птичьей клетки, заключается в том, что совершенно новое приложение принесет им больше денег и будет содержать меньше потенциальных неприятных сюрпризов, которые могут быть скрыты в этом коде и которые затем становятся их ответственностью. Другое более отдаленное объяснение их оценки заключается в том, что они просто не могут справиться со сложностями вашего приложения. Просто скажите, что это плохо написано и что это будет стоить дороже, чем начать заново, и вуаля!
Как ветеран-программист, просмотревший бесчисленное количество строк кода, написанного другими, я могу сказать вам, что в большинстве случаев взять на себя управление проектом не так уж и сложно. Если он был построен с использованием фреймворка и был ему верен, переход должен быть очень простым. Если потенциальный разработчик не знаком с языком программирования или фреймворком вашего приложения, то нет смысла с ним разговаривать! Но, безусловно, большинство приложений работоспособны, а их недостатки можно исправить, и крайне маловероятно, что исправления обойдутся дороже, чем новый проект. Если разработчик скажет потенциальному клиенту, что это бесполезно, это, вероятно, наглая ложь!
Как вы справляетесь с этим? Бросьте вызов их предположению, спросите их, почему, и если это звучит как чушь, вероятно, так оно и есть, и переходите к следующему кандидату. Если вы сомневаетесь, попросите провести беспристрастную профессиональную проверку кода в компании, предлагающей эту услугу [например, в моей фирме!;)]. Это будет стоить вам небольшую сумму денег, но даст вам массу боеприпасов в следующий раз, когда кто-то скажет вам, что это дерьмо. В отчете также могут быть указаны проблемные области, которые также помогут вам и вашим новым разработчикам в будущем. Конечно, если в отчете говорится, что это полное дерьмо, то ваша проблема, к сожалению, реальна!
Если ваше оригинальное приложение было сделано за границей, и я не осуждаю вас за это, лучше не упоминать это вашим потенциальным разработчикам. При простом упоминании, например, «Индии» у многих разработчиков возникает предубеждение, и слово «дерьмо» всплывает почти сразу. В мою фирму было доставлено очень много бесхозных приложений, написанных оффшорным кодом, и не все они такие дрянные! Основная причина, по которой клиенты отказываются от офшорных программистов (да, именно клиенты отказываются от своих собственных приложений!), связана с трудностями в передаче им своих пожеланий и, возможно, с чрезмерным временем, затрачиваемым на продвижение проекта. Часто сами клиенты называют это дерьмом, и, очевидно, это не помогает их делу. Пусть код говорит сам за себя, не нужно его портить!
Однако не будем наивными! Есть много плохих программистов, больше плохих, чем хороших (особенно фрилансеров, которые не контролируются), и поэтому создается много дерьмовых приложений! Если вы где-то наняли какого-то чувака только потому, что он дешевый, вы, вероятно, получили то, за что заплатили! Или, если то, что вы предлагаете разработчикам, на самом деле является дешевым приложением, которое вы купили в Интернете, давайте четко проясним, что вряд ли оно будет хорошо структурировано. Чего вы ожидали от готового «коммерческого» приложения за 45 долларов, созданного и поддерживаемого командой из одного человека? Я много раз имел неудовольствие просматривать такие приложения и предупреждаю всех: если это коммерческое приложение и его не поддерживает целая группа программистов, пропустите его!
Знание - сила. В следующей статье я расскажу, на что обращать внимание и на что обращать внимание при поиске подходящих разработчиков.