5 якостей і 20 порад: формула старшого розробника


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Ринок праці в області IT знаходиться на підйомі, навіть незважаючи на кризу; особливо потрібні старші розробники або, як говорять в IT, senior-розробники. Постійна затребуваність на ринку, високі зарплати, по-справжньому складні і серйозні завдання, повага колег по індустрії – незмінні атрибути senior-ів. Що треба зробити, щоб стати senior-ом? Які навички треба мати? Як можна стати кращим у своїй роботі і гордитися нею? Про ці і багато інших питань ми поспілкувалися із старшими розробниками і виділили для вас 5 якостей і 20 найкорисніших порад, які допоможуть і вам стати старшим розробником.

Які якості відрізняють старшого розробника?

  1. Уміння бачити систему “згори” і мати широкий погляд на проект. Будь-який проект розробляється для того, щоб вирішувати якісь бізнес-цілі, і вірною ознакою старшого розробника буде те, що він може бачити в системі не лише модулі і класи, але і бізнес-процеси, і людей, що беруть участь в них, – користувачів системи. Це обов’язково при плануванні архітектури проекту.
  2. Висока міра відповідальності. Відповідальність проявляється не лише в якісному виконанні своїх завдань, але і в готовності брати на себе відповідальність за проект в цілому: побачити можливі проблеми і вузькі місця, по можливості оптимізувати роботу системи, а якщо такої можливості немає, то вчасно розказати проблеми керівництву і запропонувати можливі шляхи вирішення.
  3. Уміння донести свою думку. Частенько senior-розробник не лише пише код, але і виконує обов’язки тімліда. Окрім цього, на ньому нерідко лежить завдання контролю і навчання інших розробників, введення новачків на проекті в курс справи, проведення code review і тому подібне. Усе це вимагає певних комунікативних навичок і здатності донести свою точку зору. Мало знати правильне рішення, треба уміти обгрунтувати його і пояснити команді.
  4. Знання стека технологій. Стежити за розвитком свого стека технологій в IT-ландшафті, що постійно міняється, просто необхідно. Необхідно стежити за оновленнями, новим функціоналом і версіями, бути в курсі оптимальних рішень типових завдань, грамотно використати їх своєму коді і рекомендувати команді.
  5. Загальна ерудиція, креативність і “гуманітарність”. В першу чергу це стосується, звичайно, технічної ерудиції: знання мов, технологій, уміння розгортати проекти або настроювати робоче середовище. Проте старшому розробникові, та і взагалі будь-яким розробникам потрібно пам’ятати, що для машини немає таких понять, як зручність або краса, технології взагалі вимушені підлаштовуватися під людську обмеженість і недосконалість. Здатність побачити нетипові рішення, привнести свій досвід з реального світу, буде це хобі, захоплення або просто звичка дізнаватися нове, в реалізації рішення, що розробляється, дуже сильно допомагає в розробці.

Що треба робити, щоб дорости до senior-а?

  1. Писати код. Дуже багато коду: деякі речі приходять тільки з досвідом. Великим плюсом буде різноманітність, і чим більше різних проектів – тим краще. Корисною буде участь у великих проектах, безцінний досвід принесе робота з високонавантаженими системами. Тут треба відмітити, що в продуктових компаніях, де команда роками працює над одним проектом, не вимагається бути в курсі багатьох різних речей, треба знати проект і свій фронт завдань, але знати його дуже добре. У великих компаніях завжди є різнопланові завдання і можливість спробувати себе в тому, чим раніше не займався, тут згодиться знання різних мов і платформ. “Кожному, звичайно, своє, але різноманітність – це дуже великий плюс, тому що дозволяє дізнаватися щось нове, залишаючись в тій же команді,” – ділиться враженнями наш розробник.
  2. Працювати в сильній команді. Професійно рости можна тільки тоді, коли ти тягнешся за кимось, хто розумніший і досвідченіший, причому набагато краще, якщо це не Стів Джобс або Борн Страуструп, а хтось з твоїх колег. Включається мотивація не підводити тих, хто тебе цінує. Необхідно спілкуватися усередині команди. Якщо ти крутишся у своїх думках, то не зможеш отримувати нові ідеї і точки зору, швидко знаходити найефективніші рішення. Необхідно обговорювати завдання і проблеми, запитувати, вчитися.
  3. Накопичувати готові рішення. Чим більше у тебе готових рішень для різних проблем і завдань, тим більше ти цінний як фахівець, тим швидше ти працюєш.
  4. Завжди бачити виклик у вирішуваних завданнях. Професіонал – це не той, хто робить тільки цікаву роботу, а той, хто будь-яку роботу зможе зробити для себе цікавою.
  5. Викладати. Викладання відмінно допомагає укласти матеріал в голові, знайти пропуски у власних знаннях. Відповідаючи на питання учнів, ти доходиш до думок, які навряд чи прийшли б в твою голову просто так. Необхідність аргументувати свою позицію також дуже добре розвиває і комунікаційні навички, такі необхідні в ефективній командній роботі.
  6. Мати довідкові ресурси. Якщо мати джерело довідкових ресурсів, то потім не доведеться терміново шукати інформацію де потрапило. Неможливо знати і пам’ятати абсолютно все, але це і не потрібно, якщо ти знаєш, де знайти потрібну тобі інформацію. Накопивши  ресурсів (книг, сайтів, форумів) з хорошими матеріалами по різних технологіях, ти зможеш в рази прискорити свою роботу.
  7. Бути в курсі подій у світі IT. Мови і технології постійно міняються, виходять нові версії, з’являються нові підходи. Хороший розробник повинен “варитися в цьому” і бути в курсі усіх останніх подій. Є різні способи зробити це – брати участь в конференціях, проходити сертифікації і майстер-класи, спілкуватися з людьми, читати тематичні форуми. Кожен з них має свої переваги і недоліки, але суть не міняється: про усі останні зміни необхідно знати.
  8. Експериментувати. Нові ідеї і підходи необхідно перевіряти на практиці – це єдиний спосіб зрозуміти, чого вони варті. Щоб щось побудувати, потрібно 10 разів щось зламати. Правда, краще це робити не на продакшені у замовника і не за день до релізу, але загалом буває дуже корисно задіяти свою креативність.
  9. Знати гарячі клавіші і робити максимум за допомогою клавіатури. Ну і в цілому – оптимізувати свої робочі процеси. Сюди ж відноситься і десятипальцевий метод друку. Ти просто почнеш все робити швидше, іноді в рази.
  10. Добре розбиратися з інструментами. IDE, відладчик і робота в команді будуть відмінною підмогою для підвищення ефективності!
  11. Вивчити англійську. Це корисно будь-якому розробникові, але для senior-а просто обов’язково, в т.ч. навички розмовної мови. Причин тому дуже багато: від того, що більша частина цікавих статей, вартих конференцій і книг виходить на англійській, до того, що листи і специфікації на твоєму проекті можуть бути тільки на цій мові, а замовники, з якими в Noveo регулярно зідзвонюються, можуть не знати ні слова по-українськи.
  12. Бути гнучким. Senior-розробник повинен пам’ятати, що все міняється, і бути готовий змінити власну думку. “Якщо ти був правий рік тому – це зовсім не означає, що ти правий і зараз”. Треба визнавати свої помилки. Часто люди цього не роблять із-за зарозумілості і страху втратити авторитет, це неправильно. Треба уміти не лише виправити наслідки своєї помилки, але і визнати, що ти був не правий.
  13. Відпочивати. Якщо увесь час займаєшся чимось одним – швидко перегораєш. І навпаки, якщо відволікаєшся, то після повернення працюєш ефективніше. Це стосується взагалі будь-якого програміста. Дуже корисно подорожувати: це не лише розширює кругозір, але і допомагає поглянути на звичні речі і питання під іншим кутом. Дуже круто займатися спортом. А взагалі корисні будь-які хобі.
  14. Не лише брати, але і віддавати. І не лише тому, що це саме по собі здорово, але і з цілком корисливою метою – перевірити, наскільки твій код хороший і корисний для інших людей. Це може бути аккаунт з opensource-кодом на GitHub або відповіді і рекомендації на тематичних сайтах ніби Stack Overflow.

Ну і наостанок – чого робити не варто:

  1. Зупинятися на досягнутому. Навіть якщо ти досягнув багато чого.
  2. “Абияк не можна писати ніколи!”
  3. Боятися помилитися. На жаль, за винятком очевидних випадків, вчаться тільки на власних помилках.
  4. Писати код вдома! Давайте мозку відпочити.

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *