Ce detalii ar trebui să conțină un anunț de angajare?

Pai nu e asa de greu. Lumea din domeniul programarii vrea sa stie concret despre ce se face la locul de munca si conditiile de munca. Adica preferam sa sarim peste job-uri de genul: vii la 8 dimineata si pleci la 8 seara, nimeni nu stie ce trebuie facut, ai mereu un sef care te intreaba cand e gata si cand ii arati ce ai putut face in alea 5 minute de liniste, e nemultumit.

Pe de alta parte, chestia cu limbajele - ar trebui sa depasim acest moment. Daca omul a facut Python, ce, nu poate sa faca NodeJS? Sau Perl, sau Go? Ba poate.

Keywords - useless. Programatorii se muleaza pe ce problema trebuie rezolvata. Azi medicina, maine AI pe nave spatiale, poimaine ceva webshop care vinde papuci. AI, IoT, ML, etc. nu conteaza. Tehnologia se schimba de la o luna la alta, asta e, invatam repede si mergem mai departe cu alte prescurtari.

Companie de produs, istorie, globala, world-leader, iarasi fara rost. Pe noi ne intereseaza relatii stabile cu firme care stiu despre ce vorbesc. Stiu o gramada de firme de astea “world-leader” unde nimeni nu stie ce se face, managerii sunt pe langa si vin cerinte de genul “faceti munca a 100 de oameni voi doi”. Nu, mersi.

Cand vii pe piata cu oferte de munca trebuie sa convingi oamenii ca acolo chiar se lucreaza normal. Adica nu lucrezi ca robotul 10 ore pe zi fara sa mergi la baie, ca probleme se discuta si daca ceva dureaza 3 luni sa se concretizeze, chiar se sta 3 luni - nu ne punem sa lucram ca o sa vedem pe parcurs, ca acolo sunt oameni care vor sa faca treaba si nu e doar un loc unde unul barfeste pe altul.

Firmele de programare vin din start cu un handicap: se cer multe si se executa prost - ca programatorul apoi sa fie de vina. Am prieteni care au renuntat la cariera de programator, pur si simplu s-au saturat sa convinga manageri prosti cum se construieste software bun. Si aici ma refer la oameni care au facut facultatea de programare (la buget) si care programau de la sub 14 ani, nu orice om care face cursuri de programare a la Youtube.

3 Likes

Nu ai cum sa afli detalii despre cultura organizationala dintr-un job description. Aici nu ma refer doar la “valori” ci mai ales la realitatile din companie, pe care le-ai enumerat tu: se lucreaza mult si prost, managementul e competent sau nu, ai sanse reale de dezvoltare, etc. Astea nici in interviu nu le poti afla cu certitudine, deci cum te-ai astepta sa le intuiesti din anunt?

E normal ca firma sa caute oameni cu experienta in limbajul cerut, cel putin in prima instanta. De ce as lua un om pe Java cu experienta doar pe C#, cu exceptia cazului in care m-am resemnat ca nu gasesc oameni pe Java si sunt dispus sa fac un compromis? Invatarea unui limbaj nou la nivel superficial se face rapid, dar lucrurile specifice iau timp si bani investiti din partea firmei, in tutoring, training. Aici e compromisul de care povesteam. Unii nu-si doresc sa cheltuiasca timp si bani in directia aia, deci e normal sa caute oameni care se muleaza bine pe profilul tehnic al celorlalti din echipa. In plus, rar am intalnit programatori care sa faca schimbari din astea, de genul lucrez 10 ani pe Java si trec pe C#. Nu zic ca nu sunt, am intalnit, dar mi s-a parut mai degraba o exceptie.

Domeniul conteaza destul de mult, cel putin pentru mine. Fiecare are preferinte si ma astept sa doreasca sa lucreze la ceva cu un scop mai nobil, nu doar rezolvare de taskuri. Cred ca devii mai selectiv pe masura ce te maturizezi. De ex: AI guided transportation vs AI guided weapons. Ambele domenii sunt interesante dpdv tehnic, dar nu stiu cati ar prefera pe bune un domeniu legat de distrugerea vietilor omenesti.

Companie de produs, world leader - adesea intalnesti stabilitate, traditie, progres in firmele astea. Si da, multe firme americane “lucreaza” oamenii la greu, nu ajungi in top lucrand de la 9 la 5, mai ales in faza de startup. Dar lucrurile astea cauti sa le clarifici la interviu, pe cat posibil, daca sunt deal breaker pentru tine. O firma daca si-ar face reclama cu asa ceva, ar fi bine sa mentioneze si payoff-ul exponential, gen stock sau bonusuri mari.

Afirmații de genul “ne trebuie programatori Java” in primul rand e insultător. Așa că vin cei care știu doar Java și se creează cercul ăla vicios cu firmele care nu găsesc programatori și programatori buni care nu sunt recunoscuți.

Apoi legat de maturizare, pe timp ce trece îți dai seama că nimeni nu dă doi bani pe tine. La final e doar business.

3 Likes

Chiar ar trebui reformulate anunturile in genul: cautam programatori backend /frontend/desktop app/mobile cu min X ani experienta. Cunostintele in limbajul X sunt un plus.

Asta in special ca mai toate limbajele sunt obiectuale, deci nu e problema a scrie in Java vs C# sau Php. Restul detaliilor (framework, tehnologii) se invata.

1 Like

Domain knowledge. Domain knowledge - Wikipedia

E mai important decat limbajul. Un lucru pe care recrutorii - cel putin de la noi - nu par sa-l realizeze.

La noi se angajeaza ‘om pe java’, nu ‘om pe simularea curgerii fluidelor’ sau ‘om pe computer vision’ sau ‘om pe chimie’ (nu ma refer aici la vreun inginer chimist, ci la unul care sa scrie soft pentru industria farmaceutica, de exemplu). Crezi ca angajezi ‘om pe java’ si ala o sa faca chimie cuantica in java, ca doar stie java. In fapt, o sa se uite ca boul decerebrat la poarta noua.

Sigur, la multe softuri aruncate in Romania (si India) la implementat, necesitatea de domain knowledge poate fi zero. Sau chiar minus infinit.

5 Likes

Total de acord, dar cum zici si tu in majoritatea cazurilor domain knowledge nu este necesara pentru ca posturile in care faci ceva foarte specializat sunt foarte rare.
In general posturile la noi sunt pe aplicatii care transfera si proceseaza date intr-un fel sau altul, asta e domeniul.
De exemplu unde lucrez eu aplicatiile fac de fapt niste chestii foarte complicate cu derivate, procese markov, montecarlo etc. Dar ca programator poti sa le privesti ca niste functii numerice si aia e. Daca te intereseaza poti si sa inveti ce inseamna efectiv, dar nu ai nevoie de domain knowledge sa faci ceea ce ti se cere si a fost proiectat de cei care chiar au domain knowledge.

Chiar cand doar folosesti ceva implementat de catre altii, nu strica sa intelegi ce e in ‘functia numerica’ cand o folosesti. Deloc.

1 Like

Poți da UN exemplu de aplicație dace nu transferă și/sau procesează date?

Pai imi e greu, asta si ziceam. In 99% din cazuri domain knowledge este un bonus daca il ai. Specificatiile sunt facute de catre cei cu domain knowledge pentru a fi implementate ca o serie de transferuri/afisari/procesari de date :slight_smile:

E important, nice to have in general dar nu il vad mai important decat skill-urile tehnice. Ca recruiter cauti sa iti extinzi pool-ul de candidati, nu sa-l restrangi. Exemplul tau e extrem, iar firmele care lucreaza pe proiecte de genul chimie cuantica sau analiza genomului uman (e una in Cluj din cate stiu) sunt pregatite pentru situatia din piata in care angajeaza si se asteapta ca vor trebui sa faca traininguri de domeniu acelor angajati, suficiente cat sa poata dezvolta produsul respectiv.

1 Like

Ok, poti sa-l extinzi si la absolventi de 4 clase :slight_smile:

E extrem pentru locurile unde se arunca gunoaiele in programare, stil Romania sau India.

Sunt foarte sigur ca programatorul java o sa inteleaga chimia cuantica dupa un training, ceva de speriat. Cand el se uita ca boul decerebrat la poarta noua la chestii matematice elementare.

1 Like

Un anunt de angajare in domeniul nostru ar trebui:

  1. Sa mentioneze range-ul salarial, formele de colaborare agreate, orarul la care trebuie sa fii prezent la sediu/online si nivelul se senioritate al pozitiei. Range-urile salariale sa nu
    fie idioate gen “senior level - 24-96k eur pe an”). Mai degraba: “senior level - 40-50k eur pe .an
  2. Sa mentioneze tech-stack-ul. Cat mai in detaliu.
  3. Sa mentioneze scurt challenge-urile curente
  4. O scurta descriere si istoric al compniei. Va mai aduceti aminte de site-urile de joburi care aveau anunturi interesante insa compania aparea ca si “Confidential”? Ha-ha. Fuck-off.
4 Likes

Exprimari din astea nu fac cinste forumului. Poti argumenta constructiv? De ce ai presupune ca programatorii java nu au cunostinte de matematica elementara?

1 Like

In cazul in care exista un proiect, o echipa deja formata, as adauga detalii despre ce problema rezolva acel proiect/produs, in ce domeniu este. Intentia ar fi sa atragi candidatii si prin insemnatatea acelui proiect.

Ceea ce este sau nu este elementar e dependent de subiect/context si de cine comunica.
Cand vorbim de chimie cuantica, algebra liniara/spatiile vectoriale e matematica elementara.

Bineinteles, nu era vorba despre oricine stie java. Ci doar despre ‘programatorul java’ tipic angajat cu astfel de anunturi. Caz in care nu presupun, ci pur si simplu stiu cam cum se intra prin facultati acum si cum se termina. Asta cand nu ai de-a face cu unul format la un curs de-ala de cateva luni unde sigur nu baga matematica in ei.

1 Like

Sigur ca sunt si uscaturi, ca in orice domeniu. Dar cred ca generalizezi prea usor, eu vad mai multe exemple pozitive, de succes, decat negative.

Am cunoscut si angajat multi absolventi de calculatoare sau mate info in ultimii 10 ani. Ce-i drept, niciunul nu era absolvent de cursuri de la Scoala Informala sau alte firme care promit reprofilare, deci nu ma pot pronunta in cazurile astea. Dar dintre cei care erau absolventi de facultate, pot sa spun ca foarte putini m-au dezamagit. In timp mi-am dat seama ca in multe situatii dezamagirea mea era legata de viteza lor de a invata si a se adapta rolului, comparativ cu viteza altora care aveau aceeasi experienta. Moment in care mi-am dat seama ca rezolvarea era mai mult in zona mea decat in zona lor. Necesitau doar mai mult timp, training, mentorat, pentru ca intr-un final sa ajungem la rezultate bune pentru toata lumea.

Din nou uiti contextul. Iti spuneam despre situatiile unde exista nevoie de domain knowledge, nu despre chestii de-astea generale unde trebuie sa stii java si ajunge. Cazul mentionat ca exemplu, chimie cuantica.

Cati despre cei pe care i-ai mentionat au parcurs de exemplu asta (sau ceva similar): Modern Quantum Chemistry: Introduction to Advanced Electronic Structure Theory (Dover Books on Chemistry): Attila Szabo, Neil S. Ostlund: 0800759691869: Amazon.com: Books ?

Ceva ma face sa cred ca numarul tinde la zero. Si chiar daca sa zicem au fost cativa, mult mai putini dintre ei au si inteles suficient cat sa treaca de la ‘teorie’ la practica.

Si da, asta a fost un exemplu, dar foarte multe situatii unde este necesar ‘domain knowledge’ treaba e cam la fel. Limbajul java se invata foarte usor prin comparatie cu asta. Inclusiv ecosistemul necesar, ca limbajul in sine e o banalitate extraordinara pentru cineva din domeniu care a fost expus deja la cateva limbaje.

inseamna ca probabil esti la fund. din experienta, marea majoritate sunt praf. de la seniori care nu inteleg diferenta intre limita de spati si memorie ram (serios, omu se bucura ca are 1tb pt proiecte) pana la seniori unde pot depista pagina de so de unde au copiat codul. foarte rar oameni care chiar sa-si merite titlul de senior.

ps: si da, sa intelegi domeniul in care lucrezi este esential. limbajul este doar o unealta.

2 Likes

La noi sunt prea mulți intermediari.

Dacă dai prea multe detalii rămâi fără client de intermediat.

Recruiterii trebuie folosiți să lucreze pentru voi, un recruiter bun o să îți caute ceva bun în range-ul salarial pe care îl ceri. Anunțurile de angajare nici nu sunt pentru noi, dacă vrei bani și un job fain cauți o companie interesantă, le scrii, dai de un interviu și probabil plângi după. O firmă bună își filtrează oamenii altfel ajunge o firmă proastă.

Poți face inversul și să zici direct că ești interesat de ceva în jurul 35 euro/hr și dai un CV. Poate ai noroc și dai de un proiect disperat. (poți afla asta dacă ai un interviu tehnic direct după un telefon, unde nu sunt disperați interviul ține 3 luni)

Deci practic dacă ești foarte bun îți cauți tu job-ul sau te recomandă cineva. Restul joacă un joc bazat le noroc, poate poate găsesc pe cineva cât de cât potrivit și îl prind.

Poate nu m-am exprimat bine, eu ma refeream la oameni care tocmai au terminat facultatea. Juniori, nu seniori.

Si da, de acord cu tine, pe partea de seniori, traiesc dezamagiri in continuu la interviuri :slight_smile: