📝

[ITA] - The IT HR’s handbook

La guida pratica alla scrittura di annunci di lavoro per professionisti IT

 
Sei un recruiter, può capitare che quando si inizia una ricerca ti venga data una lista della spesa 📋. Ti viene fornita una seniority molto indicativa del tipo “boh vediamoli tutti a colloquio e poi scegliamo“ 🤷‍♂️. Le soft skill? Massì dai, mettiamole tutte 🤷‍♀️. Abbondiamo! 🙌
 
Con il (lento ma inesorabile) miglioramento del mercato del lavoro anche in Italia, sempre più professionisti evitano di candidarsi per ruoli dove l’annuncio di lavoro non è specificato nella maniera corretta e/o non contiene le informazioni che davvero interessano al candidato 🤦‍♀️. La situazione diventa ancora più grave nel caso di figure con una seniority molto alta 🤯.
 
Per questo motivo abbiamo deciso di scrivere questo vademecum 📚. All’interno troverai alcuni concetti che i professionisti del mondo IT conoscono bene ma che sembrano magia nera a tutti i comuni mortali 🧙‍♂️.

Prima di iniziare

Anche se vogliamo evitarti gli errori più comuni, la nostra raccomandazione è di far fare una revisione dell’annuncio a una figura tecnica prima della pubblicazione.
In questo modo potrai ricevere consigli su come rendere più appetibile l’annuncio e/o sulla correzione di errori banali.

Gli errori piĂą comuni

Evita la “lista della spesa”

notion image
 
Solitamente su un progetto le tecnologie principali con cui si lavora sono 2/3. Se nei must have leggo più di 3 tecnologie è già una red flag.
Esempio:
  • Angular
  • React
  • Nodejs
  • Docker
  • Kubernetes
  • AWS
  • HTML
  • CSS
  • Javascript
  • Java
 
Ecco un esempio corretto:
  • React
  • Nodejs
  • GraphQL
Essendo React una libreria frontend, viene nel 100% dei casi utilizzata con HTML (non proprio ma stiamo semplificando), CSS e Javascript. Si possono aggiungere nell’annuncio per ridondanza, non è un problema. Ma è importante sapere che la conoscenza di React ha come requisito la conoscenza pregressa di HTML, CSS, Javascript.
 
Nei “must have” bisogna inserire solo le tecnologie cardine del progetto. Per questo motivo al posto di chiedere “mi elenchi gli strumenti che usate?” è meglio chiedere “quali sono le 2/3 tecnologie su cui lavorate l’80% del tempo?” e poi “Bene, ora mi fai una lista degli altri strumenti?”. La lista degli altri strumenti la si mette nei nice-to-have.
 
Da candidato non mi candiderei mai per un lavoro se nei must have è presente Java (nel caso in cui io non sia uno sviluppatore Java). Vederlo nei nice-to-have mi rassicura e mi fa pensare che magari nel progetto ci sono pezzi di codice legacy a cui andranno fatte modifiche minime o nessuna modifica in generale.
 
Che faccio se mi faccio inviare le tecnologie richieste dal team tecnico e mi mandano la “lista della spesa”?
Alla domanda “Quali tecnologie si usano su questo progetto?” anche io farei una lista della spesa con decine di tecnologie. Il trucco è farsi mandare la lista ordinata per priorità e magari si può chiedere al team tecnico di assegnare un punteggio rispetto a quando è importante quella tecnologia su quel progetto.
 
In questo modo, partendo dalla lista della spesa fornita si riesce a scrivere un articolo dove le cose importanti sono giĂ  chiare.
 

Attenzione ai nomi simili

Anche se “Java” è simile a “Javascript” e “Spring” è simile a “Spring Boot” sono cose differenti.
Gli informatici non sono persone particolarmente creative, con i nomi facciamo un po’ di casini ogni tanto…
 
Assicurati sempre di scrivere le tecnologie corrette. Un errore di questo genere potrebbe farti perdere ottimi candidati
 

Attenzione agli errori nel naming

Ogni volta che in un annuncio viene scritto “Java script” oppure “GIT Lab” un software engineer si converte e va a coltivare patate negli altopiani in Perù.
Gli sviluppatori sentono dolore fisico nel leggere nomi di tool/processi scritti in maniera del tutto errata.
Al contempo alcuni shorthand sono comunque validi, ad esempio si può scrivere “Node” per indicare “Nodejs”
 

Strumenti diversi richiedono conoscenze diverse

In alcuni casi negli annunci si trovano frasi del tipo “Conoscenza di almeno uno dei maggiori cloud provider: AWS, GCP, Azure”.
Sebbene questi Cloud provider risolvono gli stessi problemi, funzionano in maniera differente ed è necessario che il professionista conosca bene lo strumento per utilizzarlo al meglio.
Quando vedi una richiesta del genere prova ad indagare con chi ti ha fornito i requisiti. Magari basta anche solo una “Conoscenza teorica delle basi del cloud computing e dei sistemi distribuiti”.
 

Gli anni di esperienza sono importanti!

notion image
 
L’ideale all’interno di un annuncio è inserire gli anni d’esperienza richiesti sulla base della mansione, non della tecnologia in sè. Ad esempio:
  • Cerchiamo un frontend developer con almeno 3 anni di esperienza che ha queste conoscenze…
è molto meglio rispetto a:
  • 2 anni di esperienza con HTML
  • 2 anni di esperienza con CSS
  • 3 anni di esperienza con Javascript
 
Allo stesso tempo è importante ricordarsi che la relazione anni di esperienza = livello di competenze non è sempre vero. Ovviamente esiste una relazione tra le due cose, ma potresti perdere l’opportunità di intervistare ottimi candidati se esageri con l’esperienza teorica richiesta.
 

Tecnologia per babbani

In questo paragrafo faremo una lista delle tecnologie più famose e le descriveremo in una singola riga per darti un’infarinatura generale.
 
đź’ˇ
Sei un addetto ai lavori? Leggere queste descrizioni ti farà probabilmente venire un infarto. Stiamo semplificando all’osso per i nostri cari amici recruiter. Non vogliateci male. Del resto facciamo i programmatori, siamo abituati a soffrire leggendo inesattezze 🥲
 
notion image
 
  • Backend: Il codice dove risiede la logica dell’applicazione. Il backend si connette ai database e comunica con frontend attravero delle API (REST, SOAP o GraphQL)
  • Frontend: le interfacce con cui l’utente interagisce. Le pagine web che l’utente può vedere e/o le app con cui si interfaccia.
  • Java: Un linguaggio di programmazione, ci si possono fare app Android e backend
    • Spring: uno dei framework (un framework è un'architettura logica di supporto, costruita “sopra” un linguaggio di programmazione per facilitarne l’utilizzo) piĂą utilizzati nell’ambito backend. Attenti a specificare però, se dite soltanto “Spring” manca un suffisso. Altre keyword correlate: Spring MVC / Spring Boot
  • Javascript: Un linguaggio di programmazione nato in ambito frontend ma molto versatile
    • React: Una libreria per creare pagine web
    • Angular: Un framework per creare pagine web
    • Vue: Un framework per creare pagine web
    • Nodejs: L’ambiente che permette di creare applicazioni backend con Javascript
      • Express: Un framework per creare web server (backend) con node
  • HTML: Un linguaggio di markup che serve a definire gli elementi in una pagina (ad esempio la presenza di un bottone e un titolo)
  • CSS: Consente di aggiungere stile agli elementi HTML, ad esempio il colore di un pulsante o la grandezza del titolo
  • Docker: Serve per creare delle scatole virtuali dove far girare il codice. Queste scatole possono essere poi trasportate facilmente su altri computer
  • Kubernetes (K8s): Gestisce tanti container per lavorare insieme
  • Cloud provider: un fornitore di servizi in cloud. I servizi sono molto variegati e spaziano dai database, alla connettivitĂ , allo storage, alle macchine virtuali
    • AWS (Amazon Web Services): Il cloud provider di Amazon
    • GCP (Google Cloud Platform): Il cloud provider di Google
    • Azure: Il cloud provider di Microsoft
  • Python: Un linguaggio di programmazione usato spesso per l’analisi dei dati e il machine learning. Si può utilizzare anche per creare applicazioni web
    • Django: Un framework per realizzare applicazioni web
  • PHP: Un linguaggio di programmazione utilizzato principalmente per realizzare backend
    • API: Un modo di comunicare tra frontend, backend oppure tra diversi servizi backend
      • Database: Un luogo dove salvare informazioni
        • Mobile
          • Blockchain: Un registro distribuito dove non si possono cancellare i dati che si inseriscono
            • Versioning: un sistema per avere traccia delle modifiche nel codice col passare del tempo