Чому програмісти завжди ходять такі щасливі? Відповідь на це запитання проста й бентежлива: тому що вони займаються улюбленою справою і гроші лопатою гребуть.

Ласкаво просимо у світ програмістів!

Зарплата програміста

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

Річ у тім, що головним чинником, який впливає на зарплату програміста, є не його кваліфікація, а місце роботи. Іноді за однакової кваліфікації різниця між хорошим і поганим місцем може сягати 2–10 разів (!)

У кожен конкретний момент часу ваша кваліфікація — величина стала. Ви не можете за місяць стати досвідченішим удвічі й почати отримувати вдвічі більше. А от змінити за місяць роботу й почати отримувати вдвічі більше дійсно можете. Отже, з'ясуймо, де найкраще працювати.

Наведемо три чинники, що дуже сильно впливають на рівень зарплат в компаніях:

1) Чи є розробка ПЗ основним бізнесом компанії?

2) Компанія орієнтована на міжнародний ринок чи на внутрішній?

3) Власник бізнесу — західна компанія чи вітчизняна?

Зверніть увагу, що місто, в якому ви живете, не відіграє вирішальної ролі. Тобто якщо ви, мешкаючи в Дрездені, заробляєте в 10 разів менше, ніж ваш знайомий у Нью-Йорку, значить, у ситуацію втрутилися перелічені вище чинники.

Конкретні цифри

Складно назвати якісь конкретні цифри для всього світу. Опишемо стан речей у Східній Європі, в цілому справедливий для всіх країн, де більш-менш розвинені IT-outsourcing/outstaffing.

От скільки може заробляти Java Senior Developer із п'ятьма роками досвіду роботи, в залежності від рівня компанії, в якій працює:

Рівень Зарплата на місяць Опис
1 $200 — $500 На нижньому щаблі стоять фірми, де ІТ — це непрофільний напрям бізнесу, замовник — внутрішній ринок, а власник — держава. Наприклад, ІТ-відділ у податковій або в інший державної організації.
2 $500 — $1500 Нижче середнього рівня розташувалися ІТ-відділи недержавних структур на кшталт банків і т. ін.
3 $1000 — $2500 Середній рівень — це фірми, що займаються розробкою ПЗ.
4 $3000 — $4000 Місце вище середнього посідають фірми, що займаються розробкою ПЗ і мають замовників із Заходу.
5 $4000 — $5000 На самому верху — фірми, що займаються розробкою ПЗ, замовників мають західних і власника теж. Їх мало. Відкриті вакансії бувають нечасто, і потрапити туди непросто. Але вони є.

Що найдивніше в цій ситуації?

Половина всіх програмістів працюють у фірмах рівнів 1 і 2.

Хочете дізнатися, у чому підступ?

Є сотні відкритих вакансій програмістів у фірмах рівнів 3 й 4. Ці компанії готові запропонувати вищі зарплати і зазвичай набагато кращі умови праці.

Ситуація з життя: є два Java Junior'и. Один із них іде працювати за $100 на місяць (у фірму рівня 1), а другий — за $1000 на місяць (рівень 4). Навіщо заробляти менше?

Чого можна домогтися, якщо не тупити

Якщо ви будете постійно займатися саморозвитком у сфері програмування, ваша зарплата починаючи з сьогоднішнього дня буде змінюватися приблизно так (+/- кілька сотень доларів у залежності від міста, де ви працюєте):

План

0–3 місяці (учень)

Ви знаєте про програмування дуже мало. Може, учили в школі та/або університеті, але дуже поверхово.

Ваше завдання — навчатися програмування й вивчати Java.

Ваша мета — влаштуватися на роботу Java Junior’ом у компанію не нижче 3-го рівня.

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

3–15 місяців (Java Junior Developer)

Ви вже працюєте програмістом і нарощуєте досвід день за днем. Не гайте часу. Вам ще багато чого належить зробити, щоб можна було спочивати на лаврах.

Ваше завдання — вивчати технології, що знадобляться вам, як Middle-розробнику. Які саме технології? Світ змінюється. Зараз нарадимо, а життя внесе свої корективи. Знайдіть в інтернеті декілька вакансій і подивіться на вимоги. Обов'язково прочитайте книжку Брюса Екеля «Філософія Java».

Ваша мета в перший рік роботи Java Junior'ом — дорости до рівня Java Middle. Ніхто не каже, що це дуже легко, але для цілеспрямованої людини цілком можливо. Зарплата відразу підскочить до півтори тисячі.

2-й рік роботи програмістом (Java Middle Developer, level 1)

Ви добре попрацювали минулого року, і тепер ви — Java Middle Developer. Із зарплатою в півтори тисячі можна нормально жити. На роботі вам дають серйозні завдання, і ваш досвід росте, як на дріжджах. Ви досягнете рівня Java Senior Developer за два-три роки. Немає сенсу прискорювати цей процес. Зарплата все одно сильно не підвищиться.

Ваше завдання — вивчити патерни проєктування, прочитати «Досконалий код» Макконела. Поліпшуйте якість свого коду й навички роботи в команді. Можна взяти за правило щотижня читати по одній книжці з ІТ. Тоді за рік ви будете на 50 книжок розумнішими за інших. Не варто відкладати це на потім: вільного часу у вас не стане більше. Цілком імовірно, що у вас з'явиться сім'я (чи поповниться, якщо вже є).

Ваша мета — вибрати кілька технологій, на яких ви будете спеціалізуватися як Senior-розробник. Усе вивчити неможливо. А бути корифеєм певного напряму — це добре рішення.

3-й рік роботи програмістом (Java Middle Developer, level 2)

Ви вже досвідчений Middle-розробник і подумуєте стати Senior Developer. Це приємно й престижно. Ваша зарплата становить понад 2 тисячі доларів (дані для Києва). З цього моменту попит на таких професіоналів, як ви, перевищує пропозицію. Ви завжди зможете влаштуватися на роботу за кілька днів і навряд чи будете отримувати менше, ніж зараз. Якщо, звісно, не впорете якусь дурницю.

Ваше завдання — продовжити вивчення вибраних технологій. Працюйте краще. Не заради роботодавця, заради самих себе. Просіться в проєкти з перспективними технологіями (як-от Big Data на момент написання цієї статті). Ви все одно будете проводити в офісі 8 годин на день, тож чому б не отримати за це трохи більше грошей і, що значно важливіше, найцінніший досвід, який вам ще знадобиться.

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

4-й рік роботи програмістом (Java Senior Developer, level 1)

Ви стали Senior-розробником. Вітаю. Можливо, стали ним незаслужено, і ви це відчуваєте. Все одно вітаю. Неважливо, чи варті ви зараз своєї посади, — головне, щоб ви стали вартими її в майбутньому. Погодьтеся, краще спочатку отримати хорошу роботу, а за рік дорости до неї, ніж дорости до хорошої позиції та чекати її ще рік.

Сподіваюся, ви не забули мою пораду й читали по одній книжці на тиждень — тепер вашим можливостям позаздрить будь-який студент. Точніше, він готовий молитися на них. Подумайте: у вас серйозна зарплата, що наближається до трьох тисяч доларів. Найімовірніше, ви ще молоді. Весь світ біля ваших ніг.

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

Ваша мета — визначити для себе напрям подальшого розвитку. Їх дуже багато, всіх варіантів ніхто не перелічить, але вибір потрібно зробити вже зараз. Якщо сьогодні ви трохи зміните теперішню ситуацію, це призведе до великих змін у вашому майбутньому.

5-й рік роботи програмістом (Java Senior Developer, level 2)

Ви визначилися з майбутнім і працюєте над втіленням своєї мрії. Поєднали правильно вибраний напрям із бажанням іти вперед — і результат не змусить себе чекати. Вітаю. Ми раді, що однією щасливою людиною стало більше.

Є одна мудра істина. Люди часто переоцінюють те, чого можна домогтися за один рік, і недооцінюють те, чого можна досягти за п'ять. Озирніться назад і згадайте, з чого ви починали п'ять років тому. Так воно і є.

Ваше завдання — не приймати дурних рішень і не плекати свою лінь.

Ваша мета — вибрати напрям і рухатися далі. А ви думали, це кінець? Згадайте свій випускний клас. Це не кінець, це тільки початок.

Майбутня спеціалізація

Ви можете розвиватися як технічний спеціаліст (верхня гілка), як керівник (нижня гілка) або як найманий професіонал/незалежний консультант (середня гілка). Все залежить від ваших уподобань.

Кар'єра програміста

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

Що ж потрібно, щоб стати таким висококласним і конкурентоздатним у світовому масштабі програмістом? Ви повинні мати великий досвід у найновіших і найпопулярніших технологіях. Як цього досягти? Відповідь нижче.

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

1. Ви починаєте швидко набиратися досвіду роботи в реальних проєктах. Один такий рік може дати вам більше знань і навичок зі спеціальності, ніж 5 років університету. Досвід — це настільки вагомий показник, що в IT-вакансіях часто пишуть «потрібен Java-програміст із трьома роками досвіду роботи».

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

От тільки що ж вибрати?

Часто, якщо ви не знаєте, які технології стануть вам у пригоді, ви починаєте вибирати їх за принципом «подобається — не подобається» або «модно — немодно». Тут уже як пощастить. Отож краще знати заздалегідь, куди ви хочете потрапити.

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

Двохсотрічний програміст.

Якщо понад усе вам подобається програмувати, то ваш шлях — Senior Developer, потім Tech Lead Developer та архітектор. Також ви можете просто працювати програмістом років 50. Іноді зарплати старших програмістів і техлідів перевищують зарплати їхніх менеджерів. Не прогадайте.

Менеджер. Тобі пощастило — ти не такий, як усі.

Ви перейшли на бік ворога. Жартую. Якщо у вас виявилися неабиякі організаторські здібності, то ваш шлях — Team Lead, а відтак Project Manager. Це дасть вам шанс стати директором і допоможе розпочати власну справу. Адже ви цього хочете, чи не так?

Украсти трактор.

Якщо ви встигли завести сім'ю і дітей, то, можливо, ви хочете тихого та безбідного життя в країні зі стабільною економікою. Замислюєтеся над переїздом/імміграцією в Канаду, США, Швейцарію або навіть Австралію. Ви маєте відмінні навички та професію, що користується попитом. Вам не доведеться починати з мийника посуду. Можна почати, приміром, із Senior Java Developer. Та ще й, імовірно, із більшою зарплатою. Не так вже й погано.

Побачити весь світ, окрім Парижа, і не помирати.

У вас ще немає сім'ї, і ви хочете помандрувати. Upwork — ваше все. Знайдіть собі замовника, обговоріть із ним ставку (від $20 за годину), беріть ноутбук — і вперед. Вашої зарплати має вистачити, щоби пристойно жити в будь-якій країні світу. Чому б не розпочати шлях до здійснення мрії просто зараз?