управління програмістами

ЯК ЗНАЙТИ ПРОГРАММИСТА

Почнемо з того, що якщо ви вважаєте, що вам потрібен програміст, щоб зробити будь-яку задачу, то найчастіше ви помиляєтеся. У більшості випадків вам досить просто зайти в Google і знайти готове рішення. Насправді, дуже багато вже зроблено до вас (навіть якісь специфічні речі), і вам потрібно просто пошукати.

Якщо у вільному доступі потрібного рішення немає, можливо, ви знайдете подібне завдання на будь-якому фріланс-сайті (www.free-lance.ru. Www.weblancer.net і інші). Там же ви знайдете контакти виконавця. Ви можете написати йому безпосередньо, і він або продасть вам вже готове рішення, або на його основі зробить те, що вам необхідно.

Якщо готове рішення ви так і не знайшли, то можете приступити до пошуку програміста. В даному випадку рекомендую шукати програміста на нашому форумі - у нас їх багато, і вони дійсно надійні.

Якщо ви хочете шукати програміста десь ззовні, то можете використовувати вже відомі вам фріланс-сайти. Якщо ви ще ніколи не стикалися з пошуком виконавців на фрілансі, то можете задати це питання у нас на сайті, і ми відповімо вам.

ЯК ВИБРАТИ ВІДПОВІДНОГО ПРОГРАММИСТА

Просіть приклад коду, навіть якщо ви нічого в цьому не розумієте. Якщо він вам пришле його, можете просто візуально подивитися на нього, головне - щоб він прислав. Також ви можете, наприклад, попросити іншого програміста оцінити цей код.

Особливо цинічні люди можуть зробити наступне. Створіть окреме завдання на фріланс-сайті, в якому вкажіть, що шукайте програміста, і для початку кандидатам потрібно виконати тестове завдання. І в цьому тестовому завданні ви викладаєте той приклад коду, який надіслав вам перший програміст. Пишете: «Потрібно визначити, що робить цей код, виявити його вузькі місця і просто дати йому загальну характеристику: що можна зробити краще і т.д.» Відкрито цей код викладати не варто, давайте його безпосередньо кандидатам, щоб перший програміст цього не помітив . І на основі думки інших програмістів ви зможете зрозуміти, що являє собою даний код. Природно, цих програмістів ви на роботу не берете (або можете взяти, якщо вони вам сподобаються).

ЯК ПРАЦЮВАТИ З програмістів

Потрібно розуміти, що програмісти не дуже хочуть працювати. Так, бувають ті, які якщо обіцяють, то обов'язково зроблять - але їх одиниці. В цілому з програмістами працювати складно. Згодом ви навчитеся це робити, але щоб не витрачати час на помилки ви можете скористатися вже готовими простими правилами роботи з програмістами.

Для програмістів важливо написати дуже гарне техзавдання. Не можна просто сказати: «Мені потрібен хороший скрипт, який буде робити хорошу роботу». Ви повинні написати все, що хочете отримати. Чим більше ви дасте подробиць про бажаний результат, тим більше шансів, що вам зроблять саме так, як необхідно. Потрібно описувати все дрібниці, все, що здається потрібним і важливим. Крім того, на основі цього потім ви зможете показати людині, що конкретно зроблено не так і як потрібно зробити.

Дуже важливо просити робити все саме за завданням. Не так, як захоче сам програміст, а саме так, як написано. Фрілансери часто хочуть зробити по-своєму і не розуміють, в чому різниця. Відомо, що продажі можуть падати через неправильне розташування кнопки, або просто через те, що форма знаходиться не там. Програмісти цього не розуміють, тому потрібно вимагати, щоб все робилося конкретно за завданням.

Крім того, бажано розбивати великі завдання на маленькі: «Зараз робимо ось це, що складається з 10 блоків, потім ось це, теж з 10». І постійно питайте: «Як справи, які блоки за сьогодні зробив?» Наприклад, ви домовилися, що кожен день о 8 годині вечора ви чекаєте від нього лист. Листи немає - о 9 годині вечора пишіть: «Як справи, що робиш?» Якщо постійно цікавитися процесом роботи, ефективність програміста зростає дуже сильно.

І тут важливо цікавитися саме тим завданням, яке він повинен робити в цей час. Якщо проект складається з 10 блоків, то коли людина робить перший, не варто цікавитися, що він думає про десятому. Не можна відволікати його іншими завданнями, щоб у не перестрибували думки з одного на інше.

Або якщо одна людина веде у вас 5 абсолютно різних проектів, то в момент, коли він робить один, доручати йому щось зробити з іншим можна тільки в екстреному випадку. Інакше людина відвернеться, і потім йому знадобиться додатковий час, щоб повернутися до вирішення попередньої задачі.

ЯКЩО ВИ РОБИТЕ СОФТ НА ПРОДАЖ

Якщо ви робите софт для себе, то з техзаданием проблем не виникне, інша справа - якщо ви робите для кого-то. Найчастіше ви не знаєте, що насправді потрібно людям. Вам здається, що цей продукт буде користуватися попитом, - в результаті ви його робите, витрачаєте багато грошей, часу, а потім виявляється, що він нікому не потрібен.

Спочатку потрібно запитати людей, що їм дійсно потрібно. Це може бути просто опитування на форумі: «Розробляємо такий-то софт, хочемо почути ваші побажання. Що вам потрібно? »

Головне - не робити питання в стилі «хочемо зробити якийсь продукт, скажіть, який вам треба?» Це працює дуже погано. Потрібно писати конкретно: «Ми робимо це, вже зробили ось це, що необхідно додати?»

ЯКЩО НЕМАЄ ГРОШЕЙ НА ВИПУСК

Таким чином, по-перше, ви отримуєте гроші ще до того, як продукт написаний, тобто люди реально готові платити за місяць-два до випуску продукту, тому що хочуть купити зі знижкою і бути в числі перших. По-друге, ви відразу можете оцінити попит на свій продукт. Якщо ви хочете продавати його за $ 250, а у вас на попередніх продажах не купують і за $ 150, то справа не в тому, що вони не знають, що це буде за продукт - може бути, він просто їм не потрібен.

Важливо враховувати, що якщо ви робите завдання програмісту, і він завалює терміни - проблема практично завжди не в ньому, а в вас. Найпростіший рецепт для постановки реальних термінів: множте на 2 той час, за яке, як ви вважаєте, програміст здатний впоратися з вашим завданням. Тобто ви можете поставити завдання на тиждень. Але в голові у вас має бути 2 тижні. Тиждень - щоб людина думала, що за цей час треба встигнути, а 2 тижні - для вас, щоб ви розуміли, коли чекати готовий результат.

Природно, це підходить в ситуації, коли ви тільки починаєте працювати з програмістом. Якщо ви вже довгий час співпрацюєте, то відносини повинні бути більш гнучкими. Можна писати йому кожен день листи, робити якісь уточнення - просто щоб він відчував, що ви десь поруч. Якщо ви дали завдання, гроші і зникли - людина не дуже прагне працювати.

Якщо програміст зробив все в термін, добре або навіть краще, ніж ви думали, потрібно дати йому якийсь бонус. Потрібно щоб людина знала, що в разі роботи на 5+ йому доплатять.

Крім цього, людина повинна знати що буде, якщо він зробить погано, не зробить взагалі або зробить середньо. Зробив середньо - ладно, але зробив погано - можна заплатити трохи менше грошей. Якщо ви будете сильно штрафувати програміста, саме програміста, то це вам не допоможе. Ви оштрафуете його раз-другий - все, потім він просто піде.

Штрафи вони не люблять, а бонуси люблять. Так що краще навіть спочатку ціну, яку ви готові заплатити, зробити трохи нижче, і в разі хорошої роботи підвищити оплату - зробити бонус.

Не платіть всю суму до того, як завдання буде готово. Коли ви отримаєте готовий проект, теж не платите відразу. Для початку потрібно протестувати. Якщо проект маленький, тестируйте самі. Якщо проект або дуже великий, або проектів багато, то вам потрібні люди, які будуть тестувати. В ідеалі це будуть ваші клієнти або хоча б знайомі. Якщо це клієнти, то пропонуйте їм тестувати за знижку.

Крім цього, до того, як ви заплатите за завдання, важливо домовитися про подальшу підтримку. Якщо вам потрібен, наприклад, реєстратор якого-небудь хостингу, ви відразу домовляєтеся: «А що, якщо там зміниться форма? Що якщо вона зміниться трохи, що якщо вона зміниться середньо, і що якщо вона зміниться взагалі? Що мені потім буде коштувати змінити це? »Іноді якісь дрібні роботи відразу закладені у вартість, а іноді згодом потрібно буде доплачувати. Плюс, бажано домовитися, що якщо ви потім знайдете будь-які помилки, навіть після навіть тестування, то він виправить все безкоштовно.

Буває, програміст каже: «Робота займе стільки-то годин, а година коштує стільки-то». Я ніколи не працював з програмістами з оплатою по годинах. Як він визначає, скільки годин у нього займе робота? Знаю по собі, що якщо ти думаєш, що це займе 5 годин, це може зайняти 10 годин. Тому я люблю платити по конкретному результату. Ми домовилися, що мені потрібно ось це, і людина це зробить за ці гроші. Як він розподілить свою роботу по годинах - це вже його справа.

Як визначити ціну за конкретне завдання? По-перше, це приходить з досвідом. По-друге, це залежить від ваших можливостей і важливості вашого проекту. Якщо проект невеликий і вам в цілому не дуже цікавий, то і грошей на нього ви витрачати не хочете. Все одно ви знайдете програміста, який це зробить. А якщо проект серйозний, важливий, ви на ньому заробляєте, і якщо все буде зроблено швидко, заробите в 5 разів більше, то можна ставити велику ціну.

Якщо у вас зовсім немає досвіду і розуміння, то довіряйте інтуїції. Як би дивно це не звучало, просто прикидайте у себе в голові обсяг робіт і решаемую проблему - що це варто для вас. Не треба оцінювати завдання ні в кількості годин програміста, ні в кількості рядків коду. Якщо треба, можна за ніч написати десятки мільйонів рядків. Оцінюйте, яку проблему для вас це вирішить. Якщо проблема дорого коштує, то платите відповідно.

Також можна подивитися середню ціну по ринку. Можете взяти 10 пропозицій від програмістів на вашу задачу, дізнатися у кожного ціну і взяти щось середнє.