Фото від Adrian Swancar на Unsplash
У стрімко змінюваній сфері розробки програмного забезпечення (software development) відсутність розвитку дорівнює відставанню. Технології розвиваються неймовірно швидко, і ті, хто встигає за цими змінами, отримують великі нагороди, а ті, хто не встигає, швидко стають застарілими. У цій статті я окреслю найпоширеніші помилки розробників і способи їх уникнути.
Фото від Vadim Bozhko на Unsplash
Вони (насправді) не враховують зворотний зв’язок
Без сумніву, конструктивний зворотний зв’язок (feedback) — це основний рушій, який допомагає розробникам просуватися вперед у кар’єрі та вдосконалювати свої навички. Незалежно від того, йдеться про коментарі до Pull Request, відгуки від менеджера чи команди, це може стати вирішальним фактором, який відрізняє хорошого розробника від чудового. Якщо розробник не вміє ефективно враховувати зворотний зв’язок, він встановлює межу своїм навичкам і потенціалу.
Можливо, ви думаєте: “Я чудово сприймаю зворотний зв’язок, не беру його близько до серця і завжди доброзичливий до тих, хто його надає”. Хоча це гарний підхід, це ще не означає, що ви дійсно ефективно враховуєте зауваження. Зворотний зв’язок має змінювати ваш підхід до написання коду або проектування хоча б у дрібницях. Це не те, що потрібно враховувати лише раз чи два для того, щоб догодити тому, хто його надав.
Ось як варто враховувати зворотний зв’язок:
- По-перше, якщо у вас є запитання, питайте. Якщо ви не згодні із зауваженнями або не розумієте їх, обов’язково розпитайте про це. Ви не зможете запам’ятати та засвоїти інформацію, якщо її не зрозумієте чи, що ще гірше, не повірите в її доцільність. Не дозволяйте критиці впливати на вашу впевненість у своєму коді.
- Ведіть записи. Занотовуйте отримані зауваження, створіть журнал технічних висновків або блокнот для навчання. Це дозволить вам переглядати нотатки та приймати кращі технічні рішення в майбутньому.
- Застосовуйте поради ретроспективно до свого коду. Перегляньте свій попередній код, щоб впровадити отримані зауваження. Це допоможе краще інтегрувати нові знання у вашу практику.
Якщо отриманий зворотний зв’язок (feedback) вам відгукнувся, обов’язково внесіть зміни у код, який писали раніше. Якщо ви отримали зауваження до конкретного фрагмента коду, спробуйте застосувати його до інших частин проєкту. Практика робить майстерність, і таким чином ви залишаєте кодову базу в кращому стані, ніж вона була.
- Передайте це іншим. Це доволі просто: навчання — найкращий спосіб засвоїти знання. Викладаючи інформацію іншим, ви глибше зрозумієте отримані уроки, а також можете дізнатися ще більше під час цього процесу.
Фото від Taylor Flowe на Unsplash
Вони не ставлять запитань
Сфера програмного забезпечення (software) — дуже специфічна. Багато корисних знань не викладають на університетських лекціях, не описують у книжках чи навчальних посібниках із програмування. Ці знання фактично зберігаються в головах талановитих і досвідчених розробників, які ніколи не пишуть книг, а максимум, що вони створюють, — це недосконала документація.
Тому розробник, який надто сором’язливий або гордий, щоб звертатися за порадами, завжди буде позаду допитливого розробника, у якого завжди знайдеться запитання. Перший дізнається про галузеві стандарти лише через роки, тоді як другий буде в курсі, щойно вони з’являться.
Головна думка: якщо ви чогось не знаєте — запитуйте. Не переймайтеся думками на кшталт “а якщо я заважаю цьому розробнику?” або “чи не виглядатиму я дурнем?”, бо ви виглядатимете набагато дурніше, якщо в критичний момент вам знадобиться ця інформація, а ви її не матимете.
Вони уникають складних задач
Дуже легко потрапити в рутину, працюючи над програмним забезпеченням. Ви можете постійно виконувати одні й ті самі завдання, які вже освоїли, і ніколи не наважитися взятися за по-справжньому складну проблему. Я не раз бачив, як розробники завжди обирають прості задачі, уникаючи складних. Але саме вирішення складних проблем дає найбільше нових знань. Ви змушені мислити інакше, досліджувати технології (technologies) і знаходити нестандартні способи їхнього застосування для вирішення цих завдань.
Якщо ви продовжуєте вирішувати лише легкі задачі, можу гарантувати, що з часом ви почнете відставати як розробник.
Якщо ви full stack розробник (Full Stack Developer), який постійно бере лише завдання на фронтенді (Frontend), то здогадайтеся, ким ви станете через кілька років? Тільки фронтенд-розробником. Якщо ви бекенд-розробник (Backend Developer), який працює лише над дрібними та простими задачами, то згодом ви забудете, як виконувати інтеграції (Integrations) чи реалізовувати складні функції. Те, що ви не використовуєте, ви втрачаєте.
Вони ніколи не працюють над власними проєктами
Я зовсім не маю на увазі, що розробники повинні проводити кожну хвилину поза робочим часом, працюючи над стороннім проєктом. Але кожен розробник повинен хоча б спробувати створити власний проєкт. Основна причина цього — це найкращий спосіб отримати комплексне розуміння систем. У більшості робіт, пов’язаних із розробкою програмного забезпечення (Software Development), розробники зазвичай спеціалізуються на одній або двох сферах, що обмежує їхні можливості. Робота над проєктом із нуля дозволяє заповнити прогалини у знаннях і навчитися таким речам, як проєктування систем (Systems Design), управління продуктом (Product Management), інтеграції (Integrations), аутентифікація (Authentication), DevOps тощо.
Ще одна чудова причина працювати над власними проєктами — це можливість застосувати знання на практиці. Одне діло — вчитися з підручників чи у викладачів, і зовсім інше — реалізовувати ці знання у власному проєкті. Коли ви навчаєтесь за підручниками, завжди є "правильна" відповідь і хтось, хто допоможе вам у процесі. А працюючи самостійно, ви повинні знайти найкраще рішення для свого випадку за допомогою досліджень та критичного мислення, що закріплює знання на більш глибокому рівні.
Вони ніколи не змінюють роль або компанію
Коли ви змінюєте свою роль або компанію, відбувається кілька важливих речей:
- Ви знайомитеся з новими колегами, які можуть навчити вас чогось нового
- Ви працюєте над новими задачами, які змушують мислити інакше
- Ви працюєте з іншими технологіями (technologies), що розширює ваші навички та допомагає покращити резюме для майбутніх можливостей
Я вважаю такі зміни потужною мотивацією для навчання та вдосконалення. Вони працюють як поштовхи для вашого професійного розвитку. Наприклад, швидке засвоєння нових технологічних стеків (tech stacks) під час адаптації на новому місці та нові виклики змушують ваш мозок і ваші навички програмування розвиватися.
Вони ніколи не змінюють мову програмування
Це твердження може не сподобатися багатьом програмістам, особливо тим, хто впевнений, що їхня мова програмування — найкраща. Але правда в тому, що навчання та практика з різними мовами мають величезну цінність. Мова програмування, зрештою, — це інструмент, і ви повинні обирати найкращий інструмент для конкретного завдання. Не існує єдиного універсального найкращого інструмента. Розробник, який володіє більшою кількістю інструментів, є більш адаптивним.
Можливо, ви обожнюєте C++ і ненавидите Javascript, але зрештою Javascript набагато краще підходить для фронтенд-розробки (Frontend). Писати фронтенд-код на C++ — це як друкувати текст розвідним ключем: це просто не той інструмент для цієї задачі, хоча він дуже корисний в інших контекстах. Так само, якщо вам потрібно створити високопродуктивний додаток, краще уникати Python. Це не означає, що Python — погана мова програмування, просто вона не підходить для цієї конкретної задачі.
Стандарти та вимоги в індустрії часто змінюються. Нижче представлено графік, який показує популярність мов програмування з часом. Вивчення різних мов програмування дозволить вам адаптуватися до змін у галузі та завжди залишатися затребуваним.
Сподіваюся, вам було цікаво читати.
Якщо вам сподобалося, буду вдячний за підписку! Я часто пишу подібні статті.
Level Up Coding
Дякую, що є частиною нашої спільноти! Перед тим як ви підете:
- 👏 Поставте оплески для цієї статті та підпишіться на автора 👉
- 📰 Перегляньте більше контенту в публікації Level Up Coding
- 🔔 Слідкуйте за нами: Twitter | LinkedIn | Розсилка
🚀👉 Приєднуйтесь до колективу талантів Level Up та знайдіть чудову роботу
Перекладено з: Why Some Developers Will Never Improve