Migliorare senza mentore [chiuso]


23

Anche se mi ritengo poco esperto, continuo ad atterrare in posti di lavoro come leader (in quello attuale sono direttore tecnico dell'azienda, in un precedente ero il capo R&D).

Capisco perché questo accada (ho un certo insieme specifico di competenze e utilizzo alcuni linguaggi di programmazione non comuni), il mio problema è: non riesco a trovare un mentore ...

So che ci sono cose che devo imparare, e noto mentre lavoro negli anni che sto lentamente imparando sempre di più, ma credo che ci sia un modo per migliorare molto più velocemente della semplice codifica ...

Quindi, come posso migliorare quando non ci sono altre persone in azienda a insegnarmi o a leggere il loro codice? (o correggi il loro codice anche ...)

Penso di essere al di là dei libri, ma molto al di sotto di un livello "master", quindi non so dove imparare di più.


Non rinunciare a lavorare con un mentore. Può fare una grande differenza e aprire molte porte.
Sviluppatore:

1
Se c'è un'attività correlata al tuo lavoro che ti spaventa o ti rende nervoso, è un buon segno che puoi imparare da esso. Hai tenuto presentazioni a conferenze internazionali? Hai avviato il tuo progetto open source? Hai creato la tua azienda? Ce ne sono molti altri ...
Marco,

Ho fondato la mia compagnia (più di una volta in realtà) e sono stato invitato a parlare in alcune conferenze internazionali (anche se tutte nel mio paese). :) E sì, ci sono alcune cose che evito ... Ma alcune delle quali eviterò sempre, altre imparerò in tempo :)
Speeder

questo sito e i suoi "siti gemelli possono diventare un tutor ragionevole se non riesci a trovare un singolo essere umano a fare il lavoro
LRE

Risposte:



26

Alcuni suggerimenti:

  • Impara altre lingue. Quindi confrontali con le lingue che conosci già e prova a esaminare i modi in cui puoi migliorare le tue abilità di codifica in quelle lingue usando le cose che hai imparato da altre lingue. "Libera la tua mente" prima di imparare quelle nuove lingue e non cercare di clonare semplicemente i concetti dell'uno nell'altro .

  • Leggi il codice. Non so che lingua (e) insolita stai usando esattamente nei tuoi lavori, ma sono abbastanza sicuro che puoi trovare codice open source di alta qualità scritto in quelle lingue da sviluppatori molto abili.

  • Resta con la comunità. Se non hai colleghi che usano le tue lingue al lavoro, non è una scusa per non condividere le conoscenze attraverso siti Web come Stack Overflow, dove ci sono domande e risposte anche per lingue molto rare. Prova a cercare quelle domande per tag e vedi se capisci tutte le risposte. Se le domande non hanno risposta, rispondi.

  • Insegnare. Insegna ai tuoi colleghi. Scrivere un blog. Qualsiasi cosa. Spiegando qualcosa agli altri, imparerai meglio.


2
+1: insegnare. Sì. A volte, quando sto preparando una piccola sessione demo, mi ritrovo sempre a porre domande che il mio pubblico farebbe. Nel tentativo di preparare le risposte, faccio ricerche e molto spesso imparo qualcosa di inestimabile.
Apoorv Khurasia,

8

Le mie principali soluzioni a questo negli ultimi 2 anni sono state:

  • networking sociale: ho scoperto in particolare che meetup.com è un ottimo modo per trovare gruppi di programmazione nella tua zona. Anche Twitter è ottimo per questo. Quando trovi le persone che ti piacciono e rispetti, seguile.

  • Utilizzando http://www.stackoverflow.com inizialmente l'ho usato per domande occasionali. Ora è il mio compagno quotidiano per dare e ricevere consigli. Utilizza anche i siti gemelli come /codereview//

  • Funzionante: anche se probabilmente non applicabile per te (ma un buon consiglio generale per gli altri) Se sei abbastanza bravo da trovare un tipo di lavoro nell'area che desideri, cerca persone anziane, sii gentile con loro e cerca di convincerli a farti da mentore .

  • Libri. O'Reilly, Pragmatic Programmer e altri hanno ancora buoni libri e puoi scegliere versioni cartacee e / o digitali. Ecco un elenco davvero fantastico: /programming/1711/what-is-the-single-most-influential-book-every-programmer-should- letto con alcuni dei migliori "classici" là fuori nel caso in cui non li abbia già letti. Posso consigliare codice pulito e codice completo.

  • Tutorial. Ora ci sono alcuni siti fantastici in rete come
    http://www.codeschool.com ,
    http://www.codeacademy.com
    http://code.google.com/edu/


Mi sono reso conto di quanto sia insolito il materiale che utilizzo quando nessuno di questi siti lo ha menzionato: P
speeder,

5

Solo perché sto leggendo un po 'di gerarchia nella (a) tua domanda:

Impara dalle persone sotto di te. Lo sviluppo del software riguarda la comunicazione, tra umani, spesso attraverso il mezzo del codice. Poiché una buona comunicazione dovrebbe andare in entrambe le direzioni, impara dalle persone con cui programmi. (la mia ipotesi è che non sei in una società individuale)


+1. Attualmente sto studiando CS e lavorando part-time come sviluppatore. Il mio team leader mi ha chiesto di sedermi con lui e di rivedere il suo codice. Imparo molto e sento che ha fiducia in me, ma penso anche di poter dare qualcosa in cambio. La mia esperienza non è la migliore, ma la mia conoscenza è aggiornata e posso dire "un nuovo modo migliore per farlo è quello di ..." ecc.
Matsemann,

2

Credo che imparerai molto insegnando quelli che conduci. Otterrai una comprensione più solida di ciò che insegni loro perché sarai costretto a pensare al perché / come funzionano le cose facili (che probabilmente hai evitato di fare all'inizio perché volevi solo che funzionasse)


2

Il mentoring può essere trasversale

I mentori non devono sempre essere esperti in ciò su cui ti concentri. Se usi un linguaggio di programmazione insolito, lascia ancora circa 99 argomenti non linguistici nello sviluppo del software in cui potresti essere istruito. Alcuni dei miei mentori recenti sono stati coinvolti nello sviluppo del business, nell'hardware o nell'ingegneria dei sistemi, anche se sono principalmente coinvolto nel software.

Molti tipi di persone possono essere il tuo mentore

Una buona cosa da cercare è qualcuno che è ora dove vorresti essere tra cinque anni. Un mentore come questo non è sempre disponibile, quindi altre alternative includono un saggio che ha molta più esperienza, ma potrebbe non ricoprire più un ruolo di guida formale, un mentore inverso che è meno esperto (o celeste, più giovane) ma ha prospettive su strumenti e tecniche che possono essere di beneficio.

Il tuo mentore è anche il tuo sponsor?

Oltre ai tutor, a volte è fondamentale avere uno sponsor. Se stai cercando di trasferirti in un'organizzazione, se hai un mentore che ti dà ottimi consigli ma che non influenza la tua catena di comando a tuo favore, potresti essere svantaggi rispetto a qualcuno che ha un mentore che li sponsorizza come lead, proprietario del progetto o gestore di un progetto che guadagna un ruolo più influente o una promozione.

Mentori e reti interaziendali

Se sei già il direttore tecnico, potresti dover cercare il tuo mentore fuori dalla tua azienda. C'è forza nei numeri, quindi il networking con molte persone in modo superficiale può essere sorprendentemente prezioso. In genere ho pensato che per essere prezioso, il tuo impegno con altri professionisti doveva avere la profondità che deriva dalla collaborazione o da un'associazione estesa, frequente o lunga.

Quanto è grande il tuo stagno?

Dici che sei stato capo R & S e direttore tecnico, ma non ti senti di essere così esperto. La confessione fa bene all'anima, se non alla reputazione. Ho una confessione simile.

A un certo punto, ho considerato la mia carriera divisa in due parti. Nel primo, ho lavorato in molti team in cui ero l'unico sviluppatore di software o lo sviluppatore con il maggior numero di college. Il secondo è iniziato quando ho assunto una società Fortune 100 e ho lavorato con un livello di sviluppatori nettamente superiore. Il contrasto era essenzialmente come essere un grosso pesce in un piccolo stagno ad essere un piccolo pesce in un grande stagno.

Fare trading

Fare il cambiamento da piccole aziende indipendenti significava che avevo molto meno status all'interno dell'organizzazione. Ma c'era ancora un certo status. Gli sviluppatori erano ancora valutati sia con una retribuzione più elevata che con un livello abbastanza elevato di controllo sul lavoro. Potrei anche influenzare i membri del team (anche se non dall'alto). C'erano molti modelli di ruolo. Avere molta concorrenza mi ha costretto a rafforzare tecnicamente e a capire come ciò che ho dato valore all'organizzazione e ai miei team.

In precedenza ho ignorato il mio istinto di ruoli e mentori e pagato un prezzo. L'intuizione a volte è un sentimento che nasce da una sintesi di esperienza. Il mio voto sarebbe che se si sente male, probabilmente è sbagliato e merita un'attenta indagine. Sembra che tu sia preoccupato per la tua esperienza e la mancanza di un mentore, esplora le tue opzioni.

Scopriresti forse crescita, soddisfazione e altri vantaggi migrando verso un'azienda più grande e più aggressiva? Più grande non è sempre migliore, ma a volte ha il vantaggio di persone diverse che si traducono in diverse relazioni di lavoro e diverse esperienze di progetto. Molti dei luminari della Silicon Valley hanno avuto o sono stati mentori di persone che, di conseguenza, possono tracciare la propria strada verso il successo in modo più rapido ed efficiente. Uno dei miei compagni di scuola di specializzazione ha seguito la chiamata per unirsi a Linked In e sta vivendo quella cultura, giocando a un gioco di livello molto più alto.

Benefici del mentore

Mentre un mentore può essere come un professore, penso che a meno che tu non abbia uno che guarda frequentemente il tuo prodotto di lavoro o che serva come un maestro nella relazione maestro / apprendista, la formazione delle competenze e l'educazione professionale sono secondarie. Penso che le cose più importanti che i mentori condividono siano la consulenza sulla crescita, la modellizzazione dei ruoli delle buone decisioni e l'equilibrio tra i valori sul luogo di lavoro e un giudizio costante, oggettivo e solido in tempi di crisi.

Un consiglio che mio nonno mi ha dato molte volte è che le persone possono essere insegnate solo quando sono umili. Fai attenzione alle affermazioni come "I am way beyond books" e prova ad imparare da tutti. Per costruire una relazione con un mentore, assicurati di essere rispettoso e ricettivo e di mostrare apprezzamento. Sarà anche importante seguire i loro consigli perché, a meno che non siano estremamente pazienti, in genere investiranno il loro tempo in cui sarà trasformato in azione.


1

Mio caro amico

Lascia che ti dica che molto raramente si scopre che qualcuno sta insegnando a un'altra persona le sfumature della programmazione. La programmazione è qualcosa che deve essere appreso da solo. Se ti concentri su un argomento singolare e lo provi e ti unisci a vari forum che supportano quell'argomento, prima o poi diventerai padrone di quell'argomento. Ti preghiamo di ricordare che tu stesso sei la persona migliore per sapere quanto sei diventato bravo. Nel tipo di industria e mondo che siamo, dobbiamo diventare i nostri mentori, perché ciò che ci insegniamo rimane con noi per sempre.


Non per tutti. Io e molti altri abbiamo avuto il miglior apprendimento da un mentore. Ne avevo uno da 8 anni negli anni '90 e ne ho uno ora per le nuove tecnologie ed è fantastico. Inoltre, sto restituendo il favore insegnando agli altri ai Meetup, ecc. Coloro che non hanno ancora sperimentato un ottimo mentoring, stanno perdendo ciò che molti considerano essenziale. La stessa codifica di oggi viene sempre più effettuata tramite programmazione di coppia, recensioni e codice condiviso (attraverso sistemi DVCS come git), quindi è un buon modo per imparare ed è il modo in cui probabilmente ti eserciterai se sei appassionato del mestiere della programmazione
Michael Durrant,

Tuttavia, ciò che è anche vero è che è improbabile che tu lo trovi chiedendolo o cercandolo in posizioni nuove o potenziali. Di solito lo trovi cercando di ottenere la migliore sensazione possibile per le personalità in vista di un nuovo lavoro e quindi, se sei molto fortunato, trovi la persona giusta. Cerca posti di lavoro che sono meno ad alta pressione e preparati a fare indennità in altre aree.
Michael Durrant,

0

come posso migliorare quando non ci sono altre persone nell'azienda che mi insegnano o che leggano il loro codice?

Quando sto usando molto "strumenti specifici o un linguaggio / quadro di programmazione non comune", cerco alcuni gruppi di interesse speciali. Naturalmente, esiste una community online per la maggior parte delle tecnologie / framework attualmente in uso. Pertanto, utilizzo tutti i mezzi di comunicazione online per rimanere in contatto con gli ultimi post in:

  • Gruppi di LinkedIn
  • Tweeter: segui i professionisti
  • Forum - dove sono stati discussi i problemi
  • Blog: pagine wiki della community e annunci
  • Gruppi di utenti di interesse speciale - come gruppi Gmail o Yahoo

Uno dei migliori approcci per apprendere le buone pratiche di "linguaggi di programmazione non comuni" è trovare un blog per sviluppatori (preferibilmente 4-5) e iscriversi ad essi.


0

il mio problema è: non riesco a trovare un mentore ... Penso di essere al di là dei libri, ma molto al di sotto di un livello "master", quindi non so dove imparare di più.

In quale area? Vuoi migliorare le tue capacità di programmazione, le tue abilità di ingegneria del software, le tue capacità di gestione del progetto, qualcos'altro? Non hai specificato nella tua domanda.

Non sei oltre i libri se hai imparato a programmare / progettare progetti software / gestire un progetto da solo. Inoltre non stai oltre a tornare a scuola. Tornare a scuola per un diploma avanzato o almeno prendere alcune lezioni di livello universitario è un'opzione che non dovresti escludere. Quale area? Dipende da cosa vuoi migliorare, dove vedi la tua carriera. C'è molto da dire per ottenere un MBA, per esempio. Le persone esperte in senso tecnico e commerciale valgono molto. Un sacco. Alcuni dei miei ex colleghi hanno optato per un MBA. Non li vedo spesso perché quando non lavorano vanno in qualche paradiso tropicale. O un safari. O un weekend nelle Alpi. O una sciata estiva in Sud America.

Un'altra opzione è quella di entrare a far parte di una società tecnica in un campo in cui si dispone di competenze ma si desidera ancora migliorare. Ancora un altro è quello di farti inviare dal tuo datore di lavoro a qualche conferenza in cui puoi imparare e fare rete.

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.