CodeGym тесла

Ниво 6

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

Повишихте ниво!  - 1

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

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

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

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

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

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

Сега нека обсъдим най-добрите места за работа на програмист.

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

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

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

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

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

Реални числа

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

град Старши Java Developer, 5 години опит
Сан Франциско (САЩ) 160 000 долара
Ню Йорк (САЩ) 125 000 долара
Лондон (Великобритания) 120 000 долара
Берлин (немски) 110 000 долара
Киев (Украйна) 40 000 долара
Бангалор (Индия) 31 000 долара

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

Ниво Заплата, % от "5 години максимум" Описание
1 5%-10% При най-ниското ниво на заплащане имаме фирми, чийто основен продукт or бизнес не са ИТ. Тези компании са държавни и обикновено се фокусират върху вътрешния пазар. Например ИТ отделът на данъчна агенция or друга държавна организация.
2 30% Под средното – ИТ отдели в различни неправителствени институции (напр. банки и др.).
3 50% Средно ниво – компании за разработка на софтуер.
4 80% Над средното – компании за разработка на софтуер с чуждестранни клиенти.
5 100% На самия връх – компании за разработка на софтуер, чиито клиенти и собственик(и) са чуждестранни лица. Има много малко такива фирми. Те рядко имат свободни работни места и обикновено е трудно да се намерят такива работни места. Те обаче се появяват от време на време.
Повишихте ниво!  - 2

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

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

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

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

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

Търсенето на добри програмисти надвишава наличното предлагане, така че няма смисъл да работите като програмист за компании, които не плащат много!

Заключение 1: Средната заплата за разработчиците на Java (с всяHowъв опит) е 40%-50% от "максималната 5-годишна" заплата.

Заключение 2: Вашата средна заплата след 5 години ще бъде около 90%-110% от „5-годишната максимална“ заплата, ако отидете да работите за компании от ниво 3/4 instead of компании от ниво 1/2.

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

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

Повишихте ниво!  - 3

Планирайте

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 и култивирайте способността си да работите с екипи. Може да си направите правило да четете по една книга за ИТ всеки месец. Тогава след четири години ще бъдете с 50 книги по-умни от вашите колеги. Просто се уверете, че не отлагате това обучение, тъй като най-вероятно никога няма да имате повече свободно време в бъдеще, особено ако създадете семейство.

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

Повишихте ниво!  - 4

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, Level2)

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

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

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

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

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

Повишихте ниво!  - 5

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

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

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

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

Повишихте ниво!  - 6

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

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

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

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

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

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

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

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

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

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

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

Повишихте ниво!  - 7

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

Вижте целия свят

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

Глупавите хора пилеят трудно спечелените си пари. Умните хора го спасяват. А бъдещите програмисти инвестират в себе си и професионалното си образование. ИТ специалистите имат светло бъдеще!