Cosa dovrebbe aspettarsi lo sviluppatore junior dal proprio team senior [chiuso]


44

Disclaimer: le opinioni espresse sono esclusivamente mie e non esprimono le opinioni o le opinioni del mio datore di lavoro.

Lavoro per una piccola azienda, in cui poche persone sono sviluppatori, altre sono QA / Test e 1 è un Manager. Sono entrato in questa azienda 1,5 anni fa. 3 sviluppatori senior hanno più di 8 anni di esperienza.

Queste sono le osservazioni che ho fatto sul capo squadra. (considerandomi più fresco con meno esperienza rispetto a loro in tutti gli aspetti)

  1. Non discutono mai di 1: 1 o non considerano mai il suggerimento per ragazzi (sono d'accordo che dipende da loro, che lo accettino o meno, almeno dovrebbero prendere in considerazione un'opinione).
  2. Come senior team leader possono provare a riformattare la base di codice con nuove tecnologie (incluso il fattore di implementazione di nuove tecnologie e altri sviluppatori e infrastrutture anche pronti), ma questi team leader si sentono meno sicuri di lavorare con le nuove tecnologie, poiché non sono aggiornati. (motivo per cui lo sto dicendo, non sanno quale sia l'attuale tendenza della programmazione, * (come i popolari progetti open source come modernizr, bootstrap e molti altri).
  3. Nella nostra base di codice vengono ripetute più di 10000 righe, quindi le ho raccontate DRY: Don't Repeat yourself. La loro risposta fu: "È un articolo affascinante, ma non funziona mai in pratica". Ho appena detto loro che se non lo facciamo al 100% SECCO, possiamo almeno usare le interfacce, ma anche questo non è stato considerato. * (è possibile aggiungere interfacce per nuove funzionalità, senza toccare la base di codice precedente, se non sono pronte per il refactoring)
  4. Tutti gli sviluppatori senior eseguono la manutenzione e il hot fix delle patch. Il resto del tempo è dedicato ai siti di intrattenimento. Sono felici di finire il compito.
  5. L'introduzione di nuove tecnologie è negativa? * (incluso il fattore di fattibilità).
  6. Manager anche meno preoccupato per le cose di cui sto parlando.
  7. Junior si aspetta che possano imparare molte cose dal team leader. * (non chiedendo aiuto o codice senior per loro).

Le mie domande sono:

  1. Sono troppo aggressivo per i cambiamenti che sto proponendo?
  2. Cosa devo aspettarmi dai lead degli sviluppatori senior che hanno più di 8 anni di esperienza?
  3. Sbaglio mi aspetto di imparare e acquisire esperienza da un'azienda?

Aggiornare :

Perché ritengono che il DRY non sia pratico: perché non vogliono essere coinvolti con i concetti di OOP. Sono felici di ripetere compiti.

Nuove tecnologie che sto proponendo:

  1. Utilizzo della minimizzazione di immagini CSS, JS, SPrite
  2. Utilizzo di interfacce e framework .net 4, generici e molti altri.
  3. Librerie lato client come modernizr, knockout js, bootstrap per responsive,

40
Solo una nota: anni di esperienza non significano nulla. C'è il motto "alcune persone hanno 10 anni di esperienza, alcune hanno 1 anno ripetuto 10 volte" (parafrasato). Basa le tue aspettative sulla loro abilità e conoscenza, non da quanto tempo sono lì.
Anthony Pegram,

6
Ravi, ti piacerebbe credere che abbiano imparato e cresciuto. Ciò che è fin troppo comune è che hanno raggiunto un altopiano. Se questo è dovuto al compiacimento, semplicemente non essere sfidato, o hanno veramente raggiunto il loro limite, che varia da persona a persona e da situazione a situazione.
Anthony Pegram,

5
@Ravi la tua percezione è che sono un team guidato per guidarti, anche se è del tutto possibile la loro percezione è che sono un team guidato per fare buoni soldi e non avere la gente dire loro cosa fare in modo che possano fare quello che vogliono. Non tutti stanno cercando di aiutarti solo perché dovrebbero, e molte persone non si preoccupano di migliorarsi se possono evitarlo diventando un team leader senza auto-miglioramento lungo la strada.
Jimmy Hoffa,

14
Sei già molto più avanti di loro e non sono interessati ad elevarsi in una posizione in cui sono pronti a lavorare con te. Licenzia la tua compagnia.
user16764

5
Di solito sono tutto per una nuova tecnologia che offre un modo più pulito di fare qualcosa. Tuttavia, bisogna stare attenti a evitare di introdurre molte nuove tecnologie solo perché sono nuove e brillanti. Se un progetto è appena iniziato o se necessita di una nuova funzionalità o refactoring, allora potrebbe essere una buona opportunità per introdurre qualcosa di nuovo. Se il progetto è stabile (necessita solo di piccole correzioni) o se è tardi, sarebbe meglio evitare di introdurre nuove cose.
marcus

Risposte:


30

Sono troppo aggressivo per i cambiamenti che sto proponendo?

Senza specifiche (quali nuove tecnologie stai proponendo, perché le stanno rifiutando, dove ritengono che DRY sia poco pratico e perché, ecc.), È difficile valutare la quantità di merito per le tue proposte e questo è importante per la tua aggressività. Se vuoi che utilizzino un nuovo framework perché pensi che sia nuovo e interessante, spingere più che leggermente è troppo aggressivo. Se stanno davvero sbattendo migliaia di righe di copia / incolla nella base di codice (cioè stanno scrivendo cazzate), direi che è giustificata una maggiore aggressività.

Ma questo dipende anche dalle dinamiche interpersonali tra te e loro. Il mio consiglio sarebbe di chiederti "potrei dimostrare che i miei suggerimenti andrebbero a beneficio dell'azienda?" Se la risposta è sì, allora direi che hai una licenza per provare a spingere.

Cosa dovrei aspettarmi dal senior dev lead che ha 8 anni +?

Questo eseguirà la gamma. A volte avrai delle persone molto intelligenti da cui puoi imparare molto, sia in termini di navigazione politica dell'ufficio che di considerazioni tecniche. Purtroppo, si ottiene anche un sacco di questo . Non troverai carenza di persone la cui esperienza di oltre 8 anni equivale sostanzialmente a fare il minimo indispensabile per non essere licenziati. Se trovi un mentore o qualcuno che è davvero acuto, tienilo il più possibile perché è meno comune di quanto dovrebbe essere.

Sbaglio mi aspetto un buon apprendimento da un'azienda?

Le persone da cui imparare sono là fuori e sono in alcune aziende. Sembra che tu abbia di fronte un dilemma comune e, per parafrasare i ragazzi di .NET Rocks, vale la pena considerare: "Cambia la tua azienda ... o cambia la tua".

Vale a dire, se credi in determinati approcci e principi fondamentali e ti ritrovi costantemente incapace di venderli e ottenere la libertà di fare e apprendere cose che vuoi fare e imparare, vale la pena considerare una ricerca di un'azienda che sia migliore adatto a te.


1
Ho mostrato una demo di tutte le novità. sono comunque a disagio. vedi la mia risposta aggiornata
Ravi Gadag

1
Mi sembra che le tue idee molto probabilmente sarebbero un miglioramento di ciò che esiste. Il prossimo è capire perché vengono rifiutati. Non hai creato abbastanza rappresentante con gli anziani? Sono pigri? Problemi di comunicazione? Potresti essere un caso migliore o potresti ottenere la tua strada dopo aver provato te stesso? In tal caso, eliminarlo potrebbe essere una buona esperienza. Se sono solo pigri e disinteressati, potrebbe non esserlo.
Erik Dietrich,

1
Sono disinteressati.
Ravi Gadag,

6
@RaviG: Certo che non sono interessati. Sei un nuovo sviluppatore nuovo, desideroso di compiacere, con occhi molto più grandi del tuo stomaco ... e stai cercando di dire ai tuoi sviluppatori cosa fare. È abbastanza brutto quando il management ha una nuova idea ogni giorno su come cambiare l'intero prodotto ... un nuovo ragazzo? pfft. Vai a fare qualcosa.
Steven Evers,

19

Scriverò questo dal mio punto di vista come sviluppatore senior (o inserirò qualsiasi altro titolo di fantasia che ti piace qui) che funzioni frequentemente con gli sviluppatori junior.

Questa è probabilmente una carenza sia sul fronte che sul fronte degli sviluppatori senior.

Una cosa che molti sviluppatori Junior non capiscono è che mentre tu (come junior) stai spingendo per usare nuove tecnologie, nuovi modi di fare le cose, dicendo al team che stanno facendo le cose sbagliate , ecc. - gli Anziani nel il team riferisce alla direzione al momento della consegna e viene spinto dalla direzione a consegnare nuove cose il più rapidamente possibile per far guadagnare all'azienda il maggior numero di soldi possibile (o fornire i migliori risultati per il cliente / cliente).

A volte i modi provati e comprovati di consegna superano di gran lunga il rischio di implementazione [inserire qui una tecnologia interessante] . Scadenze ravvicinate, troppo lavoro e un carico di camion di pressione per l'avvio significa che il modo in cui lo abbiamo fatto per oltre 8 anni è il modo in cui lo facciamo anche questa volta.

Devi essere in grado di dimostrare al team che ciò che stai proponendo avrà effettivamente dei benefici per loro e per l'azienda nel lungo periodo. Altrimenti non riceverai il buy-in dai tuoi colleghi e loro non saranno in grado di venderlo al team di gestione per ottenere l'approvazione per l'esecuzione.

Sono troppo aggressivo per i cambiamenti che sto proponendo?

Senza conoscere tutte le circostanze, potresti esserlo. Solo dire alla gente A è meglio di B, quindi dovremmo usare A non ha molto terreno. Devi andare e fare qualcosa per mostrare perché è meglio. Non deve essere grande, anche solo un piccolo componente o un'applicazione che mostra il modo suggerito di farlo dovrebbe essere più che sufficiente. Devi quindi presentarlo ed essere pronto a resistere alle critiche della tua squadra.

Anche come sviluppatore senior devo farlo prima di poter convincere i miei colleghi che il nuovo modo di fare le cose è migliore.

Cosa devo aspettarmi dai lead degli sviluppatori senior che hanno più di 8 anni di esperienza?

Come altri hanno già detto, un'esperienza di oltre 8 anni non significa necessariamente che tu sia fantastico. Ma in generale, dovresti essere in grado di imparare molto da qualcuno che è stato intorno alle trappole per un po '; potresti anche essere in grado di insegnare loro qualcosa.

Le persone sono persone e tutti hanno un ego (alcuni più grandi di altri) e non c'è niente di peggio che il nuovo ragazzo che entra e ti dice che hai fatto il tuo lavoro sbagliato negli ultimi 8 anni. Allo stesso tempo, uno sviluppatore senior (uno bravo) dovrebbe essere in grado di prendere critiche costruttive ed essere in grado di articolare le ragioni delle loro decisioni.

Sbaglio mi aspetto di imparare e acquisire esperienza da un'azienda?

Non utilizzare la tecnologia e le funzionalità più recenti e più avanzate non significa che non stai imparando e facendo esperienza all'interno della tua azienda. L'esperienza è esperienza, a volte conoscere il vecchio modo di fare qualcosa può darti un maggiore apprezzamento del perché il nuovo modo è migliore. Questo ti aiuta anche a dimostrare perché il nuovo modo è migliore, perché capisci entrambi e puoi articolare un argomento più convincente quando stai cercando di venderlo. Personalmente non uso le ultime e più grandi cose in cui lavoro in questo momento - ma imparo ancora cose nuove ogni giorno e sembra anche buono sul mio curriculum.

Detto questo - se la società non è davvero adatta e tutto il resto fallisce, potresti voler cercare un nuovo posto di lavoro.


affrontando il tuo primo punto, penso che sia un divario con gli sviluppatori senior. Come può uno sviluppatore junior comprendere appieno le implicazioni della sua spinta per la nuova tecnologia se lo sviluppatore senior non lo prevede? c'è anche un ottimo equilibrio che deve essere raggiunto tra l'attaccamento alla tecnologia affidabile e il lasciare che gli sviluppatori più giovani imparino cose nuove (per essere sicuri che ci sia molto apprendimento che può avvenire nell'ambito della tecnologia affidabile)
Rudolf Olah,

12

Pensa a questa come un'enorme opportunità.

Le promozioni spesso non (e non dovrebbero) provengono dal numero di anni che hai investito in un'azienda. Hai quelle che pensi siano davvero delle buone idee e i tuoi superiori / colleghi non vogliono ascoltare.

Ecco una strategia:

  1. Fai qualcosa di fantastico
  2. Raccogli metriche rigide per quanto sia fantastico (questo passaggio è fondamentale)
  3. Dimostralo, con le tue metriche a tutti nella tua azienda (proprietario / lead / senior / addetti alle vendite - tutti quelli su cui puoi mettere le mani)
  4. Profitto

E non intendo profitessere un vago passo "Vinco". Il passaggio 4 è dove ottieni uno o tutti i seguenti:

  1. Promosso
  2. Un aumento
  3. Un bonus

Sia con la tua azienda, sia con una nuova che possa apprezzare i tuoi talenti e le straordinarie metriche che hai sul tuo curriculum.

Lo chiamo "essere fantastico" - e funziona .

Aneddoto: non sono sempre fantastico, ma provo ad esserlo e ho eseguito i passaggi dati 5 tempi distinti (2 promozioni, 3 nuovi lavori; tutti con sostanziali aumenti salariali).

Con questo in mente, dovrei probabilmente rispondere direttamente alle tue domande:

Sono troppo aggressivo per i cambiamenti che sto proponendo?

Hai già fatto qualcosa di fantastico, con metriche ed esempi su quanto sia fantastico? C'è un vecchio detto (grossolano, per quanto possa essere) ...

Ideas are like assholes; everyone's got one, and they all stink

Vai a fare qualcosa.

Cosa devo aspettarmi dai lead degli sviluppatori senior che hanno più di 8 anni di esperienza?

Sul serio? Non dovresti aspettarti niente. Ma cerca di imparare tutto ciò che sanno. Poni domande, rivedi privatamente il loro lavoro, ascolta quando parlano e pensa criticamente a quello che dicono. Sono esperienza in una scatola ... err ... corpo. Prova ad aprirli e impara. Il mio migliore amico è un geniale sviluppatore e gli dico attivamente che cerco sempre di imparare il più possibile da lui.

Sbaglio mi aspetto di imparare e acquisire esperienza da un'azienda?

Assolutamente no. Ciò non significa che non puoi imparare cosa non fare. Le persone commetteranno errori, impareranno dagli errori della tua azienda e dai tuoi.


3
Questo può ritorcersi contro se il resto della squadra non è a un livello in grado di riconoscere la tua bellezza, o se ne sente minacciato.
user16764

@ user16764: potresti essere un po 'più specifico di come appare quello scenario? Ho avuto entrambe le risposte e non tutte le mie fantastiche soluzioni sono state raccolte dal team, ma non sono mai state "controproducenti".
Steven Evers,

L'ho provato quando mi trovavo in una situazione simile all'OP. Successivamente, sono stato sottoposto a: a) "cosa stai facendo proprio in questo secondo" controlli a campione ogni 15 minuti, b) 5 minuti di noleggio consistenti nel gridare "NON SEI CON NOI!" ancora e ancora, c) mi viene detto di stare zitto (o più specificamente, che mi "stavo allontanando") ogni volta che dicevo una frase, e d) venivo licenziato per il motivo che "la direzione che la compagnia sta andando in è cambiato ". Il fatto che ciò che ho fatto fosse necessario per la consegna non è stato contestato, ma nemmeno riconosciuto.
user16764

1
@ user16764: Hai raccolto i dati concreti sull'efficacia della tua soluzione e hai ottenuto un lavoro con quello sul tuo curriculum? (modifica: a proposito, è totalmente inventato che la gente lo abbia fatto)
Steven Evers

1
@ user16764: se riesci a mostrare obiettivamente, con fatti concreti, che in questo particolare caso, quello che hai fatto è stato fantastico, e quindi le persone cercano di metterti in fila per fare ciò che fanno tutti gli altri, trovare un nuovo lavoro, sul serio. Non puoi trascinare tutti gli altri verso l'apprendimento lungo tutto l'arco della vita e l'eccellenza, ma sicuramente possono trascinarti verso il contrario.
Christopher Creutzig,

4

Penso che devi essere creativo. Inizia a chiedere in giro per alcune richieste di progetti secondari che i tuoi anziani hanno rimandato. Lavorando su qualcosa in modo indipendente (o meglio ancora, coinvolgendo un altro sviluppatore junior) e fin dall'inizio, puoi applicare molte delle nuove cose. Non essere sorpreso se scopri che non è tutto per il meglio.

Un altro approccio sarebbe quello di fare il proprio ramo di codice e passare attraverso un processo di refactor. Potrei non arrivare mai in produzione sulla base di ciò che hai detto, ma almeno riesci a migliorare il tuo set di abilità.

Chissà, potrebbero vedere come sei in grado di semplificare il lavoro di tutti e accetteranno il vero uso della "pigrizia" nella programmazione.

Se tutto il resto fallisce, inserisci la nuova serie di competenze nel tuo CV e inizia a cercare un altro lavoro.


1

Se qualcuno lavora come programmatore da +8 anni, ciò non significa che sia un buon programmatore. Cosa rende il buon programmatore programmatore serior secondo me? È volontà di condividere non solo esperienze, ma anche di apprendere nuove idee, tecniche, tecnologie, ecc. È volontà di migliorare continuamente e migliorare. Molti cosiddetti programmatori "senior" sono raggruppati in vecchi schemi di programmazione funzionale da lingue ormai lontane. Qualcosa come nuovi concetti e idee non fanno proprio per loro, perché non ne hanno bisogno. Hanno ottenuto la loro "esperienza".

La volontà di migliorare e apprendere è molto più importante di anni di esperienza. Lo sviluppatore junior che vuole imparare è molto meglio per qualsiasi azienda rispetto al vecchio sviluppatore "senior" che già "conosce" tutto.


1

Lavori nella mia azienda?

No, ma sul serio, questo sembra essere un filo piuttosto comune in molte grandi aziende. Il cambiamento è difficile e costoso. A volte non sai davvero fino a quando non sei nel mezzo ed è troppo tardi per tornare indietro.

Ad esempio, la mia azienda sta ancora migrando da schermi mainframe basati su cobol a java. È difficile vendere qualcuno su Spring o JSF quando stanno ancora cercando di aggiornare la loro tecnologia con gli standard di dieci anni fa. Quindi, ti dirò quello che ho fatto che ha avuto un successo limitato (anche io sono un jr dev). Sii l'esempio. Non è abbastanza buono che tu conosca il tuo più all'avanguardia, devi dimostrarlo. Quando tutti gli altri si divertono, porta un libro da leggere se hai dei tempi morti. E parla di una di queste tecnologie che ti interessano implementare. Se ti vedono mentre lo leggi mentre stanno guardando YouTube (onestamente sorpreso che la tua unità operativa non lo capisca e le persone vengano licenziate) saranno più inclini a non solo credere che tu sappia di cosa stai parlando, ma potrebbero anche chiederti di cosa lettura.

Ad esempio, ti parlerò della mia esperienza con il mio architetto senior. Ragazzo intelligente, ma generalmente non interessato alle nuove tecnologie. Sono andato e gli ho chiesto come fare qualcosa in CVS (il nostro controllo della versione) e ho detto "Oh ok, sono abituato a usare sovversione, e lo fanno in questo modo. Grazie per il tuo aiuto." Ciò ha portato a diverse conversazioni su CVS e Ant contro SVN e Maven, che lo hanno portato a prendere in prestito un paio di libri dalla mia biblioteca per verificarlo. Risultato finale: quest'anno passeremo ai nuovi sistemi. La chiave è essere aperti e disponibili senza comunicare che stanno sbagliando. Perché dopo tutto potrebbero esserci molti modi migliori per farlo, ma se funziona correttamente, non lo stanno facendo nel modo sbagliato. Qualsiasi tipo di mancanza di rispetto ti porterà in acqua calda nella maggior parte dei casi, quindi fai attenzione.

Se non sono ricettivi, tieni presente che sei in un grande campo che è molto richiesto. Se il tuo curioso e uno studente veloce troverai un altro lavoro, probabilmente uno che ti piacerà molto di più. Il che è importante quanto i soldi per me. Assicurati di menzionare in qualsiasi intervista, "Oh ragazzi usate la tecnologia xxx? Fantastico, ho sempre voluto usarlo e ho provato nella mia vecchia compagnia." Poeple love quando hai entusiasmo per quello che stanno facendo.


0

Penso che tu abbia ragione nella tua aggressività. È un grande piacere lavorare con persone appassionate e una grande punizione per lavorare con i morti mentali. 8 anni di esperienza non significano nulla. Certo, potresti non aver ragione. Spesso le nuove tecnologie sono strettamente legate al marketing e non sono sempre migliori. Ma se non hai ragione, gli anziani dovrebbero spiegarti dove sono sbagliati. Altrimenti, non ottieni alcun vantaggio dal tuo lavoro. Forse sei giovane e attraente. Se è così, questo è il tuo vantaggio. Non perdere tempo a lavorare dove non puoi crescere. Preoccupazione per trovare un nuovo lavoro, dove puoi discutere delle tue soluzioni e ottenere feedback dagli altri.

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.