Nyitott junior- és senior szoftverfejlesztő pozíciók / MattaKis Consulting Kft.

Fórumok

Senior szoftverfejlesztő

A MattaKis Consulting Kft. felvételt hirdet senior szoftverfejlesztő munkakörbe (több nyitott pozíció). A senior szoftverfejlesztő feladata különböző szoftverfejlesztési projektekben történő részvétel, ahol 2-3, vele egy csapatban dolgozó junior szoftverfejlesztő szakmai irányítását is végzi. Munkája során a fejlesztési folyamat minden fázisában részt vesznek:

  • Szakmai projektirányítás: 30%
    • követelményspecifikáció az ügyféligények alapján
    • a projekt / részprojekt végrehajtásához szükséges erőforrások megbecslése
    • a szoftver architektúrájának megtervezése
    • projektkövetés, szükség esetén újratervezés
    • szakmai kommunikáció az ügyféllel
  • Junior fejlesztők segítése, munkájuk ellenőrzése, konzultáció: 30%
    • a fejlesztési feladatok elosztása
    • code review-k megszervezése és vezetése
    • szakmai konzultáció
  • Fejlesztői feladatok: 40%
    • a követelményspecifikáció alapján egy komponens megtervezése
    • a komponens megvalósítása
    • technikai dokumentáció készítése (angol nyelven)
    • tesztelés (tesztautomatizálás)

Követelmények

  • A következő programozási nyelvek közül legalább egy szakértő, és egy haladó szintű ismerete:
    • Java
    • C++
  • Szakmai angol nyelv ismerete (fejlesztői dokumentáció olvasása, illetve írása, szakmai partnerekkel kommunikáció szóban és írásban)
  • Gyors tanulási képesség
  • Érdeklődés új technológiák iránt
  • Pontos, igényes munkavégzés
  • A GNU / Linux platform fejlesztői szintű, mély ismerete
  • Projekt- illetve teamvezetői képességek
  • Végzettség:
    • szakirányú felsőfokú végzettség és hasonló munkakörben szerzett legalább 2 éves munkatapasztalat
    • vagy legalább 5 éves, hasonló munkakörben szerzett munkatapasztalat
  • Szélessávú internet elérés (távmunkához)

Munkavégzés helye

  • Távmunka, így az ország egész területéről, vagy akár a környező országokból is várunk jelentkezőket
  • Évente néhány alkalommal rövid budapesti tartózkodás (költségtérítéssel) szükséges lehet

Munkaidő

  • Teljes, rugalmas munkaidő

Előnyt jelent

  • A következő programozási nyelvek közül minél több ismerete:
    • Assembly (ARM, MIPS, x86)
    • C
    • Objective-C
    • C#
    • JavaScript
    • PHP
    • Python
    • Ruby
  • A következő platformok közül minél több fejlesztői szintű ismerete:
    • Android
    • iPhone / iOS
    • BlackBerry
    • Java EE
    • Windows (.NET, Win32)
  • Agilis fejlesztői módszertanok ismerete
  • Szakmai német nyelv ismerete

Az ideális jelölt

  • Elkötelezett
  • Igényes kódot és dokumentációt ír
  • Gyorsan tanul
  • Szeret új technológiákat megismerni és azokat alkalmazni
  • Képes az idejét jól beosztani (hatékony távmunkához elengedhetetlen)
  • Jó kommunikációs képességekkel rendelkezik, mind az ügyfelek, mind a munkatársak felé
  • Jó csapatjátékos, jó csapatvezető

Amit nyújtunk

  • Szakmai kihívást nyújtó, érdekes projektek
  • Szakmai fejlődési lehetőség
  • Versenyképes juttatások
  • A távmunka előnyei

Jelentkezés

Folyamatosan, szakmai önéletrajzzal és leellenőrizhető referenciákkal a következő email címen: karrier@mattakis.com

Junior szoftverfejlesztő

A MattaKis Consulting Kft. felvételt hirdet junior szoftverfejlesztő munkakörbe (több nyitott pozíció). A junior szoftverfejlesztők feladata különböző szoftverfejlesztési projektekben történő részvétel. Munkájuk során a fejlesztési folyamat minden fázisában részt vesznek, tapasztalt fejlesztők irányítása mellett:

  • a követelményspecifikáció alapján egy komponens megtervezése
  • a komponens megvalósítása
  • technikai dokumentáció készítése (angol nyelven, API dokumentáció, nem végfelhasználóknak)
  • tesztelés (tesztautomatizálás)

Követelmények

  • A következő programozási nyelvek közül legalább egy haladó szintű ismerete:
    • Java
    • C++
  • Szakmai angol nyelv ismerete (fejlesztői dokumentáció olvasása, illetve írása, szakmai partnerekkel kommunikáció)
  • Gyors tanulási képesség
  • Érdeklődés új technológiák iránt
  • Pontos, igényes munkavégzés
  • A GNU / Linux platform fejlesztői szintű ismerete
  • Szakirányú felsőfokú végzettség vagy hasonló munkakörben szerzett legalább 2 éves munkatapasztalat
  • Szélessávú internet elérés (távmunkához)

Munkavégzés helye

  • Távmunka, így az ország egész területéről, vagy akár a környező országokból is várunk jelentkezőket
  • Évente néhány alkalommal rövid budapesti tartózkodás (költségtérítéssel) szükséges lehet

Munkaidő

  • Teljes, rugalmas munkaidő

Előnyt jelent

  • A következő programozási nyelvek közül minél több ismerete:
    • Assembly (ARM, MIPS, x86)
    • C
    • Objective-C
    • C#
    • JavaScript
    • PHP
    • Python
    • Ruby
  • A következő platformok közül minél több fejlesztői szintű ismerete:
    • Android
    • iPhone / iOS
    • BlackBerry
    • Java EE
    • Windows (.NET, Win32)
  • Szakmai német nyelv ismerete

Az ideális jelölt

  • Elkötelezett
  • Igényes kódot és dokumentációt ír
  • Gyorsan tanul
  • Képes az idejét jól beosztani (hatékony távmunkához elengedhetetlen)
  • Képes önálló feladatmegoldásra
  • Felismeri, hogy mikor kell segítséget kérnie

Amit nyújtunk

  • Érdekes projektek
  • Szakmai fejlődési lehetőség
  • Versenyképes juttatások
  • A távmunka előnyei

Jelentkezés

Folyamatosan, szakmai önéletrajzzal a következő email címen: karrier@mattakis.com

(A hirdetés a HUP-Profession szabadkártya felhasználásával került kihelyezésre)

Hozzászólások

:)

Ha bármi kérdésetek van az állásokkal kapcsolatban, akkor szivesen válaszolok.

Üdv,
Gergely

Szerintem ezt félreértetted. Nem hiszem, hogy egyszerre kell mindet, hanem külön-külön. Egyszer egy ilyen projekten dolgozol, egyszer egy olyanon. Kicsit olyan, mintha a hirdetés lefedné a cég teljes profilját és jolly joker embert keresnek, aki bármikor bárhol bevethető költséghatékony módon.

Én egy szóval nem állítottam, hogy 6 teljes ember kell és azt sem, hogy 1 áráért. Azt jegyeztem meg mindössze, hogy számomra úgy tűnik, mintha olyan embert akarnának, akit a cég bármelyik projektére be lehet vetni bármikor. Hogy ezt 6x-os áron teszik, vagy 1x-es áron, arról tudomásom nincs és gyanítom, hogy semmi közöm se.

Egyébként meg konzultációs cégről van szó, ott meg nem láttam még olyat, hogy 1 ember csak egyetlen dologhoz ért vagy csak egyetlen feladattal kell foglalkozzon. A kozultációs cégekben a főnökségnek azok érnek "aranyat", akiket bárhol bármikor bármire be lehet vetni.

ne feledd, nem jelöltek meg irányárat. mit mond erről az álmoskönyv: erőteljes lefele alkuszást.

de nem az én dolgom se, olyan balekot vesznek fel, akit akarnak.

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.

Szerintem más álmoskönyvből dolgozunk: a jelölt képességeinek, tudásának megfelelő, reális fizetést fogunk ajánlani. Persze csak ha a felvételi folyamat akadályait sikerrel veszi, amit azért nem vennék biztosra a korábbi tapasztalatok alapján.

Ez a "6 az 1-ben hirdetés" maximum akkor lenne igaz, ha követelményként meghatároztuk volna, hogy értsen mondjuk Oracle-höz, legyen PostgreSQL committer, emellett legyen néhány díjnyertes honlap designja és fotókiállítása is, illetve szükség esetén képes legyen mondjuk SMD alkatrészek beültetésére (persze a szeméből kilőtt sugarak segítségével, merthogy pákával mindenki tud).

Vizsgáljuk meg egy kicsit a másik oldalt is: Véleményem szerint tévúton jár az, aki azt mondja például, hogy "én JavaEE backend fejlesztő vagyok, és mással nincs is kedvem foglalkozni, nem is érdekel". (Persze bármely más technológia behelyettesíthető.)

Lehet, hogy a JavaEE-nek azt a néhány szeletét jól fogja ismerni, amit éppen a projektjeiben használ, de nem lesz rálátása arra, hogy más technológiákkal mit és hogyan lehet (esetleg az ügyfél számára jobban, hatékonyabban) megoldani. Emellé a hozzáállás mellé szokott társulni egy elég erős csőlátás, és persze "nehezen meggyőzhető" természet.

Vegyünk egy (természetesen képzeletbeli) példát: van egy JavaEE projekt, amibe be kellene kapcsolódni, és abban használunk A, B, C, D, E eszközöket, a projekt jól halad, technológiai problémák nincsenek, csak kell még egy ember.

"JavaEE developerünk" erre a következőket mondja:

  • A, B, C-t nem ismeri, de ez jó is, mert olvasta a neten, hogy úgyis használhatatlanok, hiba volt azokat választani, és ő inkább gyorsan újraírná azokat 0-ról.
  • D-helyett miért nem X-et használunk, hiszen X-nek van 3 olyan tulajdonsága, ami számunkra teljesen irreleváns, de neki nagyon tetszik.
  • Az E-t ismeri, használta is, kicsit ódivatúnak tartja, de elfogadja, hogy nem lehet mindenki olyan naprakész mint ő.

Nyilván sarkítok, de talán érthető, hogy mire akarok kilyukadni:

  • a jó szoftverfejlesztő akkor is figyelemmel kiséri a különböző technológiákat és trendeket, ha éppen fixen egy adott eszközkészlettel kell dolgoznia
  • karbantartja magát, mivel nem akarja, hogy néhány éven belül teljesen elavuljon a tudása. Ez pedig együtt jár az új nyelvek és/vagy környezetek folyamatos megismerésével
  • megpróbál nem érzelmi alapon dönteni, amikor eszközt kell választani a feladathoz
  • nem ijed meg attól, ha el kell hagynia a komfortzónáját: én pl. a legjobban Ubuntu Linuxot ismerem, ez az alap desktop és fejlesztői rendszerem is. De nem okoz lelki törést, ha egy munkanapon többféle Windows, RHEL, OSX, esetleg egy IBM Mainframe is keresztezi az utamat. (*)

Én úgy gondolom, hogy az ilyen fejlesztők nem balekok, és amennyiben a szakmai feltételeknek megfelelnek, akkor egy mindkét fél számára megfelelő fizetésben meg lehet velük állapodni.

Üdv,
Gergely

*) Mielőtt valaki megijedne, a fejlesztőknél ilyen nincs napi rendszerességgel, egyszerre a legtöbb OS-t talán a webre fejlesztőknek kell használniuk, nekik is az eltérő browserek miatt.

Nem jolly joker embert keresünk. Nyilván nagyon kevés olyan ember van, aki minden megadott területet ismer. Ezért is szerepelnek az "előnyt jelent" részben...
Ugyanígy nem várjuk el egy PHP + Javascript projekteken dolgozó fejlesztőtől, hogy másnaptól ARM assemblyt írjon.

Viszont nem véletlen, hogy nem "Java / .NET / XXX fejlesztőt" keresünk. Olyan munkatársakra van szükségünk akik az ügyfél igényei alapján a feladathoz választják az eszközt, és nem mindent egy adott, általuk legjobban ismert vagy legjobban kedvelt eszközzel akarnak megoldani. Ehhez pedig az kell, hogy legyen rálátásuk a különböző technológiákra, ne legyen csőlátásuk és szívesen tanuljanak meg új dolgokat.

Junior fejlesztőnél azt várjuk, hogy friss diplomásként, esetleg 1-2 projekt tapasztalattal a háta mögött legyen fogalma a szoftverfejlesztésről (ismerje az eszközöket, ne nézzen furán amikor a design patternekről kérdezem), és 1-2 megadott területen már tudjon jelentősen többet mint amit az egyetemi kurzusokon tanítanak (önszorgalom, tanszéki munka, egyetemi projektfeladatok, diplomamunka). Ez a minimum, amit egy végzett mérnöktől / progmatostól elvárok.

A "senior fejlesztő" megnevezés lehet hogy félrevezető pár ember számára, de pont ezért lett a munkakör elég pontosan leírva.
Csak hogy tisztázzuk: nem attól lesz valaki senior fejlesztő, hogy lehúz 3-5 évet fejlesztőként, és a "kora alapján" megkapja a magasabb bért. A senior fejlesztő a mi definíciónk szerint olyan jó képességű fejlesztő, aki képes összefogni 2-3 fejlesztő munkáját, és kisméretű projekteket / részprojekteket végig tud velük vinni.

Üdv,
Gergely

Már írták, de az "előnyt jelent" szekciót "VAGY" művelettel szokás érteni, míg a követelmények részt "ÉS" művelettel.

Egyébként vegyünk egy életből vett példát: mobil eszközökre készülő újrafelhasználható komponens, amit több alkalmazásban használnánk, Androidon és iPhone-on is. A natív (teljesítményigényes rész) nyilván C/C++, assembly betétekkel (egyelőre még nem minden platformon). Ha az Android platformot rendesen akarod támogatni, akkor az ARM és MIPS alapkövetelmény, de hamarosan jön az x86 is. Nyilván a komponenst valahogy értelmesen el kell érni az adott platformra fejlesztett programokból. Ez Android esetén JNI bindingot jelent + egy normálisan összerakott Java API-t, iPhone / iOS esetén pedig egy Objective-C API-t. És akkor még a BlackBerryt nem is vettük elő, ahova ugyanezt (vagy legalább egy lebutitott verziót) valahogy ki kellene izzadni J2ME-ben.

Ebből jól látható, hogy a mobil világban "ortogonális platformok" gyakran összefutnak egy projektbe.

Nyilván nem egyetlen ember fog minden részen dolgozni, de minél jobb rálátása van a fejlesztőnek azokra a platformokra, amin épp adott esetben nem dolgozik, annál jobb minőségű, jobban felhasználható kódot fog írni.

És mégegyszer mondom: előny, ha valaki minél többet ismer, de nem követelmény, és a munka sem arról szól, hogy ma assembly kóder vagy, holnap PHP-ban írsz gyorsan egy Drupal-lal összemérhető CMS-t, a hét végére meg még .NET-ben összedobsz valami MS Word szerűt... :)

Üdv,
Gergely

Ezek szerint nálatok a senior fejlesztő egyszemélyben a projektvezető és analyst is? Vagy van ezekre a feladatokra külön ember?

Már fentebb írtam, hogy mit jelent a senior fejlesztő nálunk, de most kicsit részletesebben:

Nálunk a legtöbb projektben 1-3 hónapos egy projektfázis, tehát ennyi idő alatt élesben használható terméket kap a megrendelő. A legtöbb esetben persze a projekt több fázisból áll, de ettől még 1-3 hónap alatt egy 2-4 fős csapat gyakorlatilag kész terméket állít elő. Ilyen kis méretű projektek esetén a cégek általában két módszer közül választhatnak:

1. Vannak dedikált projektvezetők, analystek, architektek, ... stb.-k, akik időosztásban X db projekten dolgoznak, ahol X általában nagyobb, mint amennyit jól tudnának kezelni (tisztelet a kivételnek). Ezen kívül vannak fejlesztők, tesztelők, akik a fenti "okos emberek" utasításai szerint próbálnak dolgozni.

2. Vannak kis csapatok, akik az egyes projekteket, szorosan együtt dolgozva végigviszik. A senior fejlesztő ebben a felállásban olyan szakember, aki képes az ilyen (viszonylag kisméretű) projektet átlátni, megvan a technikai tudása és tapasztalata ahhoz, hogy jó designt hozzon létre, és jó példát mutasson a többi fejlesztőnek, illetve pl. segítse őket az egyes feladatok első lépéseinél (pl. segít megírni az első néhány unit tesztet, amit utána a fejlesztők már önállóan tudnak folytatni).

Rátok bízom annak kitalálását, hogy vajon melyik módszer szerint dolgozunk. :)

Üdv,
Gergely

Mondhatjuk hogy igen, de direkt lett "senior fejlesztő" a neve, mivel ha azt mondod, hogy Development Team Lead, akkor ott inkább arra gondol sok jelentkező, hogy az már "majdnem menedzser", tehát kódolni csak ritkán kell, inkább meetingelni, tervezgetni ... stb.

Ez, ahogy írod, már 4-5 beosztott fejlesztőtől tényleg így van, mert egyszerűen nincs is idő konkrét fejlesztésre.

Nálunk a 2-3 beosztott fejlesztőnél még fontos feladata a leadnek, hogy részt vegyen a fejlesztésben, példát mutasson, segítse a többieket ... stb.

Üdv,
Gergely

Továbbra is keresünk junior és szenior fejlesztőket, illetve kérdésekre is szívesen válaszolok.

Üdv,
Gergely

Még mindig keresünk fejlesztőket.

Üdv,
Gergely