По-голямата част от програмистите започват професионалната си кариера за codeиране от позиции на младши разработчици, които са предназначени за начинаещи със солидни познания по необходимия език за програмиране и свързаните технологии, чийто практически опит липсва or е ограничен. Традиционно (в технологичната индустрия) разработчиците се разделят на четири степени въз основа на техните квалификационни нива: Junior, Middle, Senior и Team Lead. Или пет, ако включите codeиращите стажанти като най-ниско класираните „войници“ в индустрията за разработка на софтуер. Но тези градации са доста условни и подлежат на тълкувания в зависимост от компанията or страната. Ето защо решихме да нарисуваме картина на това Howво е да си средностатистически Junior/Middle/Senior разработчик, така че да можеш ясно (доколкото е възможно) да разбереш Howво да очакваш, и How обикновено се правят нещата в индустрията в наши дни. Естествено, ще започнем с позицията Junior developer.
https://www.reddit.com/r/ProgrammerHumor/comments/i7fuwa/junior_dev_dnsnsjjajaw/
Кой е младши разработчик?
Да не казвам очевидното, но Junior Developer обикновено е неопитен програмист, който все още трябва да научи много неща за тази професия, за начина, по който се правят нещата в съвременната разработка на софтуер като цяло, а в конкретния екип/компания Junior е част от. Преминаването през целия цикъл на разработване на продукта поне няколко пъти е друг важен практически опит, който всеки Junior все още трябва да придобие. Що се отнася до конкретните работни задължения и задачи, младшите разработчици обикновено са тези, които ще направят сравнително просто писане на code, като резултатът ще бъде прегледан от старши членове на екипа, и ще се справят с други светски задачи, опитвайки се да получат колкото се може повече практически опит възможен. Едно нещо обаче си струва да се спомене. Това е начинът, по който младшите разработчици обикновено са позиционирани в екипа на разработчиците, но възприятието за позиция Junior developer може да се различава много в зависимост от компанията, пазара, индустрията и целите на бизнеса. Въпреки факта, че младши codeерът трябва да бъде начинаещ, фокусиран върху ученето и придобиването на опит, не е необичайно за много компании в наши дни да имат доста сериозни изисквания към кандидат за младша позиция. В някои случаи списъкът с изисквания може да изглежда като солиден набор от знания дори за среден or старши разработчик. Нивото на задачите, които Junior разработчикът получава, трябва да бъде едно от основните изисквания. Те трябва да са относително прости и основни, като старшите членове на екипа преглеждат работата на младшите и предоставят обратна връзка. Компании, които наемат хора като младши разработчици, като ги компенсират съответно, но всъщност ги използват (or продават на клиент,Какви са отговорностите на Junior Developer?
Нека поговорим по-подробно за някои от най-типичните и специфични отговорности на Junior Developer, за да имате по-ясна представа.- Писане и поддържане на codeа.
- Анализ на техническите изисквания на проекта.
- Коригиране на дребни бъгове и грешки в codeа.
- Участие в изпълнението и documentирането на тестовете.
- Работа с гъвкав екип и присъствие на срещи.
- Изготвяне на отчети, ръководства и друга documentация.
- Изучаване на codeовата база и структурата на проекта.
- Събиране на информация от потребителите за продуктите.
Изисквания за Junior Developer
Ето списък с най-честите и типични изисквания за Junior Developer, на които трябва да отговаряте, за да получите тази работа.- Необходими са задълбочени познания по езика за програмиране (в зависимост от позицията). За Java програмист това ще бъде Java синтаксис, колекции, многопоточност, инструменти за codeиране (Eclipse, IntelliJ IDEA or NetBeans), системи за контрол на версиите и услуги (GitHub, GitLab). Следваща стъпка: овладяване на рамките за изграждане на уеб проекти (Maven, Gradle), рамки за корпоративни проекти (Spring, Hibernate, Spring Boot), инструменти за модулно тестване (JUnit, Mockito) и др.
- Основни познания по други често срещани езици за програмиране, като JavaScript, C++ и HTML5.
- Основен практически опит в програмирането и писането на code.
- Познаване на бази данни и операционни системи.
- Основни познания по компютърни науки (като основа на знанията за почти всяка професия по разработка на софтуер).
- Способността за бързо изучаване на нови софтуерни платформи и технологии (доста важно умение за всеки програмист Junior).
- Умение за следване на инструкции и работа в екип (още едно умение, което в ниHowъв случай не бива да се подценява, въпреки че често е така).
Защо да бъдете Junior Developer?
Въпреки че изискванията и отговорностите на младши програмист трябва да са повече or по-малко ясни, нека да разгледаме най-вълнуващата част от тази работа, която младши програмистите трябва да очакват да получат от работата си на тази позиция.- Пари.
- Опитът.
GO TO FULL VERSION