Kartais atrodo, kad programerių darbo skelbimus rašo mama. Gal mano, gal tavo, kažkieno. Ji nelabai supranta apie kompiuterius, bet moka naudotis Wordu, emailu. Į savo CV rašytų, kad moka Chrome, Firefox, yra susipažinusi su Opera.
Taip gimsta skelbimai, kur front end programuotojui reikia 5 metų PHP patirties. Anekdotais virto ir mėginimai išversti reikalavimus į tradicines specialybes.
# Reikalingas autobuso vairuotojas
Reikalavimai:
- Naro profesionalo sertifikatas arba atitkmuo
- 2 metų Formulės 1 patirtis
- Mokėti ardyti dyzelinius, benzininius ir hibridinius variklius
- Elektrinių variklių remontas būtų privalumas
- Atlyginimas pagal sugebėjimus 600-700
Gali juoktis iš tokių skelbimų. Jie tikrai neatitinka realybės ir išduoda darbdavio požiūrį į darbuotoją. Nepaisant visko, medžiojant pirmą savo darbą, tokie skelbimai yra tavo loterijos bilietas.
# Disclaimeris
Aš jokių būdu neskatinu nieko eiti dirbti pas prastą darbdavį. Darbe praleidžiam didžiąją nemiegojimo dalį. Tikriausia du trečdalius. Labai svarbu dirbti su gerais kolegomis, džiaugtis ir didžiuotis tuo ką darai. Bloga darbo atmosfera gali atmušti norą dirbti ir tobulėti. Gera darbo aplinka paskatins įpūs naujų jėgų.
Tačiau, yra momentas kai itin svarbu gauti pirmą darbą. Jis nebūtinai turi būti flashy startupe ar pačioj geidžiamiausioj kontoroj. Gavęs pirmą darbą įgysi patirties, susipažinsi su tikrom užduotim, kolegom. Lygiai taip, kaip paaukojai dalykus, kad mokytumeis kodinti, gali pusmečiui paaukoti savo komfortą.
Dėl savo pirmo darbo persikėliau į kitą miestą, sutikau pradžioj dirbti už mažiau nei gaudavau praeitam, ne programuotojo, darbe. Vis tiek jaučiu, kad gavau daugiau naudos nei paaukojau. Man gal tik pasisekė, kad kolegos vis tiek buvo superstarai.
Žinoma, yra tokių, kas gali sau leisti pusmetį prabūti be darbo ir mokytis. Tokiu atveju, gal verta įgyti pakankamai patirties prieš gaunant pirmą darbą. Nesiterlioti su B lygio kontorom.
# Kaip įvertinti programuotojo darbo skelbimą?
Pats nuoširdžiausias atsakymas yra nežinau... Kartais rimti reikalavimai reiškia ieškotojų nesusipratimą. O paprasti, neišskirtiniai reikalavimai gali reikšti, kad ieškoma burtininkų.
Vienintelis būdas sužinoti ko darbavys tikisi yra applyinti į darbą. Blogiausiu atveju niekas neatsakys. Geriausiu - pakvies į pokalbį. Tada jau arba gausi darbą arba išmoksi dalykų, padėsiančių jį gauti vėliau. Svarbu applyinti kokybiškai, kitados rašinėjau apie tai kaip patekti į darbo interviu.
Pagaliau prirašęs 300 žodžių, mėginsiu pakomentuoti darbo skelbimų reikalavimus. Apžiūrėsi junior ir junior-ish front end programuotojų pozicijas. Pats taip pradėjau, manau dauguma skaitytojų irgi panašiam track'e.
# #1 Front end programuotojas (-a)
# Skelbimas
3 eilutės apie mąstymą iš dėžės, domėjimąsį technologijom, blah blah.
Reikalavimai:
- Nemažesnė nei 2 metų patirtis su JS, CSS, HTML.
- Objektinio programavimo žinios.
- Analitinis mąstymas.
Tik tiek, jokių nice to have, jokių konkrečių frameworkų ar kitų reikalavimų. 3 eilutės apie tai, kaip gerai pas juos dirbti. Regular stuff. Šis skelbimas turėjo potencialo būti tuo su daug nerealių reikalavimų, bet ačiū kažkam, susilaikė.
# Dekodavimas
Ką mums reiškia 2 metų patirtis? O gi nieko konkretaus. Moki sukarpyti dizainą? HTML rezultatas nesiskiria nuo PSD? Moki pajungti jQuery pluginą? Tada jamk šitą darbą.
Nesvarbu kiek metų patirties turi ir kiek laiko mokeisi. Jei moki tinkamai elgtis su paminėtais dalykais, užteks ir 3mėn patirties darant 3 portfolio itemus.
Analitinis mąstymas ir objektinio programavimo žinios galbūt išduoda tai, kad neužteks vien rašyti HTML ir CSS. Tikriausia reiks rašyti JavaScriptus. Galbūt, jei tik bus įdomu ir gerai seksis, galėsi mokytis kurio nors front endo frameworko.
# Išvada
Skelbimas sako: "Ei, junior programuotojau! Prisijunk, padėk mums su HTML'u. Už tai galėsi čia mokytis, bendrauti su kolegomis ir daryti karjeros pradžią."
# #2 Front end programuotojas
# Skelbimas
Papasakoja, kad reikės prižiūrėti websaitų ir appsų priekius. Reiks dirbti su visokiais dizaineriais, marketingistais ir what not.
Reikalavimai:
- Puikios HTML5, CSS3, SASS/LESS žinios;
- Geros JavaScript žinios (bent 2+ m.), patirtis su jQuery biblioteka;
- Patirtis su Wordpress;
- Patirtis su Bootstrap framework’u, responsive web design išmanymas;
- Turėti "Can do!" ir "Pixel perfect!" požiūrį;
- Efektyvi komunikacija ir mokėjimas dirbti komandoje.
Privalumai:
- Patirtis su moderniais front-end įrankiais (React, Babel, Angular, Grunt, Gulp);
- Patirtis dirbant su Git versijavimo sistema.
Giriasi pepsiu šaldytuve (o gal tik kava), xboxu ir kitais dalykais kodėl jie nais.
# Dekodavimas
Norima grynai to, ką gali (arba turėtų galėti) pradedantysis frontenderis. Nei daugiau nei mažiau.
Geros JavaScript žinios (bent 2+ m.). Nes bet kas gali pramokti HTML ir CSS, o tada suprasti JavaScript'ą. To negana, reikia dar ir daryti su juo dalykus. Manau čia jau neužteks užmesti Owl Carousel ir džiaugtis grožiu. Gali tekti slaiderį parašyti pačiam. Nu arba kokią validaciją, gal su AJAX'u kažką parpūsti ar kokį Gūglo mapą paturbinti. Jei įveiki Trello Čelendžo JS dalį, ko gero moki pakankamai.
Patirtis su Wordpress. Gavęs dizainą gali jį paversti internetiniu puslapiu. Statišku. Jei gali pridėti CMS'ą, esi dievas. Nu ne dievas, bet realiai gali atlikti darbą iki galo. Nepaisant to, kad PHP veikia serveryje, manau WP praverčia visiems frontenderiams. Pramokti lengva, įrankis populiarus, gyvenime pravers.
Paimk kurį nors iš savo portfolio saitų ir "pajunk" jam WordPress'ą. Tiek patirties ir sugebėjimo užteks šitam reikalui. Jei dar patyrinėsi custom post types, tikrai priartėsi prie aukštesnių jėgų.
Nemanau, kad Git yra privalumas. Greičiau čia jie turi galvoj, kad moki daugiau nei vien pullinti, commitinti ir pushinti. Manau turėti savo accountą ir kelias repozitorijas jau yra gera pradžia.
Patirtis su moderniais front-end įrankiais. Man šitas sako du labai gerus dalykus. Viena yra tai, kad jie su šitais dirba. Antra, turėsi progos su jais dirbti ir tu.
Tai, kad Babel, Angular ir Grunt sumesti į vieną, o prie Reacto nėra Webpack'o gal ir keistoka, bet juniorish pozicijai atleistina.
Turėdamas ką nors su šitais reikalais prižaidęs ir pasidėjęs į Githubą būsi visa galva auksčiau už applyinančius kolegas.
# Išvada
Šis skelbimas man patinka dar labiau. Tai tikriausia nemaža kontora su krūva programuotojų. Ideali dirva dirbti ir augti. Jei tik bus noro, galėsi iš dizainų karpytojo tapti Angularistu arba React'o specu. Reaktorium? 😄.
# Kiti dalykai skelbimuose
Kiek daugiau bežiūrėčiau skelbimų, visi jie panašūs. Čia pasistengsiu apibūdinti išsiskiriančius reikalavimus.
# Patirtis su MVC karkasu arba C# kalba būtų privalumas
Kartais pasitaiko skelbimų, kur frontenderiams reikia mokėti backendo dalykus. Tai gali būti Microsofto dalykai, gali būti ir PHP, net Ruby.
Tau nereikės passimti dalykų iš duomenų bazės, nereikės rašyti logikos. Iš tikro reikia tik mokėti pačiam susidėlioti view dalį. Tikrai nesudėtinga. Dažnai šitą galima išmokti vietoj. Padeda žinoti kalbos sintaksės pagrindus.
# JS frameworkų žinios (Backbone, Angular, React, etc)
Šiek tiek glumina šitoks reikalavimas, prie iš pažiūros junior pozicijos skelbimo. Nereiktų išsigąsti. Mano galva, darbdavys tiesiog norėtų žinoti, kad šitie dalykai tau įdomūs. Kaip jau minėjau, jei esi su jais žaidęs ir turi ką parodyti, esi safe.
Jei paminėtas tik vienas, konkretus, frameworkas, tada gal ir reiktų suklusti. Galbūt čia ženklas, kad tau reiks visą laiką dirbti su šituo daiktu, tad reiktų bent tvirtų pagrindų.
# NodeJS
Pastebėjau, kad neretai prie reikalavimų parašo ir Node JS. Visad galvodavau, kad tai reiškia JavaScriptinį backendą. Bet vėliau pastebėjau, kad labai dažnai tai reiškia mokėti naudoti JavaScripto įrankiais, tokiais kaip NPM, Grunt, Gulp, Bower, etc.
# MySQL patirtis (frontenderiui)
Tikriausia užteks mokėti išsigūglinti būdą išsitraukti eilutę iš duomenų bazės. Gal įrašyti kąnors. Labiausia svarbu būti mačius SQL query ir nepasimesti pamačius kitą.
# Labai specifinis, senas arba nišinis frameworkas
Kartais pasitaiko tokių negirdėtų nematytų framworkų, kur net išsigūglinti sunku. Nemanau, kad jie tikrai tikisi rasti kandidatų su tokia patirtimi. Nu gal, netyčia.
Manau egzotinių įrankių įrašymas į reikalavimus dažnai reiškia, kad tiesiog reikės juos naudoti. Galbūt teks pramokti, gal net paremontuoti kažką sukurto senai, labai labai senai.
# Gal kažką pamiršau?
Pakomentavau tik du skelbimus. Visi kiti atrodė labai panašūs, kartojosi arba buvo skirti ne entry level pozicijoms. Galbūt kažką praleidau arba ko nors nepaminėjau. Labai džiaugsiuosi jei paklausi apie dalykus skelbimuose, kurie užkliūna už akių.
# Eksperto nuomonė šituo klausimu
O čia, vietoj pabaigos. Visai netyčia, bet labai vietoje pastebėtas videkas.
Kas aš toks, kad pasakočiau apie skelbimus ir jų tikrąsias reikšmes. Don't take my workd for it, čia yra Eli The Computer Guy apie darbo skelbimus ir kaip jie gimsta.