Peccato che la domanda sia inquadrata così com'è. Penso che una domanda migliore potrebbe essere "In che modo un" appaltatore di software "è diverso da un" consulente di software "?" Sono questi termini che sollevano davvero la questione, almeno qui negli Stati Uniti
Il termine "sviluppatore di software" può applicarsi a qualsiasi tipo di impiego, essendo lo sviluppatore il tipo di ruolo o risorsa che serve. La questione dell'appaltatore / consulente ruota attorno alle questioni occupazionali e, ancora una volta, sto parlando di come funziona qui negli Stati Uniti. Ma per rispondere davvero a questa domanda in modo definitivo (e vedrai, anche questo è difficile da fare!), Per prima cosa è necessario definire alcuni termini ed esplorare un po 'di storia.
Uno sviluppatore di software, indipendentemente dal modo in cui viene impiegato, crea software e probabilmente svolge molte altre attività legate alla creazione di software, di solito con l'eccezione di un ruolo di gestione, anche se è abbastanza comune in alcuni progetti, come i team leader . I project manager del programma e del software raramente vengono coinvolti nelle attività di base della creazione di software (a parte i team leader). Ancora una volta, questi sono ruoli .
Per quanto riguarda l'occupazione e il pagamento, ci sono diversi tipi (applicabile agli Stati Uniti). Il tipo di lavoro più comune è regolare o "diretto", in cui il lavoratore è nel libro paga dell'azienda che sviluppa il software. Compilano un W-4 con il datore di lavoro ogni anno e ricevono un W-2 da quel datore di lavoro alla fine dell'anno per le loro tasse.
Al di fuori del lavoro diretto, ci sono appaltatori e (a seconda della definizione) consulenti. Il termine "appaltatore" è tuttavia un po 'fuorviante. Tecnicamente, un contraente è un'entità o una persona che firma un contratto con la società cliente, in questo caso quella che sviluppa il software. Ma la realtà è che quasi tutti gli appaltatori negli Stati Uniti lavorano attraverso una società appaltatrice (indicata anche come "carrozzerie" e termini ancora meno gratuiti); non "contraggono" di per sé direttamente con il cliente. Questi cosiddetti appaltatori in realtà compilano un W-4 con la società di contratto - non il cliente - ogni anno e ricevono un W-2 da quella società di contratto alla fine dell'anno per le loro tasse. Sono tassati esattamente come i loro fratelli e sorelle impiegati direttamente.
Il punto qui è che è la "società appaltante" che in realtà firma un contratto con la società cliente, non i cosiddetti contraenti (i "dipendenti a contratto"). I dipendenti a contratto sono effettivamente impiegati dalla società a contratto e la società a contratto è la parte del contratto con il cliente. Pertanto, il contratto e i dipendenti diretti che lavorano su un progetto software sono essenzialmente gli stessi in termini di tassazione e di solito lavorano in cabine adiacenti senza uno status speciale particolare, l'unica differenza sostanziale è che gli appaltatori sono limitati a un certo tempo in cui possono continuare a lavorare il progetto per quel cliente. Questo perché la società appaltatrice per la quale lavorano non dovrebbe tenerli lì per un periodo di tempo superiore o il nostro IRS potrebbe riclassificarli come dipendenti diretti,
Nella mia esperienza, gli appaltatori sono spesso estesi con l'inganno delle risorse umane, riclassificando un dipendente a contratto, per esempio, da "appaltatore" a "temp" o simili. I clienti che volevano tenermi attivo l'hanno fatto occasionalmente. Le aziende clienti devono fare attenzione però; l'IRS può verificarli per determinare la vera relazione di tali appaltatori. Se l'IRS rileva che il cliente li ha trattati come impiegati diretti, mantenendoli sul posto indefinitamente, ad esempio, il cliente diventa responsabile di eventuali benefici che quei dipendenti (ora regolari) non stavano ricevendo come impiegati a contratto. E anche la società appaltatrice può essere responsabile. Non conosco tutte le conseguenze, ma può diventare disordinato.
O si. Che cos'è un "consulente"? Quel termine è una specie di "squishy" - ci sono state molte guerre combattute su quel territorio sacro. Una volta, forse 40 anni fa, "consulente" era più o meno sinonimo di "appaltatore indipendente", vale a dire un lavoratore che aveva contratto direttamente con un cliente. Cioè, il lavoratore ha firmato un contratto con il cliente (forse quello in via di sviluppo software, come sopra). Quel lavoratore NON compila un W-4 con il cliente e non riceve un W-2 dal cliente alla fine dell'anno. Invece, un appaltatore diretto (che all'epoca era spesso definito "consulente") riceve un cliente 1099.
Insieme a questo accordo fiscale molto diverso, il termine "consulente" aveva una certa aura al riguardo. I consulenti erano generalmente più esperti (almeno 10 anni di lavoro nel settore) e di solito avevano alcune aree di competenza che avrebbero potuto essere difficili da individuare, rendendole molto desiderabili per i clienti e i clienti erano disposti a pagare $ 500 o $ 1000 al giorno (un importo molto generoso quindi) per i loro servizi di esperti. I consulenti correvano con una folla d'élite di persone abbastanza ben collegate ed era generalmente difficile irrompere in quelle cricche. L'iscrizione era necessaria se si voleva essere un consulente di successo. C'era un'organizzazione, recentemente defunta ma ora in fase di ripresa, chiamata ICCA che era una specie di club per ragazzi per consulenti informatici. Chiunque poteva unirsi, e io l'ho fatto ad un certo punto; essere accettato e ottenere lavoro era una storia diversa.
C'era anche un'industria di nicchia, specialmente in luoghi come il distretto finanziario di New York, specializzato in contratti di intermediazione per questi consulenti. Ma allora, per poter lavorare nel software - e specialmente nel settore finanziario - bisognava essere ben collegati (lo so perché ci avevo provato allora). Oggi, questi broker sono stati inghiottiti o esauriti dalle grandi società di collocamento. I contratti indipendenti sono stati quasi sviscerati (esiste, ma quel settore è molto più piccolo ora, quasi inesistente) da una serie di legislazioni che hanno lentamente e certamente distrutto contratti così indipendenti.
Oggi, il termine "consulente" è usato raramente nel regno dell'occupazione nello sviluppo di software. Almeno, l'ho sentito raramente. A volte uno sviluppatore di software a contratto viene indicato come un consulente, ma non è certo una distinzione diversa da, forse, qualche tentativo di adulare o complimentare qualche appaltatore particolare per la sua esperienza in un ritorno a quel precedente periodo in cui il termine significava qualcosa di speciale .
Devo dichiarare che ci sono ancora project manager del software chiamati "consulenti di gestione del software", ma quasi tutti sono anche dipendenti diretti di alcune società appaltatrici che svolgono lo stesso scopo per questi dipendenti del contratto di gestione delle società che forniscono le W-4 a quei dipendenti con contratto di sviluppo software. E, come puoi immaginare, a volte sono le stesse aziende a contratto. Alcuni clienti vogliono avere a che fare con una fonte di lavoratori sia per sviluppatori che per manager che lavorano su un progetto.
La consulenza software autentica e indipendente negli Stati Uniti è in gran parte morta a causa dei cambiamenti nella legislazione federale e del panorama mutevole dell'America corporativa. Man mano che le aziende (potenziali clienti della consulenza) diventano più grandi, i loro dipartimenti delle risorse umane diventano più brutalmente centralizzati, arrogantemente efficienti e tecnologicamente neri. In questi giorni è quasi impossibile contattare un responsabile delle assunzioni per discutere un'opportunità di lavoro di qualsiasi tipo, diretta o contrattuale. Parte di questo è il segreto aziendale e la protezione dei dipendenti, ma gran parte di questo è la tendenza a garantire che il maggior numero possibile di lavoratori sia diretto o che lavori almeno attraverso una società appaltante.
L'alternativa a questo scenario, simile a quella precedente di circa 40 anni fa, era piuttosto diversa. Allora, era più difficile per i datori di lavoro controllare il lavoro dei loro dipendenti a contratto, in particolare il tipo di consulente. Il controllo dei lavoratori sta diventando sempre più il problema principale dell'occupazione negli Stati Uniti per garantire un aumento della produttività che, a sua volta, è importante per la concorrenza con nazioni come l'India e il Vietnam, i cui lavoratori sono ancora più abituati a richieste sempre crescenti di produttività.
La chiave per comprendere tutto ciò è capire che l'appaltatore indipendente non può sapere esattamente come o quando svolgere il proprio lavoro. Di solito devono fornire i propri strumenti. Devono rispettare circa 20 di questi tipi di vincoli affinché l'IRS li riconosca come legittimi contraenti indipendenti. Altrimenti, quelle questioni legali di cui ho parlato sopra prendono il via, insieme a potenziali cause legali tra i dipendenti a contratto e le loro società a contratto per i benefici arretrati che sarebbero quindi legalmente dovuti a loro.
Ci scusiamo per la spiegazione prolissa, ma è davvero così complesso. Sono uno sviluppatore di software che ha lavorato direttamente per aziende e società di contratto. Ho considerato molte volte "indy", ma negli ultimi decenni è diventata una strada molto pericolosa (e intimidatoria!). E le corporazioni, esercitando e sfruttando la loro influenza nel governo, continuano a rafforzare questo accordo. L'American Software Consultant è morto; tutti i sopravvissuti che sopravvivono soffrono i loro ultimi respiri.