CodeGym /Java блог /Случаен /Какво е да си старши разработчик. Кратко ръководство за р...
John Squirrels
Ниво
San Francisco

Какво е да си старши разработчик. Кратко ръководство за ролята

Публикувано в групата
Традиционно в технологичната индустрия разработчиците се разделят на четири степени въз основа на техните квалификационни нива: Junior, Middle, Senior и Team Lead. В предишни две статии вече разгледахме всички основни неща за това Howво е да си младши и средно ниво програмист . Сега е време да преминете към следващата градация. Senior Developer, Howво е да си такъв и How Senior е различен от Mid-Level codeер? Нека разберем. Какво е да си старши разработчик.  Кратко ръководство за ролята - 1

Кой е старши разработчик?

В такива статии за професии и специализации в разработката на софтуер винаги трябва да направим няHowъв отказ от отговорност, обяснявайки, че възприемането и разбирането на определена позиция може да варира много в зависимост от компанията, индустрията, в която работи, и други фактори . Някои хора, предимно тези, които са склонни да бъдат донякъде консервативни, смятат, че ви е позволено да се наричате старши само ако имате над 10 години опит в codeирането, което е отговорно. Което означава, че се броят само годините, когато всъщност сте codeирали като служител на пълен работен ден, не можете да започнете да броите от момента, в който за първи път сте опитали да програмирате на Basic на 12-годишна възраст (Howто много млади програмисти са склонни да правят, вбесявайки истински старши програмисти ). Като по-малко консервативен, много хора вярват, че повече от пет години работа на пълен работен ден като софтуерен разработчик ви позволява да се наречете Senior. От друга страна, годините опит са само число, което наистина има meaning са знанията, уменията и приложимия опит. Това е мястото, където трябва наистина да се справите, за да заслужите титлата Senior, защото Senior Developer често се възприема като всезнаещ, всемогъщ магьосник за програмиране. Според възприемането на ръководството старши обикновено е този, който знае How да реши всяка задача, свързана с проект, or How да напише необходимия code. Но една от най-важните функции на старши разработчик по конкретен проект за разработка на софтуер е познаването на самия проект с всичките му проблеми, нужди, нюанси и т.н. Да можеш да работиш автономно е важно качество на старшия. Това означава, че Старшият знае Howво и кога да направи, и не се нуждае от надзор, за да изпълнява работата, която се очаква да върши. И това е доста ценно качество в очите на всеки работодател, тъй като означава, че можете да дадете на този разработчик задача, свързана с проекта, и да оставите всичко останало на него/нея. Като „всичко останало“ е: определяне на нуждите, изискванията и ограниченията за задачата, която трябва да бъде изпълнена, намиране на правилния подход, намиране на подходящи инструменти, разделяне на голямата задача на по-малки задачи и предоставяне на тези на средно и младше ниво Разработчици и т.н. Има още един основен аспект, който отличава възрастните от програмистите на средно и младше ниво. Това е в codeа, който пишат, и в начина, по който го правят. Старшият обикновено е и трябва да бъде този, който пише най-ясния, прост и кратък code. Понякога до такава степен, че този code изглежда прекалено ясен и примитивно основен. Това е така, защото Senior трябва да вземе предвид не само изпълнението на задачата като краен резултат, но и цялостния ефект на новия code върху codeовата база на проекта. Старши разработчици пишат codeа си, имайки предвид възможността за поддръжка и мащабируемост и това е основната им сила, която може да дойде само с опит и нищо друго.

Какви са отговорностите на старши разработчик?

Сега нека поговорим по-подробно за някои от най-стандартните и често срещани отговорности на Senior Developer, като естествено се фокусираме върху отговорностите, характерни за Java програмистите.
  • Идентифициране и анализиране на потребителските изисквания;
  • Приоритизиране, възлагане и изпълнение на задачи за codeиране;
  • Разработване на Java applications;
  • Преглед на работата с code за точност и функционалност;
  • Редовно анализиране на codeови сегменти;
  • Оставане в крак с новите технологии и обучение на младши разработчици How да ги използват;
  • Генериране на идеи и решения, свързани с цикъла на разработка с други членове на екипа;
  • Поемане на обща отговорност за цялата развойна работа и codeа на проекта.

Изисквания за старши разработчик

Ето списък с най-често срещаните и типични изисквания за старши разработчик, на които трябва да отговаряте, за да получите тази работа. Разбира се, изискванията ще варират в зависимост от политиките на компанията за наемане, технологиите, използвани в проекта, и вашия език за програмиране.
  • Разширени общи познания за разработката на софтуер и неговите технологии;
  • Силни познания по Java;
  • Опит в проектиране, изграждане и тестване на корпоративни applications;
  • Задълбочени познания за популярни Java frameworks като Spring, Spring Boot or Java EE, JSF и други;
  • Опит с Обектно-ориентиран дизайн (ООД).
Това са само основни изисквания, свързани с програмирането, но наличието на технически познания често не е достатъчно, за да получите работа на старши програмист, тъй като има толкова много други важни умения, които съставят един силен старши. Ето някои често споменавани нетехнологични изисквания за старши програмист.
  • Добри умения за делегиране и управление на времето;
  • Способности за решаване на проблеми;
  • Добри комуникационни умения;
  • Силни писмени и вербални комуникационни умения;
  • Способността да спазвате срокове и да мислите стратегически.

Колко печелят старшите разработчици?

Както може би знаете, когато става дума за заплати за работа в codeиране в САЩ, за опитен старши разработчик небето е граница, тъй като гиганти като Google, Facebook, Amazon, Apple и Microsoft плащат МНОГО на софтуерни инженери . Например, в Google, софтуерен инженер на Ниво 7, което се счита за най-високото, което можете да получите като разработчик, може да направи общо $608 000 на година. Но нека преминем през средните цифри. Според Glassdoor , средният старши програмист в САЩ прави около $121 000 на година, което е значително по-високо в сравнение със заплатата на codeер от средно ниво от $71 000 на година и средната заплата от $63 502 на година, която получават младши разработчици в САЩ според доклад _от PayScale, старши разработчик с 10-19 години опит печели средно общо възнаграждение от $109 122 въз основа на 5523 заплати. В края на кариерата си (20 и повече години) служителите получават средно общо възнаграждение от $111 432. В Германия , според PayScale, старши разработчик на софтуер с над 10 години опит печели общо средно възнаграждение от 63 638 евро. Във Франция, средната заплата на старши е 54 982 евро. Както обикновено, когато става въпрос само за цифри, американските програмисти изпреварват колегите си в Европа и другаде. Друг интересен момент, който трябва да се отбележи, е, че старшите програмисти в Америка печелят значително повече от програмистите от средно ниво. Може би това би било най-добре обяснено с предположението, че по-голямата част от наистина професионалните и опитни старши програмисти в САЩ работят за американските технологични гиганти, които са водещите световни потребители на софтуерна работна сила.

Кариерни перспективи

Що се отнася до перспективите за кариера, старшите разработчици определено ги имат. Но най-смешното е, че мнозинството от тях всъщност не ги търсят. Позиции като Team Lead и Tech Lead биха бor сред основните опции за очакване при достигане на старши ниво. Както и различни опции в управлението на технологиите. С вероятно позициите на CTO и CEO на технологична компания като най-високите възможни постижения в кариерата на Senior dev. Техническият директор е по-реалистичен, разбира се, тъй като дори в технологичната индустрия повечето изпълнителни директори всъщност нямат or имат много ограничен технически опит.

Какво е да си старши разработчик. мнения

Естествено, когато става въпрос за позицията Senior Developer като цяло, повечето дискусии обикновено се фокусират върху две ключови теми, по които разработчиците просто искат да обсъждат: Howво наистина ви прави Senior Dev и колко скоро можете да започнете да се наричате Senior. „Това може да изненада някои хора, но работните места на висше ниво постоянно изискват кандидатите да имат между 5 и 8 години опит. Имаше няколко, които поискаха 10 or повече години, но не много. Като старши разработчик, една компания ще очаква от вас да можете да вземете неясна идея, да я спецификирате, да планирате разработката, да ангажирате екип и да я следвате до завършване. Като има предвид, че междинният разработчик като цяло ще се очаква да изпълнява, без надзор, индивидуалните задачи, които са му възложени, да работи в екип и да упражнява известно наставничество.споделя своето виждане. „Със старши разработчик мога да дам високо ниво/по-неясна цел и те могат да я конкретизират, да създадат план за изпълнение, да го управляват от мен, след което да отидат да го приложат с минимално количество ръка. Така че, когато се чувствате уверени, че можете да вземете неясна идея и да я доведете докрай, вие сте старши разработчик. Обърнете внимание, че това не означава, че никога не търсите помощ, защото всеки го прави от време на време, но можете да ръководите процеса, без да се налага аз да ви гледам“, казва Ерик Уайз, съосновател и главен изпълнителен директор на Wise Telemetry. И нека приключим с този доста добър цитатот Пабло Олива, опитен софтуерен разработчик от Германия: „Старшите разработчици, с които съм работил, изглежда имат огромен набор от инструменти, така да се каже. Винаги, когато възникнеха проблеми, те имаха много ресурси, към които да се обърнат. Те познаваха инструментите и езиците, които използвахме ежедневно, доста добре и знаеха къде да търсят, когато не знаят нещо (има разлика между това да търсите в Google безцелно и да отидете на правилната page с ръководство при първия опит). Това познаване на стари решения и опитност в търсенето на нови решения ги направиха уважавани от техните връстници, които често се обръщаха към тях за предложения. Те също така биха знаели кога да спрат да търсят сами и да помолят колега за помощ. Някои имаха сертификати, други не. Някои бяха завършor, други не. Но те винаги са бor отправна точка за своите екипи (и дори за хора в други екипи, за някои особено впечатляващи старши разработчици). И така, колко хора мислят да ви помолят за помощ, когато се затруднят?“
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION