JavaRush /Java блог /Random UA /Шлях програміста

Шлях програміста

Стаття з групи Random UA
Шлях програміста - 1Моя знайома часто запитувала себе, чому програмісти завжди ходять такі щасливі. Відповідь, до якої вона прийшла, була простою і бентежною: тому що вони працюють на улюбленій роботі і в них дофіга грошей. Ласкаво просимо у світ програмістів.

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

Хочу розповісти про зарплати програмістів. Як власне справи із зарплатою, куди краще йти працювати, а куди — ні. Якщо ви не програміст і спробуєте самостійно розібратися в цій темі, можете отримати набір дуже суперечливих даних. Справа в тому, що головним фактором, що впливає на зарплату програміста, є не його кваліфікація, а місце роботи. Іноді, при однаковій кваліфікації, різниця між хорошим та поганим місцем може досягати 2-10 разів (!) у кожний конкретний момент часу ваша кваліфікація постійна. Ви не можете за місяць стати досвідченішим вдвічі і отримувати вдвічі більше. А ось змінити за місяць роботу і отримувати вдвічі більше — навіть можете. Якось протягом двох місяців моя зарплата зросла втричі(!) — незабутнє враження. Давайте з'ясуємо, де найкраще працювати. Ось три фактори,
  1. Чи є розробка програмного забезпечення основним бізнесом компанії.
  2. Чи орієнтована компанія на міжнародний ринок чи внутрішній.
  3. Власником фірми є західна компанія чи вітчизняна.
Зверніть увагу, що місто, в якому ви живете, не відіграє вирішальної ролі. Тобто. якщо ви отримуєте в 10 разів менше, живучи в Дрездені, ніж ваш знайомий у Нью-Йорку, значить, у справу вступабо перелічені вище фактори.

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

Важко навести якісь конкретні цифри для всього світу. Я дам опис ситуації для Східної Європи, яка загалом справедлива для всіх країн, де більш-менш розвинений IT-outsource/outstaff. Нижче наведено розклад зарплат програмістів для Києва – це великий центр ІТ-аутсорсу Східної Європи. У СПб зарплати на 10% вищі, у Москві десь на 20%. Не зустрічав у Східній Європі жодного міста-мільйонника, де зарплати були б на 30% менші, ніж у Києві. Так як ви всі з різних міст, пропоную збільшувати наведені мною цифри відповідно до зазначеної шкали:
Москва +20%
Санкт-Петербург +10%
Київ (3 мільйони)
Місто з населенням мільйон і більше -20%
Місто з населенням менше мільйона -30%
Ось скільки може заробляти Java Senior Developer із п'ятьма роками досвіду роботи, залежно від рівня компанії, в якій працює:
Рівень Зарплата на місяць Опис
1 $200 - $500 Внизу знаходяться фірми, де ІТ - це непрофільний напрямок бізнесу компанії, замовник - внутрішній ринок, а власник - держава. Наприклад, ІТ-відділ у податковій чи іншій державній організації.
2 $500 - $1500 Нижче середнього знаходяться ІТ-відділи різних недержавних структур: банків і т.д.
3 $1,000 - $2,500 Середній рівень - це фірми, які займаються розробкою ПЗ
4 $3,000 - $4,000 Вище середнього - це фірми, які займаються розробкою ПЗ, і замовники у них із заходу
5 $4,000 - $5,000 На вершині - фірми, які займаються розробкою ПЗ, замовники у них із заходу, і власник теж. Їх мало. Відкриті вакансії бувають нечасто і потрапити туди непросто. Але вони є.
Шлях програміста - 2 Що найдивніше в ситуації, що склалася? Половина всіх програмістів працює у фірмах рівня 1 і 2. Хочете дізнатися, в чому підступ? Існують сотні відкритих вакансій програмістів у фірмах рівня 3 і 4. Ці компанії готові запропонувати вищі зарплати і, зазвичай, набагато кращі умови праці. Я знаю двох Java Junior'ів, один із яких пішов працювати на $100 на місяць (у фірму рівня 1), а другий на $1,000 на місяць (рівень 4). Навіщо отримувати менше? Попит на програмістів перевищує пропозицію – не йдіть працювати туди, де мало платять! Висновок 1: Середні зарплати Java-програмістів у Києві — близько $1,200 на місяць Висновок 2:Ваша середня зарплата, через 5 років, якщо ви не підете працювати у фірми рівнів 1 та 2, а підете працювати у фірми рівня 3 та 4, буде вищою за $3,000 на місяць. Чого можна домогтися, якщо не тупити Якщо ви постійно займатиметеся саморозвитком в галузі програмування, то ваша зарплата, починаючи з сьогоднішнього дня, може виглядати приблизно так. Шлях програміста - 3

План

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) Ви визначабося з вашим майбутнім та працюєте над втіленням вашої мрії. Правильно обраний напрямок у сукупності з бажанням йти вперед і результат не забариться. Вітаю. Я радий, що ще однією щасливою людиною побільшало. Є одна мудра істина. Люди часто переоцінюю чого можна досягти за один рік, і недооцінюють, чого можна досягти за п'ять років. Огляньтеся на п'ять років тому. Так воно і є. Ваше завдання - не приймати дурних рішень і не йти на поводу у лінощів. Ваша мета - вибрати напрямок і рухатися далі. А ви думали це кінець? Згадайте свій випускний клас. Це не кінець, це лише початок.

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

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

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

Професія програміст відрізняється від інших професій. Тут немає потреби робити кар'єру менеджера, щоб добре заробляти. Непоодинокі ситуації, коли старший програміст отримує більше, ніж його начальник-менеджер. Чим більше ви набираєте досвіду, тим сильніше ваші стосунки з начальством рухаються від точки «начальник-робітник» до відносин виду «кінозірка та її менеджер». Програмисти, що зажерлися, знають собі ціну, перебирають і проектами і вакансіями. Порадіємо за своїх. Що ж потрібно, щоб стати таким висококласним та затребуваним у світовому масштабі програмістом? Ви повинні мати великий досвід у найновіших і найпопулярніших технологіях.Як цього досягти? Відповідь нижче. Після того, як ви вперше влаштувалися працювати програмістом, з вами починають відбуватися дві речі, які, як не дивно, не завжди впадають у вічі.
  1. Ви починаєте швидко набирати досвід роботи у реальних проектах. Один рік досвід роботи програміст може дати вам більше знань і навичок у вашій спеціальності, ніж 5 років університету. Досвід – це настільки значущий показник, що в IT-вакансіях часто пишуть «потрібний Java-програміст із трьома роками досвіду роботи».

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

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

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

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

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

Вкрасти трактор

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

Переглянути весь світ, окрім Парижа і не вмирати

У вас ще немає родини, і ви хочете помандрувати . Upwork – все ваше. Знайдіть собі замовника, обговоріть з ним рейти – від $20/годину, беріть ноутбук та вперед. Вашої зарплати має вистачити, щоб нормально жити у будь-якій країні світу. Чому б не розпочати виконання своєї мрії прямо зараз? Програмування – це зручно.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ