Мені цікаво знати, як боротися з поточним процесом розробки програмного забезпечення, який не змінювався роками і в кінцевому підсумку призведе до відмови продукту та команди. Так, напевно, простішим способом вирішити це є зміна робочих місць, але з цією економікою простіше сказати, ніж зробити. Однак якщо у вас є конкретні приклади, ви бачили або неодноразово опинялися в одній ситуації і вважаєте, що найкращим рішенням для вирішення цих питань є залишення компанії, то будь ласка, підтримайте свою відповідь. Справа в тому, що на це питання дійсно є відповідь, особливо якщо в кінцевому підсумку кілька експертів з цього питання вказують, що найкращим маршрутом є: маршрут А.
Я знаю, що тонни розробників опинилися або перебувають у подібних ситуаціях. Це одна з головних причин, чому компанії переходять від №1 на своєму ринку до останнього або навіть поза ринком. Сподіваємось, відповіді в цій публікації допоможуть іншим розробникам зіткнутися з подібними перешкодами. У невеликій чи великій команді розробників зазвичай це відбувається:
- Деякі розробники, мабуть, не переймаються і вирішують іти з потоком і вважають за краще залишати код з великою кількістю коду, який пахне таким, який він є, і процес розробки як зараз,
- Інші втомлюються без змін і подають у відставку та переходять на іншу компанію,
- Інші, схоже, бояться говорити і вважають за краще мовчати,
- Часом дуже мало розробників або просто хтось намагається поговорити за вдосконалення продукту, і розповідає команді, як важливо дотримуватися найкращих методів кодування та переваг цього для клієнтів, користувачів та команди. Цей тип розробників зазвичай вирішують залишатися з командою через такі причини, як компанія пропонує переваги, які пропонують дуже небагато програмних компаній, або продукт має великий потенціал тощо.
Продукт в нашій команді - лише частина того, де компанія отримує свій дохід, оскільки має парасольку продуктів (ця компанія не є програмною / апаратною компанією; тому немає постійних судових спорів, принаймні поки що, що створює роботу нестабільність). Те, що я дізнався поки що за ці роки з досвіду інших розробників, і мій досвід, це те, що для того, щоб дійсно знати команду розробників, потрібен час, не дні, ані тижні, а кілька місяців. Під час інтерв'ю, якщо команда хоче вас найняти, або вам потрібна; вони дозволяють звучати все чудово, і вони можуть сказати вам, що ви хочете почути. Однак реальність відрізняється, коли ти починаєш працювати в цій команді і починаєш копати всередині коду та рухатися до повного процесу SDLC. Це коли ви, як розробник, починаєте бачити реальність роботи, в яку ви потрапили. Ця реальність ускладнює бажання перейти від однієї компанії до іншої, тому що важко знати, чи буде компанія, в яку ви переїжджаєте, буде кращою чи гіршою. Так, ви можете прочитати огляди Glassdoor тощо., Але скільки цих оглядів в Інтернеті справжні, а не HR?
Що було б найкращим способом вирішити проблеми, викладені нижче, враховуючи, що менеджер з самого початку завжди чинив опір змінам, а попередні розробники робили те саме роками?
Недолік продуктової інновації роками: Продукт має великий потенціал і приносить хороший прибуток компанії, але продукт виглядає так, як він був зроблений 20 років тому. Деякі користувачі скаржилися на те, що продукт не є зручним для користувачів та не інтуїтивно зрозумілим, а інші згадують, що вони використовуються для додатків, таких як Gmail, і засмучуються при використанні продукту через відсутність подібних функцій. Основна проблема тут полягає в тому, що коли ви намагаєтесь як розробник вносити зміни в продукт і починати переміщувати основні елементи продукту приблизно на пару пікселів (щоб зробити його більш зручним для користувача чи інтуїтивно зрозумілим), менеджер панікує і говорить вам щоб повернути його туди, де було. Якщо ви спробуєте додати функцію, яка сприятиме продуктивності для користувачів, менеджер просить видалити її через те, що "користувачі звикли робити процес таким, яким він є і т. Д." Я думаю, ви отримали точку опору змінам, вдосконаленням та інноваціям (менеджер не відкритий до змін, навіть коли ви як розробник надаєте вагомі аргументи переваг). У компанії є кілька конкурентів у цій галузі (продукція кількох з них є значно конкурентоздатнішою), але якось компанія підтримує нинішніх клієнтів роками.
Відсутність координації управління проектами: В результаті цього деякі проекти доставляються пізно, помилки, а деякі клієнти скаржаться (клієнти також повідомляють про помилки), або бюджет використовується занадто швидко перед доставкою проекту тощо. Я надаю їх кілька порад щодо координації проектів та ідеї зараз регулярно використовуються для відстеження прогресу проектів та завдань, які необхідно виконати.
Неправильна практика розробки програмного забезпечення: запах коду спостерігається у більшості, якщо не у всіх файлах, відсутність документації, надмірність коду, передній ярус та задній кінець, змішані в одному файлі, застарілі інструменти розробки, відсутність реального середовища тестування та інструменти тестування (просто скопіюйте та вставте файли від середовища розробки до виробництва, а потім перевірити вручну, чи добре виглядають речі та випущені). Більшість інструментів розробки я використовую для розробки та тестування, коли команда невідома, оскільки команда використовує лише 2 IDE для розробки коду, а контроль джерела доступний лише для середовища розробки. Інші розробники намагаються використовувати найновіші рамки для вдосконалення поточних проблем, але менеджеру це не подобається через те, що "що, якщо ви залишите, то хто збирається підтримувати цей код? Давайте залишимо його таким, який є" Деякі з цих розробників уже пішов і перейшов до іншої компанії.
Підсумовуючи це, я впевнений, що подібні ситуації трапляються з багатьма розробниками в інших компаніях, але через різні обставини розробник може вважати за краще залишитися в команді, ніж переходити до іншої компанії з таких причин (зручність роботи, гнучкість роботи, вигоди компанії або тільки тому, що кращої можливості не прийшло). Про мене не існує ідеальної компанії, але як би ви як розробник поводилися і підходили до всіх цих питань, щоб зберегти позитивні речі і в кінцевому рахунку сприяти змінам для вдосконалення продукту та покращення процесу розробки програмного забезпечення (чи багато у вас років досвіду розробки чи лише кілька)? Я знаю, що це повідомлення давно, але я вважав за краще надавати додаткові деталі, щоб збільшити шанси отримати корисніші відгуки.
Дякую за всі відгуки та час