Традиционно в технологичната индустрия разработчиците се разделят на четири степени въз основа на техните квалификационни нива: Junior, Middle, Senior и Team Lead. Или пет, ако включите codeиращите стажанти като най-ниско класираните „войници“ в индустрията за разработка на софтуер. В предишната статия вече разгледахме Howво е да си млад разработчик. Така че нека просто започнем от там, където спряхме миналия път и да преминем през следващия етап в градацията на кариерата на програмиста, който е Разработчик на средно ниво.

Кой е разработчик на средно ниво?
Mid-level Developer е сравнително опитен програмист, който вече е прекарал поне 2-4 години в тази професия. Тези години трябваше да превърнат неопитен и несигурен нов програмист в силен напълно функционален програмист, способен да напише свой собствен code и да измисли решения, без да е необходимо да иска помощ от старши членове на екипа. Разработчиците от средно ниво обикновено са централно звено в почти всяка „армия“ за разработка на софтуер, тъй като програмистите от средно ниво са тези, които извършват основната част от работата по програмиране на почти всеки проект. За разлика от по-малко опитните младши разработчици, програмистите от средно ниво не се нуждаят от много помощ or надзор, могат да правят всичко автономно и, като имат ясно разбиране за codeа и технологиите, използвани в проекта, имат повече отговорности. Например, ако основният фокус на Джуниър е върху писането на code, който да работи, ясен и прост, програмистът от средно ниво също трябва да помисли за неща като да се увери, че codeът е ясно разбираем и написан в съответствие със стандартите за качество и изискванията на проекта. Обикновено по-голямата част от codeовата база на почти всеки софтуер е написана от програмисти от средно ниво. Разбира се, Howто винаги, когато говорим за професии и специализации в технологичната индустрия, струва си да споменем, че програмистите от средно ниво (точно като Juniors or Senior devs) могат да имат доста различен опит и отговорност в зависимост от компанията, в която работят. „От външна гледна точка, 3–5 години опит ви прави средно ниво. От организацията, вие сте на етапа на доверие в codeирането, но малко or ниHowво взаимодействие с клиенти и собственост върху малки до средни проекти. Виждал съм случаи, в които разработчиците от висше ниво биха предпочели да останат на средно ниво, защото вие основно codeирате, без да е необходимо да се занимавате с ръководители на проекти и клиенти,”казва Люис Накао, опитен разработчик на софтуер и консултант по кариерата на codeиране.Какви са отговорностите на разработчика на средно ниво?
Сега нека поговорим по-подробно за някои от най-типичните и често срещани отговорности на разработчика от средно ниво.- Писане и поддържане на codeа.
- Анализиране и прилагане на най-добрите практики за codeиране в codeа на проекта.
- Анализиране на техническите изисквания на проекта и адаптиране на codeа към тях.
- Идентифициране и разработване на области за ревизии в текущи проекти.
- Изпълнение и внедряване на софтуерни тестове.
- Разработване на proceduresи за осигуряване на качеството на софтуерни проекти.
- Анализиране на нуждите на потребителите, Howто и нуждите на дизайнерите, QA тестери и други членове на екипа за разработка на софтуер.
- Разработване на proceduresи за осигуряване на качеството.
- Координиране на усorята и сътрудничество с други разработчици, дизайнери, системни и бизнес анализатори и др.
- Документиране на всяка част от процеса на разработка за по-нататъшна работа и поддръжка.
Изисквания за разработчик на средно ниво
Ето списък с най-често срещаните и типични изисквания за разработчик на средно ниво, на които трябва да отговаряте, за да получите тази работа. Разбира се, изискванията ще варират в зависимост от политиката на компанията за наемане, технологиите, използвани в проекта, и езика за програмиране на разработчика. Очевидно ще се съсредоточим върху типичните изисквания за Java разработчици от средно ниво.- Поне две-три години като Java разработчик и опит в работата по поне няколко различни софтуерни проекта.
- Пълни познания за това How да проектирате, програмирате, внедрявате и поддържате Java applications.
- Да знаете How да програмирате системи с голям обем и ниска латентност, предназначени за голямо мащабиране.
- Солидни познания за рамките за изграждане на уеб проекти (Maven, Gradle), рамки за корпоративни проекти (Spring, Hibernate, Spring Boot), инструменти за модулно тестване (JUnit, Mockito) и др.
- Способността да допринасяте във всички фази на жизнения цикъл на разработката.
- Възможност за писане на висококачествен, ефективен и лесен за тестване code.
- Да сте добре запознати с извършването на софтуерен анализ, тестване и отстраняване на грешки в Java code.
- Опит в управлението на разработката на Java и Java EE applications.
- Способен да предлага алтернативни подходи и да прилага по-нови технологии.
- Способност за ясна и кратка комуникация Howто с технически, така и с нетехнически клиенти.
GO TO FULL VERSION