Sviluppatore singolo o team developer: dovrei andare avanti? [chiuso]


53

Lavoro come sviluppatore solista in una piccola azienda. C'è lavoro più che sufficiente, ma lo stesso non vale per i soldi. Pertanto, non vedrò nuovi colleghi nel prossimo futuro.

Sono responsabile di tutto ciò che ha a che fare con le operazioni IT. Ciò comporta lo sviluppo e la manutenzione del software utilizzato internamente, lo sviluppo e la manutenzione di vari siti Web utilizzati dai nostri clienti, l'infrastruttura del sito Web, l'infrastruttura di rete locale, compresa la manutenzione di numerosi server e il supporto interno per menzionare le cose più immediate.

Mi piace molto il 95% di quello che faccio e ho un alto grado di flessibilità nel mio lavoro. Posso decidere cosa fare quando, e nessuno mi dice cosa fare, tranne che di tanto in tanto mi siedo con i miei colleghi per creare una tabella di marcia per ciò che devo fare. Mi ritengo di avere un'etica del lavoro elevata e di essere sopra la media concentrato su ciò che faccio, quindi le cose vengono fatte.

Tuttavia, sono arrivato al punto in cui mi manca davvero avere altre persone intorno a me che lavorano con lo stesso. Anche se ho bisogno di familiarizzare con una vasta gamma di tecnologie poiché sono uno sviluppatore solista, ho la sensazione che mi sto perdendo una "condivisione delle conoscenze" a cui partecipano altre persone "affini" che lavorano in grandi aziende . Non ho davvero nessuno con cui discutere degli ostacoli alla programmazione e delle decisioni di progettazione - e comincio a perdere questo. Inoltre, sono preoccupato per ciò che i futuri datori di lavoro potrebbero pensare di questo "eremita" che ha lavorato da solo per troppo tempo per poter prendere parte a una squadra.

Tuttavia, dall'altra parte, sto pensando che non otterrò il mio attuale grado di flessibilità in un'azienda più grande. Vedrò scadenze molto più rigide, ore di ritardo e aree di lavoro specializzate. Anche; Non sono sicuro se questa idea di "condivisione della conoscenza" avrà mai luogo?

Qualcun altro è stato in questa situazione? È una buona idea vista dal punto di vista della carriera e dal punto di vista dello sviluppo personale? Dovrei considerare di spostarmi in un posto più grande per (forse) far parte di un gruppo più ampio di sviluppatori e persone "affini"? In altre parole, l'erba sarà più verde dall'altra parte?


23
shhhhhhhh ... ci sono migliaia di sviluppatori bloccati in lavori aziendali senza uscita che invieranno il tuo capo al loro curriculum.
Reactgular,

2
Vorrei solo aggiungere che non c'è nulla che ti insegni a risolvere i problemi come essere totalmente responsabile di un aspetto di una società di software. Dover ottenere cose che non sono considerate molto valide per funzionare.
Benjamin Gruenbaum,

37
La mia esperienza passando da uno sviluppatore solista a lavorare in team è che può essere scioccante il numero di sviluppatori che non hanno idea di nessuno dei principi su cui potresti aver avuto l'impressione che tutti gli sviluppatori si stanno impegnando (come SOLID). E di quelli che ne hanno sentito parlare, solo una parte relativamente piccola cura. Preparati ad affrontarlo e decidi in anticipo cosa farai se ti preoccupa.
Amy Blankenship,

5
@Amy ha ragione sui soldi. Questa è la mia situazione e ho dovuto adeguarmi al codice per lo più spaghetti e alla mancanza di principi. A parte questo, mi sto godendo le chiacchiere quotidiane con altri sviluppatori. Ne vale la pena.
Simon Whitehead,

1
IMO - Se sei in grado di fare tutto da solo nel tuo lavoro attuale, non stai facendo nulla di abbastanza complesso da far progredire la tua carriera. Se questo è un problema, allora devi trovare un lavoro usando il tuo set di abilità in una squadra. Anche gli elettroni liberi non possono costruire i tipi di progetti che continueranno a spingerti avanti. Se sei soddisfatto di ciò che fai (95%?), E puoi garantire che sarai in grado di farlo fino alla pensione, rimani sicuramente. Altrimenti, probabilmente dopo 3-5 anni dovrai spostarti.
Joel Etherton,

Risposte:


53

Se ti piace il tuo lavoro e ti manca solo la condivisione delle conoscenze, considera di unirti a un progetto open source invece di cambiare lavoro. Se non conosci già le persone con cui lavorerai, non hai idea se l'erba sarà più verde dall'altra parte.


10
Altre opzioni includono mailing list, hangout in chat SO, gruppi di sviluppatori locali (se ne esistono ancora) e così via. Ma l'idea centrale è la stessa: trovare una strada extra-curriculare per la condivisione delle conoscenze
Bobson,

3
È tutto meglio di niente, ma la rete non sostituirà mai le persone in carne e ossa. La tastiera e il monitor non ti ameranno mai più.
Balog Pal

Questo è un grande suggerimento, in quanto sviluppatore che lavora in una posizione in cui ottengo molta autonomia sulle tecnologie che utilizzo, trovo che la partecipazione a discussioni di gruppo come la chat in progetti SO, FOSS e siti molto produttivi.
Benjamin Gruenbaum,

@Nemanja: buon suggerimento (anche se, come menziona Balog, non sostituirà mai le persone reali)!
sbrattla,

@BalogPal - Ecco perché ho suggerito gruppi di sviluppatori locali ... ma sono sicuro che sono molto più rari di prima.
Bobson,

10

Questo si allinea con il mio detto: "La programmazione è come il sesso. Puoi farlo da solo, ma è molto meno divertente in quel modo. E ti fa impazzire se lo fai in quel modo per troppo tempo."

Sì, è conveniente essere il tuo capo e il solo padrone del dipartimento. Inoltre è spaventoso lasciare la shell stabilita. Per non parlare dell'affrontare il mondo ostile all'esterno. E ricominciare dal basso. Separarsi è ancora più difficile se non si viene espulsi e / o si sente male nell'abbandonare la società che ha bisogno di te e forse si è praticamente bloccata.

Ci sono stato. Ha lavorato per circa 12 anni in un'azienda come esercito di 1 uomo. Negli anni scorsi è stato come se molti chiamassero il Kanaan, lavorassero per lo più seduti a casa, ricevendo solo una nota "Il cliente X vuole qualcosa da controllare", poi pochi giorni dopo spedito per posta che il contratto può essere firmato per importo X e scadenza Y, quindi un mese in seguito ha inviato un'altra mail che può essere inviata la fattura. E ha funzionato forse in media 1 ora / giorno - per i soldi a tempo pieno. E tutti erano anche boss dei contenuti e clienti.

ma è cresciuto su di me, e nonostante abbia avuto tutto il tempo, è stato per lo più solo sprecato.

Alla fine ho pubblicato un ultimatum per riorganizzare il lavoro in modo da poter lavorare in team o sono fuori. Il capo probabilmente lo riteneva un bluff. In conclusione, sono partito per sempre. Il pensiero avrà lavoro il giorno successivo. Si certo. ;-)

Ha affrontato una serie di interviste e aziende super-WTF, ma dopo alcuni mesi ha ottenuto un lavoro. In una società che si è rivelata una fanatica del bigtime, ma le squadre locali hanno davvero oscillato. Almeno quando mi sono iscritto, un anno dopo è iniziata quella massiccia partenza, ovviamente con il miglior poeple. Hai gli stessi soldi ma più di 8 ore di lavoro in ufficio + confusione. In un progetto che ha avuto un sacco di problemi seri. E i boss remoti custodivano tutti i bug.

ma nel complesso, mi sono sentito di nuovo vivo e felice di fare un lavoro rilevante. in una squadra che ha lottato per lo stesso ed era felice di aver finalmente iniziato a fare progressi contro tutto il vento e il tempo ostile. Nel mio conteggio, ne valeva la pena. L'unica cosa di cui mi dispiace non essere partito 4-5 anni prima.

Il follow-up non è molto rilevante (in realtà alla fine me ne sono andato, questa volta solo 1 anno dopo che ottimale, ho fatto un progetto a casa, poi sono entrato in un'altra società che era promettente, mentre il nostro team ha fatto progressi incredibili la società ha girato a sud, e questa volta ho finalmente lasciato esattamente sullo zenit - e dopo una vacanza estiva calcolata atterrato dove lavoro ora senza piani per partire.) Il punto è che la vita funziona, mai come ti aspetti, ma per il meglio a lungo termine.

La linea di fondo è che, se non vedi più il Sole, è meglio chiudere le false speranze. Semplicemente non migliorerà. Puoi forzare la tua strada o cercare un terreno realmente fertile.


1
Grazie per il tuo commento! Spero che tu avessi un grande giardino per trascorrere le 6,5 ore rimanenti dopo il "[...] forse 1 ora / giorno in media [...]" del lavoro quotidiano :-). Comunque; grazie per aver condiviso la tua esperienza; Mi vedo in quello che descrivi dall'inizio.
sbrattla,

7

Solo perché ti sposti in una situazione con più di uno sviluppatore non significa che sarai bloccato in termini di scadenze, orari di chiusura e aree di lavoro specializzate. Sì, ci sono aziende che lo fanno, ma ci sono anche PMI che hanno bisogno di sviluppatori, e alcune sono molto simili al tuo attuale ambiente di lavoro, solo con più di uno sviluppatore.

Suppongo che dipenda da dove si trovano i tuoi obiettivi di carriera. Se sei soddisfatto della tua situazione attuale, ma desideri una maggiore interazione con gli sviluppatori, ti suggerirei di cercare una piccola azienda con un team di 5-10 sviluppatori a cui puoi unirti. Ciò ti consentirà di avere molta flessibilità ma di avere ancora altri a cui inviare idee.

Dal punto di vista delle assunzioni, quando ho recensito potenziali sviluppatori non ho mai chiesto se fossero eremiti. Tuttavia, esempi di lavoro all'interno di una squadra sono incredibilmente importanti quando si porta qualcuno a far parte di una squadra. Come fa una persona a trattare con altre persone con opinioni diverse? Che cosa hanno fatto in passato per garantire che l'intero gruppo ottenga il miglior risultato? Questi non hanno a che fare con altri sviluppatori, si tratta di lavorare con le persone (cosa che hai detto che già fai).

Se stai cercando di assumere un ruolo di leadership tecnica senior, dovrai sicuramente spostarti in una posizione con alcuni altri sviluppatori in cui hai l'opportunità di diventare un team leader. È molto difficile spiegare che hai le competenze per gestire un team di sviluppo se non hai esperienza di lavoro in un team di sviluppo.


guardandolo da una prospettiva a lungo termine, probabilmente ha senso spostarsi di più verso posizioni più "astratte" con l'età. Quando compirò 60 anni (tra 30 anni) probabilmente non avrò la possibilità di competere con sviluppatori di nuova formazione ... quindi a un certo punto potrebbe avere senso passare a qualcosa come un ruolo di leadership tecnica. E; sarebbe qui che entra in gioco l'esperienza di squadra ...
sbrattla,

6

Sono in una situazione molto simile a quella che hai descritto. Il mio problema principale è il denaro, dal momento che l'hai menzionato. A volte penso di essere troppo solo e bramoso di avere più azione e condivisione delle conoscenze, tuttavia, guardando indietro alle mie precedenti società, so che probabilmente non sarebbe così (codice negativo, scontri con l'ego, burocrazia inutile, ecc.) Mentre ora io trascorro il mio tempo nell'apprendimento delle tecnologie che voglio imparare, leggere libri e utilizzare gli strumenti che preferisco. A volte è noioso, altri spaventosi, a volte manca di motivazione, ma nel complesso abbastanza soddisfacente mentre risolvi le sfide come sviluppatore full stack.

Per tenermi aggiornato e ottenere nuove idee di solito navigo in questo sito Web, programmatori SE. Un'altra cosa che ho fatto in passato sono piccoli concerti a Odesk: puoi lavorare per altri programmatori sui loro progetti e trarre vantaggio dall'apprendimento delle loro tecniche. Non farlo per soldi, a meno che tu non viva in un paese con salari molto bassi.

Un'ultima parola di consiglio: se non hai già diversi anni di esperienza, tornerei da un team di sviluppatori. Tutte le diverse tecniche e conoscenze che ho acquisito negli anni non credo che sarei stato in grado di farlo da solo, anche con Google e SO. Una parte è semplicemente insostituibile. A quel punto, direi, puoi trarre il massimo dall'essere uno sviluppatore solista e divertirti.


Il denaro non è davvero una parte importante della mia preoccupazione. Si tratta più di apprendere e sviluppare le capacità personali. Non ho mai lavorato in una squadra, solo come sviluppatore solitario, quindi vedo il tuo punto su come entrare in una squadra.
sbrattla,

3

Come estensione dell'idea "Partecipa a un progetto OpenSource" di @NemanjaTrifunovic, posso suggerire di andare a conferenze o fare formazione professionale.

Uscire dalla routine quotidiana vedendo come gli altri risolvono i problemi che hai avuto / hai, o vedere come le nuove tecnologie possono aiutare a cambiare la tua visione o apprendere una nuova tecnologia che non ha nulla a che fare con il tuo lavoro attuale può essere una grande motivazione Incremento.

Perché non presentare le soluzioni in una conferenza da soli?

Il tuo capo, se è intelligente, sarà felice di pagarti tutti i costi (di viaggio / di formazione-), perché (dovrebbe) sa che cose del genere motivano molto.

Inoltre, potresti creare una rete che in futuro ti aiuterà a trovare un lavoro.


3

Penso che dovresti convincere la tua azienda a cercare almeno un altro sviluppatore. Forse un junior che ti alleneresti sul posto per familiarizzare con il sistema. In questo modo avresti un flusso di conversazione continuo e mirato.

Punta la tua azienda verso il fattore bus per convincerli. Avere un solo sviluppatore responsabile di tutto è un rischio molto elevato. Nessuno dovrebbe tenere tutte le uova in un solo paniere.


3

Non ci sono garanzie nella vita, quindi potresti trasferirti in una società più grande e scambiare una serie di problemi con una serie diversa e forse più ampia. Molti hanno raccomandato di unirsi ai gruppi tecnologici locali per occuparsi di interagire con persone affini, ma non saranno in grado di prendere molte delle piccole decisioni che prendi da solo.

Il mio suggerimento sarebbe quello di mantenere il tuo attuale lavoro, ma di essere coinvolto e fare rete all'interno della comunità tecnologica locale. Cerca persone e possibilmente aziende con cui vorresti lavorare. Ogni grande azienda non offre ciò che stai cercando. Se si presenta un'opportunità migliore (e dovresti avere una conoscenza diretta che è migliore), esaminala.

Molti di noi non hanno trovato il lavoro perfetto che offre il tipo di lavoro che alla fine desideriamo. Non stai facendo esperienza di lavoro con una squadra, ma non è una scelta. Hai preso un lavoro che ha altre cose che preferisci. Non penso che sarebbe troppo difficile far passare questo punto in un'intervista personale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.