03/10/2023
🧐ТОП 5 проблем програмістів: як розв’язувати?
У роботі над проєктами доводиться стикатися з різними ситуаціями, зокрема екстреними та непрогнозованими. Згодом вони стають звичними, а їхнє розв’язання перетворюється на ефективний алгоритм дій. Але все одно забирає сили та час. Розгляньмо найпоширеніші помилки та проблеми програмістів:
1️⃣Проблема №1: Програміст помилився в оцінці обсягу робіт
Такі помилки традиційно виникають через неправильну початкову оцінку масштабу проєкту — коли орієнтація йде на кращий сценарій, без адекватної оцінки потенційних ризиків і складнощів, обсягу завдань та взаємовпливу виконуваних функцій.
Це може бути недолік менеджерів проєкту чи розробника чи результат нелінійності процесу програмування. У результаті протягом роботи над проєктом програмістові постійно надходять нові завдання від керівника або від замовника.
✅Рішення
Потрібно припускати, що процеси можуть протікати з труднощами й не забувати про гірший варіант. Замість того, щоби ставити жорсткі дедлайни, краще оцінювати процеси в балах або умовних одиницях. І далі планувати результати, спираючись на кількість балів, отриманих в останніх спринтах.
2️⃣Проблема №2: Програміст помилився при виборі технології, що негативно позначилося на проєкті
Технології змінюються так швидко, що найчастіше розробники не встигають вивчити їх. І тут з'являються дві крайності: або програмісти приступають до роботи без достатнього знання технології (і це вина менеджера з продукту, який поклався на такого фахівця), або, навпаки, дуже занурюються в її вивчення, відвідують численні онлайн-курси, читають книги.
✅Рішення
Правильний вибір технологічного набору інструментів та фреймворків, що використовуються при розробці програмного забезпечення, може гарантувати стабільну базову продуктивність вашого продукту й програмного забезпечення. І дозволить уникнути вигоряння та авралів. І варто пам'ятати, що оптимальний обсяг знань той, що відповідає конкретному змісту робіт.
3️⃣Проблема №3: Код, написаний одним програмістом, незрозумілий іншому й вимагає багато часу на вивчення
Більшість програмування — це роботи з поліпшення чинної кодової бази чи її повне переписування. Найуспішніші кодові бази у світі були розроблені сотнями людей, які ніколи не зустрічалися одне з одним. У багатьох із цих проєктів було дуже мало документації (або взагалі не було), були відсутні коментарі в кодовій базі, рекомендації чи допомога.
Так що головна проблема тут — страх чужого коду, який показує брак професіоналізму та досвіду.
✅Рішення
Професіонали повинні приймати такі ситуації й виклики, щоби виправдовувати звання справжнього програміста!
4️⃣Проблема №4: Новий програміст на проєкті критикує попереднього та рекомендує переробити все з нуля
Робота на проєкті має командний характер, і новим учасникам важливо це розуміти. Якщо критика неконструктивна й затратна, вона ніяк не позначиться на прогресі.
✅Рішення
У цій ситуації потрібні кроки з обох боків. Новачки повинні влитися в команду і допомогти їй працювати продуктивніше. А рекрутерам чи менеджерам проєкту — якщо вони помітили у співробітнику такі риси — краще спочатку відмовитись від послуг «критикана» та замінити його на іншого спеціаліста.
5️⃣Проблема №5: програміст просить виділити час на перероблювання свого коду та усунення дефектів, які не помітні користувачам системи
Основна мета перероблювання або перепроєктування (рефакторингу) коду — зробити його більш ефективним і зручним в обслуговуванні. Це допомагає знизити витрати на майбутнє обслуговування та допоможе запобігти новим помилкам.
✅Рішення
Робити перероблювання коду повільно, але неухильно. І при планомірній роботі ви побачите, що поступово код стає компактнішим і легко читаним. Люди побачать зміни, але на це потрібен час.
Рекомендації:
- не забувайте повторно факторизувати код, якого ви торкаєтеся;
- видаляйте застарілий код;
- просіть перефакторинг щоразу, коли вас просять перевірити зміну коду.
Попри різноманітність помилок, те, що поєднує їх рішення, — це профілактика. Це завдання стоїть перед програмістами, і перед менеджерами проєкту. Регламент внутрішніх комунікацій у команді та єдина стратегія роботи технічних фахівців допоможуть запобігти непередбаченим втратам.