Jmix · ingegneri nel vostro team

Gli ingegneri Jmix in Italia sono pochi. Questa pagina dice quanti, in quanto tempo e con quale contratto.

Uno o due ingegneri che hanno portato in produzione sistemi su questa piattaforma, al lavoro dentro il vostro repository, il vostro sprint e i vostri standard, per un periodo definito con una data di fine. Utile quando la conoscenza del dominio è vostra e mancano le braccia.

Tre cose in questa pagina valgono più delle solite affermazioni su bench e selezione: cosa chiamiamo e cosa non chiamiamo uno sviluppatore Jmix, la forma giuridica del rapporto in Italia, e su cosa insistiamo perché la vostra organizzazione non resti a dipendere da una persona che sta andando via.

Il contratto

Chi dirige cosa, e perché il vostro ufficio legale lo chiederà

In Italia, fornire lavoratori che prendono istruzioni dal cliente è somministrazione di lavoro, e può farlo solo un’agenzia iscritta all’albo del Ministero. Non siamo un’agenzia e non ci presentiamo come tale. Quello che firmiamo è un contratto di appalto di servizi ai sensi dell’art. 1655 del codice civile.

I due non si distinguono da come si chiama il contratto. L’art. 29 comma 1 del D.Lgs. 276/2003 li distingue in base a tre elementi sostanziali: l’appaltatore organizza i mezzi necessari al lavoro, esercita il potere organizzativo e direttivo sui propri addetti e si assume il rischio d’impresa. Se nella pratica questi stanno in capo al cliente, le carte non salvano nessuna delle due parti.

Quindi la divisione qui sotto non è una formalità che rispettiamo sulla carta e ignoriamo allo stand-up. È il modo in cui l’incarico funziona davvero.

Come si dividono la direzione tecnica e il rapporto con le persone Due colonne separate da una linea tratteggiata. Dalla vostra parte: il backlog e le priorità, i criteri di accettazione, l’architettura del vostro sistema, il vostro standard di review e la definizione di done, e le date di rilascio. Dalla nostra parte: il contratto con ciascun professionista, il suo compenso, la sua strumentazione e le licenze di sviluppo, chi è assegnato e chi lo sostituisce, e l’obbligo di consegnare il servizio concordato. La linea tratteggiata tra le colonne è la distinzione tracciata dall’art. 29 comma 1 del D.Lgs. 276/2003: oltrepassarla e il rapporto diventa somministrazione di lavoro, che solo un’agenzia autorizzata può prestare. DIRIGETE VOI Il lavoro Il backlog e cosa viene dopo Criteri di accettazione L’architettura del vostro sistema Standard di review, definizione di done Date di rilascio La direzione tecnica è vostra. Quella parte non è insolita. ART. 29 c.1 — D.LGS. 276/2003 Oltre questa linea è somministrazione, non appalto. IL RAPPORTO RESTA A NOI Le persone Il contratto con ciascuno Il compenso, fatturato a noi Strumenti e licenze di sviluppo Chi è assegnato, chi lo sostituisce Non ne diventate mai controparte E il rischio d’impresa: dobbiamo a voi il servizio, non le ore.
È la colonna di destra a rendere questo un contratto di appalto di servizi e non somministrazione di lavoro. Se un fornitore è disposto a consegnarvi anche tutta la colonna di destra, quella non è flessibilità — è un assetto che un ispettore del lavoro leggerebbe in modo diverso da come è scritto.

Le persone

Cosa chiamiamo e cosa non chiamiamo uno sviluppatore Jmix

Sotto, il framework è Spring Boot e Vaadin, il che significa che qualsiasi sviluppatore Java competente può diventare produttivo prima o poi. "Prima o poi" sta facendo molto lavoro in quella frase, e di solito lo paga il cliente. Quindi l’asticella che applichiamo prima di proporvi qualcuno:

  • Almeno un sistema in produzione. Portato in produzione su Jmix o su CUBA Platform, che è la stessa discendenza, e ancora in funzione dopo il passaggio di consegne. Non un prototipo e non un corso.
  • Il modello di accesso, per davvero. Ruoli, permessi su entità e attributi, vincoli a livello di riga — e quanto costa ciascuno quando i dati si caricano. È qui che la piattaforma è più forte e qui che l’inesperienza costa di più.
  • Sa leggere l’SQL che il framework genera. Qualsiasi piattaforma che scrive query per voi prima o poi ne scriverà una cattiva. Sapere dove guardare è la differenza tra un ticket di performance e una riscrittura.
  • Spring senza la piattaforma. Se qualcuno sa fare le cose solo alla maniera di Studio, ricorrerà al framework quando la risposta è il normale Spring, e il sistema diventerà più strano ogni trimestre.

E una cosa che va nella direzione opposta: vi diciamo il punto debole della persona prima che la incontriate. Forte sulla piattaforma, nuovo al vostro dominio. Ingegnere eccellente, silenzioso in una riunione da dodici. Lo scoprirete comunque alla terza settimana, e scoprirlo alla terza settimana vi costa tre settimane.

Il fallimento contro cui progettiamo

Il settimo mese, quando il contratto finisce

Il modo in cui questo modello fallisce non è il codice scritto male. È che dopo sei mesi una sola persona esterna è l’unica a capire come è configurato il modello di accesso, perché una certa schermata è stata costruita come è stata costruita, e quale delle quaranta entità è quella da cui dipende tutto il resto. Il problema di assunzione che avevate risolto è diventato in silenzio un problema di dipendenza, e la fattura arriva alla fine.

Nell’incarico ci sono tre cose che esistono solo per evitarlo:

  • Lavoro in coppia dalla prima settimana, non dall’ultimo mese. Una delle vostre persone, con un nome, con tempo effettivamente allocato. Se non si può indicare nessuno, l’incarico vale meno di quanto costa e lo diremo.
  • Le decisioni nel repository. Brevi registrazioni di cosa è stato deciso e cosa è stato scartato, accanto al codice, nella vostra lingua se preferite. Le conversazioni in chat non sopravvivono alla persona che le ha avute.
  • Una data di passaggio di consegne nel contratto. Scritta quando il contratto si firma, non negoziata quando scade. Due sessioni, la seconda una settimana dopo, dopo che le vostre persone hanno provato a farlo da sole e hanno trovato le domande.

La parte pratica

Dimensioni, preavvisi e uscite

I numeri che si chiedono a una prima chiamata, nell’ordine in cui di solito li si chiede.

01 · Quanti

Uno o due, eccezionalmente tre. Oltre, è un team e non affiancamento, e un team va contrattualizzato come tale — con un ambito, un obbligo di consegna e qualcuno dalla nostra parte che ne risponde.

02 · In quanto tempo

Due settimane dall’ordine firmato nel caso ordinario. Quattro se il profilo è specifico: un dominio regolamentato, un’integrazione fuori dall’ordinario, un requisito linguistico oltre l’inglese e l’italiano.

03 · Per quanto tempo

Un mese come minimo, da tre a sei nel caso tipico. Sotto il mese l’avvio costa più di quanto l’incarico renda, e ve lo diremo invece di fatturarvelo.

04 · Dove

Da remoto dall’Italia, nel vostro orario di lavoro. In sede per l’avvio, e ogni volta che il dominio richiede una stanza e una lavagna — cioè più spesso di quanto i fornitori remote-first amino ammettere.

05 · Licenze

Studio è licenziato per postazione di sviluppo, e questo comprende la nostra. La fatturiamo in Italia, in euro, tramite SDI come qualsiasi altro fornitore italiano — e la licenza resta vostra dopo che ce ne siamo andati.

06 · Come chiuderlo

Trenta giorni, in entrambe le direzioni, simmetrici. Un preavviso breve per il cliente e lungo per il fornitore produce un fornitore che protegge l’incarico invece del sistema.

Domande adiacenti

Tre casi in cui questo è lo strumento sbagliato

Nessuno è libero di dirigere il lavoro

L’affiancamento presuppone un responsabile tecnico con tempo da dedicare. Senza di lui, un ingegnere inserito nel vostro sprint produce lavoro competente sulle cose sbagliate, e il primo ad accorgersene è l’auditor.

La decisione sulla piattaforma non è stata presa

Allora le braccia sono premature. La domanda è se questa sia la piattaforma giusta, e rispondere richiede da due a cinque giorni e a volte finisce in un no — che cosa esamina una revisione e che cosa produce

State lasciando CUBA Platform

Una migrazione non è sviluppo a regime e non va presidiata come se lo fosse. Prima si valuta, poi si procede a ondate — cosa si sposta, cosa viene riscritto, cosa non ha un sostituto

Domande

Quelle che arrivano prima di un ordine d’acquisto

Quanti ingegneri riuscite davvero a mettere a disposizione?

Uno o due, eccezionalmente tre, e il motivo onesto è che il bacino di ingegneri che hanno portato in produzione sistemi su questa piattaforma è piccolo ovunque e molto piccolo in Italia. Un fornitore che ve ne offre otto la settimana prossima sta contando sviluppatori Java che hanno letto la documentazione, oppure persone già impegnate altrove. Oltre tre, del resto, non è più affiancamento: è un team, e un team richiede un contratto diverso e una conversazione diversa.

Questa è somministrazione di lavoro? Il nostro ufficio HR lo chiederà.

No, e la distinzione è di legge, non cosmetica. Fornire lavoratori diretti dal cliente è somministrazione di lavoro, che in Italia può prestare solo un’agenzia iscritta all’albo del Ministero. Non siamo un’agenzia di questo tipo. Quello che forniamo è un contratto di appalto di servizi ai sensi dell’art. 1655 del codice civile, che l’art. 29 comma 1 del D.Lgs. 276/2003 distingue in base a tre elementi: l’appaltatore organizza i mezzi, organizza e coordina i propri addetti e si assume il rischio d’impresa. In pratica significa che voi stabilite il backlog, le priorità e i criteri di accettazione, mentre il rapporto con ciascuna persona — il contratto, il compenso, la strumentazione, la sostituzione — resta interamente a noi e voi non ne diventate mai controparte. Le nostre persone sono ingaggiate come professionisti indipendenti, in Italia con la propria partita IVA e all’estero con la propria registrazione nazionale. Il vostro avvocato del lavoro dovrebbe verificarlo sul contratto, non su una pagina web.

Qual è il preavviso per iniziare, e per smettere?

Di norma due settimane per iniziare, quattro se vi serve un profilo specifico — una particolare integrazione, un dominio regolamentato, una lingua. Per smettere sono trenta giorni in entrambe le direzioni. Un preavviso corto per voi e lungo per noi tende a produrre un fornitore che protegge l’incarico invece del sistema.

Possono lavorare dentro il nostro repository e il nostro processo?

Sì, ed è giusto così. La vostra strategia di branch, il vostro standard di review, la vostra definizione di done, il vostro ticketing. Abbiamo opinioni e le offriamo una volta; dopo di che il sistema è vostro e le regole sono vostre. Quello che non facciamo è accettare un processo che impedisce alle nostre persone di scrivere quello che hanno deciso, perché è così che si finisce per dipendere da loro.

Cosa succede alla conoscenza quando l’incarico finisce?

È una consegna con una data, non una cortesia finale. Lavoro in coppia con una delle vostre persone dalla prima settimana, decisioni registrate nel repository e non in chat, e una sessione di passaggio di consegne fissata quando si firma il contratto, non quando scade. Se non avete nessuno da affiancare, ditelo all’inizio — cambia quello che consigliamo, e a volte cambia la risposta sul fatto che dovreste farlo o no.

Ci servono licenze Jmix nostre per questo?

Sì. Jmix Studio è licenziato per postazione di sviluppo, e questo include le nostre mentre lavoriamo sul vostro progetto. Siamo noi il venditore delle licenze in Italia, quindi la licenza può essere fatturata qui, in euro, con partita IVA italiana e fatturazione elettronica — ma è la vostra licenza e resta vostra quando ce ne andiamo. Il framework in sé è Apache 2.0 e in ogni caso non costa nulla.