Mi sento impreparato ad iniziare il mio primo lavoro fuori dal college ... come posso migliorare? [chiuso]

4

Mi sono appena laureato in Scienze informatiche / Ingegneria e ho avuto la fortuna di avere un lavoro nel settore farmaceutico come sviluppatore. Il mio titolo è System Developer I, che richiede le seguenti competenze:

0-3 anni di esperienza di sviluppo con C # .NET e SQL Server Esperienza nella scrittura di T-SQL e stored procedure XML Javascript

Ho saputo della compagnia in una fiera del lavoro e non ero consapevole del fatto che avrei avuto bisogno di quelle competenze per il lavoro fino a quando non avessero voluto organizzare un'intervista con me. L'intervista consisteva nel parlare del mio background, di un test di logica quasi troppo semplice e di un paio di domande SQL a cui chiunque con esperienza dovrebbe essere in grado di rispondere. Sono stato onesto con loro e ho indicato che non avevo assolutamente alcuna esperienza con SQL Server, .NET, XML o Javascript, ma mi hanno comunque offerto la posizione. Certo, l'ho accettato, ma ora sono estremamente preoccupato che le mie capacità non siano all'altezza.

Comprendo pienamente dalla lettura di Coding Horror, Stack Overflow e The Daily WTF che una laurea in Comp Sci non mi prepara in alcun modo a diventare uno sviluppatore di software; Mi rendo inoltre conto che sarò un noob monumentale alla presenza di persone che lo fanno da anni. Sento che l'unica cosa che compensa la mia mancanza di esperienza nello sviluppo e la conoscenza della programmazione sono le mie abilità sociali, la capacità innata di scrittura e l'umiltà (almeno rispetto ad alcuni miei co-laureati che si immaginavano essere il prossimo Steve Jobs. .. barf ) Non mi troverai mai la prima donna che si lamenta costantemente del sistema, della lingua, ecc ... Voglio solo fare il mio lavoro come mi è stato detto, lavoro 9 - 5 e vai a casa con il mio stipendio sentendomi competente. Se ciò richiede studio a casa, sono più che disposto perché amo la programmazione e l'informatica.

Finora, mi sono familiarizzato un po 'con l'utilizzo di SQL Server Management Studio, mi sono dedicato all'analisi di base di SQL e ho iniziato a imparare di più su C # e .NET usando Introducing Visual C # 2010 di Adam Freeman di Apress. Qualcuno può consigliare qualsiasi altra cosa che posso fare nel frattempo per:

A. Raffreddare * * e goderti il mio nuovo lavoro senza preoccuparti troppo di essere incasinato per incompetenza

B. Migliorare la mia comprensione dei modelli di progettazione e OOP

C. Ottieni informazioni dettagliate sulla scrittura di T-SQL nel modo più efficiente possibile

Grazie a tutti.

    
posta Evan Williams 29.05.2012 - 03:44
fonte

5 risposte

6

Non ti preoccupare ancora. Qualsiasi azienda che assume un nuovo laurea ha aspettative realistiche. Goditi il tempo adesso, perché non c'è molto da imparare tra ora e allora. Ogni ora di apprendimento sul lavoro varrà la pena dieci dopo l'inizio.

Ci sono un paio di cose che puoi fare quando inizi ...

  • Quando iniziano a darti lavoro, esegui tutto in meno tempo del necessario, indipendentemente da quanto tempo sei rimasto. Sì, è un lavoro straordinario non retribuito, ma non dovrai farlo per sempre. Vuoi solo stabilire una reputazione per essere affidabile. (Se stabilisci la reputazione opposta, potresti non essere mai in grado di eliminarlo)

  • Qualunque sia la tecnologia che ti viene data (e sembra che tu lo sappia) non lamentarti di ciò. Basta imparare molto meglio di ogni altro nuovo noleggio. Trova gli esperti della compagnia e impara da loro. In una società non software, sarai sorpreso di quanto velocemente ti possa differenziare. Non preoccuparti di "It's not Python" o "Preferisco uno stack Open Source" o di qualsiasi altro fino a più tardi nella tua carriera.

  • Dopo aver ottenuto le tue conoscenze tecniche, è molto importante imparare il dominio del business. Alla fine non sono nel business della produzione di software. Scopri come puoi aiutarli a fare soldi. Sta riducendo il tempo di sviluppo dei farmaci? Comprendere meglio i loro clienti? Capire le tendenze di acquisto? Ritagliare i documenti? Tutto ciò richiede una comprensione della tecnologia (come può aiutare l'IT?), Ma richiede anche di conoscere l'azienda quasi come le persone che stanno facendo il lavoro. Non preoccuparti che è difficile - un grado CS è molto difficile. Se conosci CS, puoi imparare Finanza, Marketing, Affari normativi, ecc.

  • Relativo a quanto sopra - impara i dati del business prima di preoccuparti di trucchi GUI fantasiosi. Le GUI vanno e vengono, il modello di dati che sottostà a una società non lo fa.

Non avrai mai più una curva di apprendimento come questa - goditi i tuoi primi anni di scuola!

    
risposta data 29.05.2012 - 04:13
fonte
3

Priorità 1: Trova un mentore . Fallo diventare qualcuno che rispetti, ti piace e ti piace. Aiuterà se hanno un po 'di capelli grigi - sarà più probabile che siano nella posizione di voler aiutare un principiante.

IMHO, la relazione mentore / mentee è il modo migliore in assoluto per imparare a diventare uno sviluppatore, un architetto o qualsiasi altro lavoro tecnico che desideri avere. Trova un guru, fai quello che fa e diventerai un guru un giorno. Libri e blog ti aiuteranno ad affinare la tua spada, ma ci vuole un mentore per darti la tua prima spada.

Ho sfidato un paio di anni a scuola prima di trovare il mio primo mentore. Ci sono voluti alcuni anni prima che avessimo il "Ma Maestro, le mie capacità sono diventate più potenti delle tue!" Alcuni anni dopo, quando ho fondato la mia compagnia, è venuto e ha lavorato per me.

    
risposta data 29.05.2012 - 06:14
fonte
1

Non preoccuparti troppo. I programmatori esperti leggono gli stessi blog che hai fatto e sanno che una laurea in scienze non ti prepara molto bene. Le loro aspettative saranno basse, quindi fintanto che sei onesto, fai una serie di domande e lavori per migliorare non hai nulla di cui preoccuparti.

    
risposta data 29.05.2012 - 03:53
fonte
1

I was honest with them and indicated that I had absolutely no experience with SQL Server, .NET, XML, or Javascript, but they offered me the position anyway.

In tal caso, non ti preoccupare. Sanno che non hai esperienza con queste cose, quindi probabilmente ti forniranno un po 'di allenamento o almeno ti daranno un po' di tempo per metterti alla prova.

I fully realize from reading lots of Coding Horror, Stack Overflow, and The Daily WTF that a degree in Comp Sci in no way prepares me to be a software developer...

Non lasciare che ti spaventi. Sembra che tu capisca che ci sono molte cose che non conosci, quindi sei davanti al gioco. È un problema molto più grande quando un incapace pensa sa cosa sta facendo - non vuole ascoltare o imparare perché pensa di sapere già tutto. Sembra che sarai felice e sollevato quando qualcuno si siede per mostrarti le corde.

    
risposta data 29.05.2012 - 08:51
fonte
0

Rendi i tuoi standard di lavoro chiari

Se le tue aspettative sul tempo diminuiscono, facendo gli straordinari, potrebbero prendere l'abitudine di dipendere dal tuo tempo non pagato.

Non fare gli straordinari a meno che tu non sia davvero in grado di rispettare la scadenza, gli straordinari significano qualcosa che non va nella gestione del tempo, o la scadenza non era realistica in primo luogo.

Comprendi la piattaforma da sola, il più possibile

impara e comprendi rapidamente la tecnologia che usano. essere autosufficiente su questa parte, poiché la maggior parte della documentazione .net esiste su msdn

se ci sono parti della piattaforma, che sono proprietarie e scritte da sviluppatori interni, vedi se riesci ad accedere alla documentazione.

Se non c'è alcuna documentazione (bad-sign), quindi prima fai domande specifiche agli sviluppatori (cose a cui possono rispondere rapidamente)

Una volta che hai una leggera comprensione dell'architettura della piattaforma, puoi impostare un tempo specifico per gli sviluppatori per spiegarti la piattaforma, in modo da ottenere una migliore comprensione.

Poi chiedi se puoi dedicare del tempo a scrivere un po 'della documentazione, se non hai tempo per scrivere la documentazione (un altro segno negativo), scrivilo comunque da solo.

Non abbassare mai i tuoi standard

Questo è più per le persone che si uniscono alle piccole società di consulenza o ai piccoli team di sviluppo.

dove gli sviluppatori senior hanno perso la passione per scrivere codice di qualità e robusto; e voglio solo far funzionare le cose nel più breve tempo possibile.

se ti trovi a fare un grande compromesso con la qualità del tuo codice, a causa di "questo è esattamente come lo facciamo"

Identifica chiaramente perché è sbagliato, come risolverlo e come influenzerà altre cose (scadenza, effetti a valle, ecc.)

se i tuoi anziani sanno che è sbagliato, ma lo fanno ancora, è tempo di andarsene.

Trova quello che ti piace e concentrati su di esso

Io stesso ho solo 2 anni di esperienza professionale, quando ho iniziato non sapevo veramente su cosa mi piacesse lavorare (architettura di back-end, regole e logica di business, o esperienza utente front-end, o un po ' di tutto)

Alla fine ho capito che mi è piaciuto molto pensare a come un utente interagisce e lavora con l'applicazione, e come potrei rendere le loro vite più facili quando uso l'applicazione.

Probabilmente la parte più piacevole del mio lavoro, è sapere che ho reso la vita dell'utente, solo un po 'più facile.

    
risposta data 29.05.2012 - 07:15
fonte

Leggi altre domande sui tag