Пътят на програмиста

Защо програмистите обикалят и изглеждат толкова щастливи през цялото време? Отговорът на този въпрос е прост и обезкуражаващ: те имат работа, която обичат, и имат много пари.

Добре дошли в света на програмирането!

Програмистите правят добри пари

Програмистите правят добри пари. Нека започнем, като ви разкажем за заплатите на програмистите. Как работят заплатите на програмистите и кои са най-добрите и най-лошите места за работа. Цялата противоречива информация там може да затрудни непрограмист да разбере всичко това сам.

Основният фактор, влияещ върху това колко пари прави програмистът, не са неговите or нейните умения. Това е мястото, където той or тя работи. На един програмист може да се плаща от 2 до 10 пъти повече от друг програмист, въпреки че и двамата имат еднакви квалификации!

Вашите квалификации остават сравнително постоянни от момент на момент. Например, програмистът не става двойно по-опитен за един месец и след това няHow си очаква да спечели два пъти повече пари. Но много добре бихте могли да промените мястото си на работа след месец и в крайна сметка да получавате два пъти повече от преди. Сега нека обсъдим най-добрите места за работа на програмист.

Има три фактора, които влияят най-много на това колко пари компаниите плащат на своите програмисти:

1) Дали работодателят е софтуерна компания, т.е. компания, чийто основен продукт е софтуер

2) Дали компанията е фокусирана върху международни or вътрешни пазари

3) Дали собственикът на компанията е чуждестранна or местна компания.

Важно е да обърнете внимание на местоположението на потенциален работодател, когато обмисляте колко искате да получите за разработка на софтуер. Например, ако живеете в Дрезден, може да ви плащат десет пъти по-малко за разработване на софтуер, отколкото вашият приятел, живеещ в Ню Йорк. Когато това е така, факторите, споменати по-горе, действат.

Реални числа

Тъй като заплатите са различни в различните части на света, предлагам да вземем заплатата на старши Java разработчик с 5 години опит като отправна точка и да я наречем „максимум 5 години“. Всички цифри по-долу ще бъдат дадени като процент от тази сума. Ето някои примери за „максимални 5 години“ заплати в различни градове по света: Нека опишем ситуацията в Източна Европа, което като цяло е вярно за всички страни, където ИТ аутсорсингът/аутстафингът е доста популярен.

Ето колко може да спечели един старши Java разработчик с пет години трудов стаж в зависимост от работодателя:

Ниво Месечна заплата Описание
1 $200 - $500 При най-ниското ниво на заплащане имаме фирми, чийто основен продукт or бизнес не са ИТ. Тези компании са държавни и обикновено се фокусират върху вътрешния пазар. Например ИТ отделът на данъчна агенция or друга държавна организация.
2 $500 - $1500 Под средното – ИТ отдели в различни неправителствени институции (напр. банки и др.).
3 1000 — 2500 долара Средно ниво – компании за разработка на софтуер.
4 $3,000 - $4,000 Над средното – компании за разработка на софтуер с чуждестранни клиенти.
5 $4,000 - $5,000 На самия връх – компании за разработка на софтуер, чиито клиенти и собственик(и) са чуждестранни лица. Има много малко такива фирми. Свободните работни места са рядкост и обикновено е трудно да ги намерите. Те обаче се появяват от време на време.
Пътят на програмиста 2

Кое е най-странното в случая?

Половината от всички програмисти работят за компании от ниво 1 и ниво 2.

Искате ли да знаете уловката?

Има стотици работни места в компании от ниво 3 и ниво 4. Те са готови да предложат по-високи заплати и обикновено много по-добри условия на труд.

Ето реална ситуация: има двама младши Java разработчици. Един от тях получи работа с заплащане около 3% от „5-годишния максимум“ (в компания от ниво 1), а друг получи работа с 30% от „5-годишния максимум“ заплата (ниво 4). Защо да печелите по-малко?

Какво можете да направите, ако не спрете

Освен това, ако продължите да подобрявате уменията си по програмиране, като постоянно инвестирате в обучението си по програмиране, тогава сумата пари, която правите, започвайки от днес, ще нарасне Howто следва (+/- няколко стотици долара, в зависимост от града, в който работите ):

Планирайте

0-3 месеца (студент)

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

Вашата задача – Научете How да програмирате, като изучавате езика за програмиране Java.

Вашата цел – Намерете си работа като младши Java разработчик в не по-малко от компания от ниво 3.

Имайте предвид, че през първите три месеца от плана няма да ви се плаща нищо. Ще бъдете фокусирани само върху изучаването на Java. Също така имайте предвид, че в бъдеще, когато имате семейство и може би много финансови дългове, ще бъде много по-трудно да промените кариерата си. Ако това се случи и в крайна сметка искате да поправите грешката си, ще трябва да спестите пари за една година, за да финансирате смяната на кариерата си. Изводът е да избягвате глупави грешки в кариерата.

3-15 месеца (Junior Java Developer)

До този момент от кариерата ви трябва да работите като Java програмист. Вашето разбиране на езика и уменията по програмиране трябва да се подобряват всеки ден. Но сега не е време за почивка. Имате да научите още, преди да можете да почивате на лаврите си.

Вашата задача – Научете технологиите, от които ще се нуждаете като разработчик на средно ниво. Какви са тези технологии? Светът се променя. В момента ви даваме съвети, но животът променя всичко. Намерете публикувани онлайн обяви за работа за Java програмисти и разгледайте изискванията за работа. Също така предлагам да прочетете книгата на Брус Екел „Мислене в Java“.

Вашата цел през първата ви година на работа като младши Java разработчик е да израснете до ниво Java разработчик от средно ниво. Никой не казва, че това би било лесно, но това е възможно за целеустремен човек. Незабавно ще увеличи заплатата ви до 40% от „5-годишния максимум“ ($64K за SF и Лондон, $12K за Бангалор).

2-ра година работа като програмист (Mid-Level Java Developer, Level 1)

Работихте добре през изминалата година и сега сте Java разработчик на средно ниво. Можете да живеете доста добре, като печелите 50% от заплатата на старши Java разработчик. Получавате сериозни задачи в работата и опитът ви нараства значително. Ще станете старши Java разработчик след две or три години. Няма защо да бързаме. Така or иначе заплатата ви няма да расте бързо.

Вашата задача – Научете шаблони за проектиране и прочетете „Code Complete“ от McConnell. Подобрете качеството на вашия code и култивирайте способността за работа с екипи. Може да си направите правило да четете по една книга за ИТ всеки месец. След това след година години ще бъдете с 12 книги по-умни от вашите колеги. Просто се уверете, че не отлагате това обучение, тъй като най-вероятно никога няма да имате повече свободно време в бъдеще. Напълно възможно е да създадете семейство or, ако вече имате такова, може би то ще се разрасне.

Вашата цел – Изберете няколко технологии, в които искате да се специализирате като старши разработчик. Така or иначе няма да можете да научите всичко. Добра идея е да станете гуру в една тясна област.

3-та година работа като програмист (Mid-Level Java Developer, Level 2)

Вече сте опитен разработчик на средно ниво и обмисляте да станете старши разработчик. Приятно е, Howто и престижно. Вашата заплата надвишава 60% от „5-годишния максимум“ ($18K в Бангалор, $24K в Киев, $66K в Берлин, $75K в Ню Йорк). От този момент нататък търсенето на професионалисти като вас надвишава предлагането. Винаги ще можете да си намерите работа за няколко дни и е малко вероятно някога да печелите по-малко, отколкото сега. Това е, разбира се, ако не направите нищо глупаво.

Вашата задача – Продължете да изучавате технологиите, които сте избрали. Продължавайте да работите упорито, не заради вашия работодател, а заради себе си. Поискайте да участвате в проекти с напреднали технологии, като Big Data. Така or иначе ще прекарвате по осем часа на ден в офиса, така че е добре да получите малко повече пари и, което е по-важно, да придобиете ценен опит, който ще ви е необходим в бъдеще.

Вашата цел – намиране на нова работа. Добри хора има навсякъде. В нова компания ще работите по нови проекти и технологии. Не се привързвайте към бюрото си твърде рано. Ако все още работите в компания от ниво 3, започнете да мислите за преместване в компания от ниво 4. Петото ниво, колкото и привлекателно да изглежда, все още е извън обсега ви в този момент.

4-та година работа като програмист (Senior Java Developer, Level 1)

Вече сте старши разработчик. Честито. Може би не сте го заслужor и го чувствате. Все пак моите поздравления. Няма meaning дали сте достоен за позицията си сега. Важното е да станеш достоен за това в бъдеще. Мисля, че ще се съгласите, че е по-добре да си намерите добра работа и след това да израснете до необходимото ниво, отколкото обратното.

Надявам се, че не сте забравor съвета ми да четете по една книга на месец? Всеки студент ще завиди на вашите знания и умения сега. По-вероятно е той да се моли за тях. Само си помислете: правите сериозни пари, близо 90% от „5-годишната максимална“ заплата. Сигурно си още млад. Светът е в краката ти.

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

Вашата цел – Изберете областта за по-нататъшен растеж. Има много. Твърде много за изброяване, но трябва да изберете сега. Малките промени днес ще доведат до големи промени в бъдеще.

5-та година работа като програмист (Senior Java Developer, Level 2)

Вие сте определor бъдещето си и работите, за да реализирате мечтата си. С правилната специализация и вашето желание да продължите напред, няма да отнеме много време преди да видите резултати. Честито. Ние сме развълнувани, че още един човек в света вече е по-щастлив с кариерата си.

Ето още един добър съвет: хората често надценяват Howво могат да постигнат за една година и подценяват това, което могат да постигнат за пет години. Помислете за последните пет години от живота си. Това е вярно, нали?

Вашата задача – Не вземайте глупави решения. Не ставайте безгрижни към целите си.

Вашата цел – Изберете област и продължете напред. Мислехте ли, че това е краят? Спомняте ли си кога завършихте учorще? Това не е краят – това е само началото.

Бъдеща специализация

Можете да растете като технически експерт (горен клон), мениджър (нисш клон) or професионален/независим консултант (среден клон). Всичко зависи от вашите предпочитания.

Кариера на програмист

Програмирането се различава от другите професии. С програмирането не е нужно да ставате мениджър, за да печелите добри пари. В много случаи един старши програмист печели повече от своя шеф. Колкото повече опит придобиете, толкова по-бързо отношенията ви с ръководството ще преминат от „работник-мениджър“ към „суперзвезда-агент“. Програмисти, които познават стойността им, могат да избират най-интересните проекти, върху които да работят, or да заемат най-интересните работни места. Нека аплодираме всички програмисти, които са постигнали тази мечта!

Какво трябва да направи човек, за да стане топ програмист с голямо търсене по света? Ще трябва да имате много опит в най-новите горещи технологии. Как правиш това? Продължавай да четеш.

След като получите първата си работа като програмист, две неща ще се случат, вероятно без дори да сте наясно.

1. Бързо ще натрупате трудов опит с реални проекти. Една година работа като програмист може да ви даде много повече подходящи знания и умения, отколкото пет години обучение в университет. Този опит често се споменава при обяви за работа в областта на ИТ: „Имаме нужда от Java програмист с три години трудов стаж“.

2. Ще изучавате нови технологии осем часа на ден и ще ви плащат за това. Трудно е да се подценява meaningто на това. Понякога тези нови умения са толкова важни, че може да работите безплатно or дори да плащате пари, за да ги придобиете. Ако внимателно избирате проектите си, ще се изкачите нагоре по кариерната стълбица.

Какво да избера?

Ако не знаете Howви технологии ще ви бъдат полезни в бъдеще, може да започнете да избирате технологии въз основа на „харесвам това“ и „не харесвам онова“ or „това е на мода“ и „това е не е на мода". Този подход зависи изцяло от късмета. Така че винаги е по-добре да знаете предварително къде искате да стигнете.

Има много начини, по които програмистът може да напредне. Ще споменем някои от тях и ще ви кажем нашето мнение. Но не приемай думите ми като единствената истина. Просто предоставям опростен вид, за да направя нещата по-ясни за вас.

Бъдете вечен програмист

Бъдете вечен програмист

Ако любимото ви нещо е да пишете code, тогава трябва да станете старши разработчик, след това технически ръководител и след това архитект. Можете също така просто да работите като програмист в продължение на 50 години. Заплатите на старши програмисти и технически ръководители често са по-високи от заплатите на техните мениджъри. Не можете да загубите.

Бъдете мениджър. Късметлия, ти си специален.

Вие преминахте към врага. Майтапя се. Ако смятате, че имате добри организационни умения, тогава това може да е вашият път: Ръководител на екип, след това мениджър на проекти. Това ви дава шанс да станете изпълнителен директор и ще ви помогне, ако искате да отворите собствен бизнес. Искаш това, нали?

Закачете се на автостоп.

Ако случайно имате семейство и деца, вероятно се опитвате да изградите спокоен и проспериращ живот в страна със стабилна икономика. Може да мислите за преместване/емиграция в Канада, Съединените щати, Швейцария or дори Австралия. Имате страхотни умения и професия, която е много търсена. Няма да се налага да започвате от дъното и може да започнете като старши Java разработчик с добра заплата. Това няма да е лошо.

Вижте целия свят (с изключение на Париж), без да умрете.

Да предположим, че все още нямате семейство и искате да пътувате. Upwork е за вас. Намерете клиент, договорете тарифи ($20-$50/час), вземете лаптоп и работете в движение! Ще спечелите достатъчно пари, за да живеете навсякъде по света. Защо не започнете да живеете мечтата си точно сега?