Hagyományosan a technológiai iparban a fejlesztőket képzettségi szintjük alapján négy fokozatba osztják: Junior, Middle, Senior és Team Lead. Vagy ötöt, ha beleszámítjuk a kódoló gyakornokokat, mint a szoftverfejlesztési iparág legalacsonyabb rangú „katonáit”. Az előző cikkben már foglalkoztunk azzal, hogy milyen Junior fejlesztőnek lenni. Kezdjük tehát ott, ahol legutóbb abbahagytuk, és menjünk át a programozói pályafutás következő szakaszán, ami a középszintű fejlesztő.
Ki a középszintű fejlesztő?
A Mid-level Developer egy viszonylag tapasztalt programozó, aki már legalább 2-4 évet eltöltött ebben a szakmában. Ezeknek az éveknek egy tapasztalatlan és bizonytalan friss kódolót egy erős, teljesen működőképes programozóvá kellett volna tennie, aki képes saját kódot írni, és megoldásokat találni anélkül, hogy a vezető csapat tagjaitól kellene segítséget kérnie. A középszintű fejlesztők általában minden szoftverfejlesztő „hadsereg” központi egysége, mivel a középszintű kódolók végzik el a programozási munka fő részét szinte minden projekten. Ellentétben a kevésbé tapasztalt Junior fejlesztőkkel, a középszintű kódolóknak nincs szükségük sok segítségre vagy felügyeletre, mindent autonóm módon tudnak elvégezni, és a projektben használt kódok és technológiák világos megértésével több felelősség hárul rájuk. Például, Ha a Junior fő hangsúlya a működő, egyszerű és egyszerű kódíráson van, a középszintű kódolónak olyan dolgokra is gondolnia kell, mint például annak biztosítása, hogy a kód egyértelműen érthető legyen, és összhangban legyen a minőségi szabványokkal és a projekt követelményeivel. Általában minden szoftver kódbázisának nagy részét középszintű programozók írják. Természetesen, mint mindig, amikor a technológiai ipar szakmáiról és specializációiról beszélünk, érdemes megemlíteni, hogy a középszintű kódolók (akárcsak a juniorok vagy a senior fejlesztők) meglehetősen eltérő tapasztalattal és felelősséggel rendelkezhetnek attól függően, hogy melyik cégben dolgoznak. „Külső szemszögből nézve a 3-5 éves tapasztalat középszintűvé tesz. Egy szervezeten belülről Ön azon a ponton van, ahol megbíznak a kódolásban, de alig vagy egyáltalán nem vesz részt az ügyfelekkel való interakcióban, valamint a kis és közepes méretű projektek tulajdonjogában. Láttam olyan eseteket, amikor a felső szintű fejlesztők szívesebben maradnának a középszinten, mert alapvetően úgy kódol, hogy nem kell projektmenedzserekkel és ügyfelekkel foglalkoznia.”– mondja Lewis Nakao, tapasztalt szoftverfejlesztő és kódolási karrier-tanácsadó.Melyek a középszintű fejlesztő feladatai?
Most beszéljünk részletesebben a középszintű fejlesztők legjellemzőbb és leggyakoribb feladatairól.- A kód írása és karbantartása.
- A legjobb kódolási gyakorlatok elemzése és bevezetése a projektkódba.
- A projekt műszaki követelményeinek elemzése és a kód hozzáigazítása.
- A jelenlegi projektek felülvizsgálati területeinek meghatározása és fejlesztése.
- Szoftvertesztek végrehajtása és megvalósítása.
- Minőségbiztosítási eljárások kidolgozása szoftverprojektekhez.
- A felhasználók igényeinek elemzése, valamint a tervezők, minőségbiztosítási tesztelők és más szoftverfejlesztő csapat tagjai igényeinek elemzése.
- Minőségbiztosítási eljárások kidolgozása.
- Az erőfeszítések összehangolása és együttműködés más fejlesztőkkel, tervezőkkel, rendszer- és üzleti elemzőkkel stb.
- A fejlesztési folyamat minden részének dokumentálása a további munkákhoz és karbantartásokhoz.
Követelmények egy középszintű fejlesztővel szemben
Íme a középszintű fejlesztőkkel szemben támasztott leggyakoribb és legjellemzőbb követelmények listája, amelyeknek meg kell felelnie ahhoz, hogy megkapja ezt a munkát. Természetesen a követelmények a vállalat felvételi szabályzatától, a projektben használt technológiáktól és a fejlesztő programozási nyelvétől függően változhatnak. Nyilvánvalóan a középszintű Java-fejlesztők tipikus követelményeire fogunk összpontosítani.- Legalább két-három év Java fejlesztőként és legalább több különböző szoftverprojekten szerzett tapasztalat.
- A Java alkalmazások tervezésének, programozásának, megvalósításának és karbantartásának teljes körű ismerete.
- A nagy volumenű és alacsony késleltetésű rendszerek programozásának ismerete nagy skálázáshoz.
- A webes projektek felépítéséhez szükséges keretrendszerek (Maven, Gradle), a vállalati projektek keretrendszereinek (Spring, Hibernate, Spring Boot), az egységtesztelési eszközök (JUnit, Mockito) alapos ismerete.
- A fejlesztési életciklus minden szakaszában való közreműködés képessége.
- Kiváló minőségű, hatékony és könnyen tesztelhető kód írásának képessége.
- Jól ismeri a szoftverelemzést, -tesztelést és a Java kód hibakeresését.
- Java és Java EE alkalmazások fejlesztésének menedzselésében szerzett tapasztalat.
- Képes alternatív megközelítések kidolgozására és újabb technológiák bevezetésére.
- Képes világosan és tömören kommunikálni műszaki és nem műszaki ügyfelekkel egyaránt.
GO TO FULL VERSION