Кому підійде професія програміст? Порада на замітку

У статті я описую свою думку щодо пріоритетів при виборі роботодавця для програмістів. Головним фактором я вказав розмір зарплати, обґрунтовуючи це тим, що так залишається більше часу на життя. Далі, наводжу свої аргументи, чому не варто захоплюватися переробкою. Продовжую статтю поглядом на розробку домашніх проектів, яка, на мою думку, допомагає не відставати від трендів професії, і, крім того, приносить задоволення. До цих думок я прийшов, пропрацювавши 8 років програмістом на повний робочий день.


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

Пріоритети

При виборі роботи я визначив собі такі пріоритети.

  1. Розмір одержуваного грошового доходу. Все просто.
  2. Комфорт робочого простору. Це те, наскільки може бути зручно або незручно те, що вас оточує на роботі: віддаленість від дому, люди в кабінеті, продуктивність робочого комп'ютера, погода у робочого місця, камера спостереження в монітор, ваш монітор стороною до проходу, відношення з керівництвом, штрафи за запізнення тощо.
  3. Можливість вашого професійного розвитку. Сюди входить досвід, що отримується на роботі. Це вивчення нових для вас технологій, відточування раніше вивченого, придбання нових корисних навичок. Все, що робить вас досвідченішим у професійному плані.

Дуже мало цього списку можна дізнатися заздалегідь про компанію перед пристроєм на роботу. Але з огляду на порядок пріоритетів можна легко порівняти поточну роботу та іншу потенційну, знаючи розмір зарплати. Іноді можна пожертвувати частиною другого та третього, заради гарного окладу. Зрозуміло, кожному за цей баланс свій.


Деякі соромляться вимовити вголос, проте гроші - перший і головний фактор вибору місця роботи. Якщо ви добре отримуєте, то вам не доведеться підробляти та переробляти, а значить, у вас буде більше часу, щоб насолоджуватися життям. Моя думка така: якщо ви програміст з досвідом роботи більше 3 років, і ви відчуваєте, що хотіли б отримувати більше, почніть цього добиватися, не відкладаючи на потім. Швидше за все, немає у вас жодних підстав не отримувати більше, якщо є можливість.

Як підвищити собі зарплату

Існує думка, що можна просто попросити цього у вашого керівництва. Може й спрацювати. Але я пропоную спочатку з'ясувати, скільки вам готові платити інші роботодавці. Якщо у вас немає готових пропозицій роботи, потрібно почати шукати вакансії самостійно. Розглядайте ті варіанти, які співвідносяться з вашим досвідом та окладом, вищим за ваш поточний. Будьте готові виконувати тестові завдання, проходити Skype-інтерв'ю чи очні співбесіди. Розглядайте це як потенційний прибуток, не відгороджуйте свою зарозумілість.


Розглядайте не тільки роботодавців у вашому місті, але й роботу. Багато статей про недоліки віддаленої роботи, але якщо ви самі ще не пробували, то розглянути такі варіанти все одно можна. Пам'ятайте, що віддалена робота – це не обов'язково робота з дому. Із зарплатою програміста можна знімати офіс чи підселитися у коворкінг.


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


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


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


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


Якщо у вас немає ідей, як набратися рішучості попросити підвищення зарплати, то я пропоную вам наступне. Починайте для себе наголошувати на всіх недоліках поточного місця роботи: як вам не подобається, що в обід постійно хтось гріє рибу, що кондиціонер працює прямо над вашою спиною, як вас дратує штраф за запізнення на робоче місце на одну хвилину, як ви втомилися від реалізації фіч, які насправді нікому не потрібні, як вам набрид поточний стек використовуваних технологій, як ви давно вже не вивчали щось нове. Але найголовніше, уявіть, що ви могли б отримувати +X% грошей, але не отримуєте їх через ваш роботодавець. Чи подобається вам, що роботодавець залишає ваші гроші собі? Ні? Ось ідіть і поговоріть з ним про це. Тільки не треба ходити по роботі скривдженим, абияк робити свою роботу, сподіваючись, що керівник це помітить і сам щось запропонує. Це непрофесійно.


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

Понаднормова робота

Робота на повний робочий день передбачає, що ви працюєте 40 годин на тиждень. Якщо вам пропонують попрацювати більше цього, то пам'ятайте, що робота і так забирає у вас близько третини всього вашого повсякденного життя. Якщо у вас крім роботи та сну нічого більше в житті немає, то можна вбивати час та роботою. Інакше ж подумайте над своїми пріоритетами. Не погоджуйте на понаднормову роботу, якщо вона недостатньо оплачується. Але навіть у цьому випадку виявиться, що вам просто ніколи витрачати вашу зарплату. Ви можете думати, що зараз підкопіть на квартиру, потім на машину, потім на відпочинок для сім'ї, а потім піде життя. Але життя вже йде, а ви старієте. Спробуйте все-таки почати заробляти більше за ті ж 40 годин на тиждень, а не переробками. Витрачайте вільний час на те, що приносить вам задоволення, і вивчення чогось нового, щоб не відстати від трендів вашої професії.

Домашні проекти

Поширена думка, яка виглядає приблизно так: "Я і так весь день програмую, у мене не залишається сил, щоб приходити додому і розробляти pet-project або комітіті в open source". Я розумію, що не всі великі любителі програмувати заради процесу, і для них вищезгадана думка є справедливою. Але для деяких припустимо причину в тому, що вони просто не пробували програмувати щось цікаве для себе. Можливо, просто не придумали, що цікавого можна створити, а можливо навіть не пробували подумати.



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

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

Якими саме способами можуть реалізувати напрацьований досвід?

Горизонтальна кар'єра на посаді програміста-виконавця

Найкращий вибір для гіка — (тобто цілеспрямоване підвищення кваліфікації без зміни посадового статусу). Програміст, який постійно вдосконалюється, — цінний співробітник.

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

Порада на замітку:

Бути в IT універсалом неможливо. Щоб швидко просуватися по горизонталі, виберіть конкретний напрямок(бази даних, C++, java та інших.) і спробуйте стати у ньому найкращим.

Просування як експерт

Досягши певного рівня, ви зрозумієте, що готові ділитися досвідом. На цьому етапі перед вами відкривається нова перспектива – самореалізація у ролі консультанта.

Консультувати можна як офлайн-замовників (наприклад, фірми міста, які створюють сайт для реалізації продукції), так і клієнтів з віртуального простору. Хороша робота подібного роду зробить вам ім'я, а воно, своєю чергою, забезпечить дохід.

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

Управлінська робота

Якщо ви виросли до сходинки експерта, але вам не хочеться реєструвати ІП, спробуйте збудувати вертикальну кар'єру в авторитетній фірмі.

Вам доручать планувати та контролювати роботу інших фахівців.

По суті ви будете начальником. Отже, розвивайте у собі лідерські якостівчитися мотивувати людей.

Власний стартап

Ще один варіант кар'єри - мабуть, найскладніший - втілення в життя власного проекту (припустимо, запуск якогось оригінального платного сервісу).

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

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

Можливо, ви прочитавши статтю, почнете підшукувати вакансію. Скористайтеся опублікованими в нашому каталозі.


Озираючись навколо себе, я розмірковую про те, що не так часто, мені здається, люди залишаються програмістами багато років. Найчастіше поступово переходять у менеджери, протягом кількох років, спочатку ще продовжуючи писати код, але потім дедалі більше начальницькі обов'язки займають весь час. Часто йдуть у Product Management. Деякі, рідше, маркетинг. Багато хто йде у світ стартапів і стає бізнесменами - навіть якщо вони продовжують писати код, це вже робота на себе. Зворотний рух, з інших професій до програмістів, майже ніколи не трапляється в середині кар'єри, тільки на початку (з математиків, фізиків, інженерів, просто будь-кого ще, якщо є схильність до цієї справи).

Програмісти за 50 у доступному для огляду просторі є, але їх досить мало. Як пояснити чому? - чи тому, що переважно люди йдуть у менеджмент та інші професії? - чи скоріше тому, що професія все ще дуже бурхливо розширюється, і 30 років тому набагато менше людей навчалися на програмістів і входили у професію, ось їх тепер мало в загальній масі? Напевно, обидва пояснення вірні, але, може, одне з них набагато важливіше? Не знаю.

Мені 37, і якщо не брати до уваги кілька підліткових підробітків, я заробляю на життя програмуванням трохи більше 20 років. Більшість цього часу - в компаніях, де я сам собі не господар. Досі я свідомо чинив опір підводній течії, яка тягне програмістів у менеджмент, з двох причин. Мені здається, що мені це менше подобається, і мені здається, що це не дуже добре вийде. Досі я не шкодував про це рішення. Але що я робитиму ще через 20 років, припускаючи, що буду живий, відносно здоровий, і все ще працюватиму? Багато що ще може змінитися; але якщо я не буду спеціально старатися і тріпатися, закон інерції життя говорить, що і в 57 років натискатиму на клавіші і вводитиму ключові слова в текстовому редакторі в якійсь компанії. Чи будуть хороші, цікаві можливості та проекти для 57-річного мене в індустрії, якою вона стане через 20 років? Зараз у нашій індустрії, повторюся, програмісти за 50 є, але їх досить мало.

Нещодавня дискусія в HN ("What happens to older developers?") спонукала мої думки з цього приводу, і, хоч не дала конкретної відповіді, запропонувала багато можливих. Верхній коментар там добре підсумовує різні варіанти розвитку, які я описав вище: йти в менеджери, залишатися програмістом і поглиблювати свою майстерність, йти в бізнесмени-стартапісти, йти в зовсім іншу професію. Є в коментарях там чимало таких, як я, які віддають перевагу поки що за всіх рівних заробляти ключовими словами в редакторі. Ті з них, кому за 50, пишуть частіше, що якщо зберігають технічні знання і йдуть у ногу з часом, не можуть знайти роботу - хоч це в основному американські думки, в інших країнах може бути по-іншому. Але неясно, скільки таких залишилося з тих, хто хотів того ж, але виявили, що їм важко поміняти місце роботи в літньому віці, або що їм важко прийняти той факт, що всі однолітки обійшли їх ієрархічними сходами, або що просто набридло.

Звичайно, тільки я сам можу вирішити для себе, слід мені "спеціально намагатися і тріпатися", або продовжувати з ключовими словами та редакторами. Але буду радий дізнатися думку програмістів, нинішніх і поточних, які перекваліфікувалися в управдоми або прагнуть цього, на цю тему.

Почати свій шлях до кар'єри програміста варто з відповіді на питання, чи вам потрібно програмування взагалі? Це питання не стосується тих, хто навчається або навчався за фахом, близьким до програмування. Якщо вам у школі математика давалася краще за гуманітарні науки, якщо вам подобається проводити багато часу за комп'ютером, якщо вам хочеться вивчати щось нове, тоді програмування вам підійде.

З чого почати

Є кілька варіантів розвитку подій, у яких людина стає програмістом. Перший – батьки-програмісти, які всьому навчили своїх дітей. Таким дітям навіть не треба йти до університету. Другий варіант – модна професія програміста. Після школи потрібно було вибрати, куди піти вчитися, і вибрали модний напрямок IT, начебто сподобалося. І останній варіант – хобі, яке переросло у роботу.

Якщо з вами нічого з перерахованого вище не сталося, значить, у вас є вибір з чотирьох варіантів:

  • Самоосвіта. Цей варіант можна використовувати як самостійно, і у парі коїться з іншими методами. В інтернеті повно, і додатків, які допомагають вивчати різні мови програмування та технології. Але це найважчий шлях для початківців.
  • Університет. Якщо ви закінчуєте школу і хочете бути програмістом, тоді йдіть до університету. Якщо не за знаннями, тоді за скоринкою. Вона може стати бонусом при влаштуванні на роботу. Хоча й якісь знання ви також отримаєте. Але не забувайте займатись і самонавчанням. До вибору вишу варто підійти дуже відповідально. Уважно вивчіть програми навчання та обирайте найкращі технічні вузи.
  • Ментор. Буде дуже непогано, якщо ви знайдете людину, яка погодиться допомогти вам і направить вас у правильний бік. Він підкаже відповідні книги та ресурси, перевірить ваш код, дасть корисні поради. До речі, ми вже писали про те, де ви зможете знайти ментора. Наставника можна шукати серед знайомих програмістів, на IT-тусовках та конференціях, на онлайн-форумах тощо.
  • Спеціалізовані практичні курси. Спробуйте пошукати у своєму місті курси, де вас навчать якійсь мові програмування чи технології. Я був приємно здивований кількістю таких курсів, у тому числі безкоштовних і з подальшим працевлаштуванням.

Яку мову, технологію та напрямок вибрати

Коли ви станете програмістом, через рік-другий будете вільні вибирати будь-яку мову, яка вам подобається. Але при виборі першої мови програмування новачок має враховувати такі критерії:

  • Наявність на ринку вакансій. Кінцева мета цього шляху – знайти роботу програмістом. А це буде важко зробити, якщо на ринку вакансій ніхто не шукатиме розробників вашою мовою програмування. Перевірте сайти з вакансіями, перегляньте кого більше шукають, випишіть десяток мов. І переходьте до наступного критерію.
  • Низький рівень входження. Якщо вам доведеться витратити тривалий час вивчення мови, це може відбити у вас полювання до програмування взагалі. Почитайте про ті мови, які ви обрали вище. Перегляньте літературу, яку потрібно прочитати, щоб вивчити ці мови. І виберіть ті, про які пишуть, що вони легкі, або які вам видалися легкими. Такими мовами можуть бути PHP, Ruby, Python.
  • Кайф від процесу. Якщо вам не подобається писати код обраною мовою, ви не отримуватимете задоволення від цього процесу, від роботи та від життя. А воно вам потрібне? Зробіть правильний вибір.

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

У будь-якому випадку вивчіть веб-технології. Це мова розмітки HTML, стилі CSS і , яка дозволить зробити вашу сторінку динамічною. На наступному етапі вивчіть серверну мову (Python, PHP, Ruby та інші) та відповідні для неї веб-фреймворки. Вивчіть бази даних: практично у кожній вакансії програміста це згадується.

Як отримати початковий досвід

Без досвіду ви не отримаєте роботи. Без роботи ви не отримаєте досвіду. Замкнене коло реального життя. Але нічого страшного, ми з нього виберемося.

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

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

Якщо ви знаєте англійську мову, краще реєструйтеся на англомовних біржах. Ринок там більший. Якщо не знаєте англійської, вчіть її. А поки що вам доступні російськомовні біржі фрілансу. Шукайте невеликі проекти, які відповідають вашому рівню знань або трохи вище за нього. Подайте заявку на кілька десятків таких завдань. І приготуйтеся отримати море відмов. Але якщо одна-дві заявки вистрілять, ви матимете шанс отримати реальний досвід.

Ще одним непоганим варіантом отримання реального досвіду є open source. Таким проектам завжди потрібні нові люди, хай навіть новачки. Ви можете пошукати в проекті баги або подивитися у баг-трекері та запропонувати методи їх вирішення. Знайти такі проекти легко на GitHub або . Не соромтеся ставити там запитання.

Четвертий варіант отримання досвіду – допомога знайомим програмістам. Попросіть їх передати вам маленькі та нескладні завдання. Якщо щось не виходитиме, у вас завжди буде до кого звернутися. І при цьому ви братимете участь у реальному проекті.

Останній спосіб – власні проекти, різні хакатони чи робота в коворкінгу. Свої проекти складно розпочинати самому, краще пошукати знайомих чи друзів.

Чому варто вибрати Python

Поговоримо про вибір першої мови програмування. Перша мова має бути простою і популярною на ринку. Такою мовою є Python. Я дуже раджу вибрати саме його як першу мову програмування.

Код програми на Python читабельний. Вам навіть не потрібно бути програмістом, щоб загалом зрозуміти, що відбувається в програмі. Через нескладний синтаксис Python вам знадобиться менше часу для написання програми, ніж, наприклад, на Java. Величезна база бібліотек, яка заощадить вам купу сил, нервів та часу. Python є високорівневою мовою. Отже, вам не потрібно особливо думати про осередки пам'яті і про те, що там розмістити. Python – мова широкого призначення. І він такий простий, що навіть діти можуть його вивчити.

Заради справедливості варто згадати і про інші мови програмування. Javaможе стати непоганим вибором для новачка Ця мова популярніша, ніж Python, але й трохи складніша. Натомість інструменти для розробки набагато краще опрацьовані. Варто лише порівняти Eclipse та IDLE. Після Java вам буде простіше перейти до роботи з мовами низького рівня програмування.

PHP- Ще одна дуже популярна мова. І, мені здається, він навіть простіше, ніж Python. Дуже легко знайти собі ментора або вирішення якоїсь проблеми на форумі. Все тому, що у світі існує безліч PHP-програмістів різного рівня. У PHP немає нормального імпорту, є безліч варіантів вирішення однієї і тієї ж задачі. А це ускладнює навчання. І PHP заточений виключно під Інтернет.

Мови Cі C#дуже складні для новачка. Ruby- хороший вибір як друга мова, але не перша. JavaScript- дуже проста мова, але нічого доброго він вас не навчить. А завдання першої мови програмування таки навчити вас чогось правильного, задати якусь логіку.

Чи важлива англійська мова

Важливий! Не знаєте? Вчіть. Знаєте? Вдосконалюйте. Вчіться читати, писати, слухати і говорити англійською. Наголошуйте на технічну літературу. Слухайте англомовні подкасти. Читайте англомовні підручники з програмування.

Що потрібно знати, окрім мови програмування

Звичайно ж, окрім мови програмування та англійської, потрібно знати щось ще. А ось що – залежить від напрямку, який ви оберете. Веб-програміст повинен знати HTML, CSS, JavaScript. Десктоп-програміст навчає API операційної системи та різні фреймворки. Розробник мобільних програм вчить фреймворки Android, iOS або Windows Phone.

Усім потрібно вивчити алгоритми. Спробуйте пройти курс на Coursera або знайти відповідну для себе книгу за алгоритмами. Крім цього, потрібно знати одну із баз даних, патерни програмування, структури даних. Варто також ознайомитися з репозиторіями коду. Хоча б із одним. Обов'язковим є знання систем версійного контролю. Вибирайте Git, він найпопулярніший. Вам потрібно знати інструменти, з якими ви працюєте, операційну систему та середовище розробки. І головна навичка програміста – вміти гуглити. Без цього ви не проживете.

Останні кроки

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

Подумайте про кар'єру. Фото: кімберлітова трубка Вдала, Якутія.

Поганий той програміст, який не прагне стати ІТ-директором. Амбіції та прагнення до кар'єрних вершин, як правило, йдуть пліч-о-пліч з бажанням стати відмінним професіоналом у своїй галузі.

Часто можливість кар'єрного зростання HR-менеджери вказують одним із пунктів прийому на роботу молодого фахівця, причому для більшості великих ІТ-компаній перспективи професійного розвитку розробника прописуються буквально за пунктами. Такий план відбиває основні чинники, які мають підвищити ефективність роботи співробітника подальшого переходу більш вищу позицію.

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

Стажер (Junior Developer)

Більшість програмістів розпочинають свою кар'єру саме з цього першого ступеня. Серед основних вимог прийому працювати:

Вища або незакінчена технічна освіта.
Володіння основами мов програмування.

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

Розробник програмного забезпечення (Developer)

На момент переходу на цю посаду програміст повинен як мінімум:

Мати диплом спеціаліста (краще технічної спеціальності, але не обов'язково).
Знати все про програму.
Володіти кількома мовами програмування.
Мати уявлення про системи управління базами даних, web-сервіси, ОС.

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

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

Провідний розробник (Senior Developer)

Вимоги до претендента додатково включають:

Досвід роботи у великій профільній компанії від 2-х років.
Участь у комерційних корпоративних проектах.

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

Керівник відділу розробки (Team Leader)

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

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

Менеджер проекту (Project Manager)

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

Рухатися далі - у кількох напрямках: перейти в інший, цікавіший і масштабніший проект, розвиватися як директор з розробки або стати ІТ-директором. Вибраний шлях багато в чому залежить від інтересів спеціаліста і тієї галузі, в якій він прагне проявити себе.