25 корисних для розробника звичок, GeekBrains - освітній портал

портал

Фахівця можна вирахувати за нехитрими ознаками. Які звички притаманні хорошому розробнику? Розповідають досвідчені програмісти

Антон Захаров, технічний директор .masterhost:

Думати десять разів, перш ніж почати щось робити Як правило, завжди є більш правильний або простий спосіб що-небудь зробити, потрібно пам'ятати про принцип KISS (keep it simple).

Трохи чекати, перш ніж братися виконувати завдання Її можуть змінити чи скасувати. Часто трапляється, що завдання не відображає реальної потреби замовника.

Уточнювати всі вимоги до завдання Потрібно розмовляти із замовниками доти, доки вони не видадуть всю інформацію щодо завдання.

Розвивати у себе емоційний інтелект Навіть якщо людина, здавалося б, несе повну нісенітницю, потрібно розбиратися в тому, чого вона хоче і що в неї не так. Швидше за все, за неадекватною мовою ховається адекватна проблема. Потрібно думати не лише як програміст, а й як замовник (може знадобитися симуляція мислення п'ятирічної дитини).

Пам'ятати про здоров'я Якість роботи залежить від фізичного і ментального стану.

Працювати вдумливо Шукати красиві архітектурні способи вирішення проблем, уникати швидких хаків.

DRY (don't repeat yourself) Думати не тільки про те, що робить твій код, але й про те, щоб його можна було використовувати повторно десь ще.

Мамікон Вартапетян, керівник групи розробки БД компанії «Лестер ІТ»:

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

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

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

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

Роман Бойцун, технічний директор ТОВ "СІАМ консалтинг":

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

Олександр Алексєєв, технічний директор Restoclub.ru:

Дослідити чужий код Якщо завдання типове, то простіше буде знайти готове рішення, оцінити його і використовувати, якщо воно підходить. Тим більше, що такі рішення зазвичай є більш продуманими та опрацьованими, ніж ті, що ви збираєте на «колінці» за паругодин. А як казав мій викладач із математичного аналізу — «фахівець не той, хто все знає, фахівець це хто знає, де шукати».

Ставитися до колег по «цеху» лояльно і без агресії Іноді є проблеми при роботі в команді, що навіть через назву змінної можуть початися «гарячі» суперечки. Але перш ніж переходити на особистості, я намагаюся зрозуміти співрозмовника та розповісти йому свою точку зору, щоб спробувати знайти рішення, яке влаштовує всіх. Програмування – це дуже особисте, але робота у команді має починатися з діалогу.

Олександр Горник, виконавчий директор Mindbox:

Читати Програміст - особлива професія, тобі постійно потрібно вивчати нові технології та способи їх застосування, щоб залишатися затребуваним на ринку. Кращого способу, ніж читання книжок, ще не придумали. Хоча деякі намагаються його замінити проходженням онлайн тренінгів та курсів. Але, як на мене, це менш ефективно. До речі, рекомендую відмінну передплату від Мартіна Фаулера з австралійської компанії Thoughtwork. Це найкращий щоквартальний огляд різних технік та технологій у розробці та рекомендацій щодо їх використання.

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

Програмування надійшло із Заходу, і 90% інформації саме там. Потрібно лише навчитися «гуглити».

Тестувати за собою Класичний процес розробки в компанії виглядає так: програміст пише код, передає його тестувальнику, той у свою чергу проводить тести. І це добре працює. АлеХороший програміст завжди самостійно проводить базовий тест коду, переконується, що все працює правильно. У цьому різниця між розробником та кодером.

Думати про бізнес сенс коду Завжди потрібно ставити собі питання: «Чи не фігню я роблю?». Багато розробників отримують завдання у вигляді «розробити таблицю», «написати функцію» або «створити клас». Але таблиця, функція та клас потрібні для чогось, вони мають бізнес-сенс і мають приносити якусь користь людям. Якщо розробник пише код, не розуміючи, яку конкретно користь він приносить (кого він робить щасливішим), то, швидше за все, він робить фігню. У момент, коли надходять завдання, в яких не описаний бізнес-сенс, потрібно завжди спробувати знайти його.

Артем Молоков, розробник ПЗ у Parallels:

Ніколи не здаватися Мені нещодавно подарували книгу з психології, тож я намагаюся екстраполювати її на свою діяльність. З того, що я на даний момент для себе виніс, можу сформулювати одну пораду: ніколи не опускати руки і не здаватися, стикаючись зі складними завданнями, а найголовніше — критикою.

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

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

Євген Батогов, заст. директора з розробки програмного забезпечення з технологічного розвитку компанії CTI:

Вчити англійську мову Це дозволить розвиватися та рости, читаючи актуальну літературу, оскільки книги українською мовою відстають на 3-5 років.

Сергій Стрєлков, керівник напрямувласних розробок КРОК:

Керіватися здоровим глуздом Не думаю, що звички самі по собі можуть зробити з когось хорошого фахівця, особливо якщо йдеться про програмістів. Звичка скоріше означає неусвідомлене повторення, тоді як очікуємо від розробника продуманого підходи до вирішення кожного завдання. Декілька поспішних рядків коду здатні раптово зупинити систему з сотнями тисяч користувачів і вимагати десятки людино-днів на лікування проблеми. Так, наприклад, програмна помилка в софті Боїнг 787 «Дрімлайнер» може призвести до зупинки всіх генераторів на борту через переповнення лічильника через 248 днів. Страшно уявити, чим така поспіх може обернутися для життя сотень людей.

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

Щеплюємо звички: професія «Веб-розробник».