Quali competenze di base deve essere impiegabile un nuovo laureato in Informatica? [duplicare]

8

Una laurea in informatica (come qualsiasi corso di laurea) non ti prepara ad essere produttivi immediatamente. E la mia sensazione è che i datori di lavoro siano sempre meno disposti a fornire quella formazione iniziale. (O almeno se possiedi quelle competenze di base * , hai una più ampia selezione di "primi lavori" tra cui scegliere).

Quali competenze dovrebbe concentrarsi su un senior per rendersi più occupabile? E come potresti ottenere quelle capacità?

* EDIT: I non parlo di esperienza / padronanza della tecnologia . Sto parlando di core skills come Source Control (non padronanza di un particolare SC, ma solo di poter usare one una comprensione dei concetti) e Unit Testing (avendo scritto Test unitari che utilizzano almeno alcuni lavori domestici), ecc.

    
posta Clay Nichols 14.09.2011 - 16:51
fonte

11 risposte

10

Non mi aspetto che un laureato di CS sappia qualcosa che si applica direttamente a un settore per una posizione entry level. Mi aspetto che siano intelligenti e possano imparare rapidamente.

Ciò detto qui sono alcune cose basilari che cerco:

Conoscono C e / o qualche superset OO di C (cioè C ++, obiettivo-C)? Conoscono la matematica di base di CS. Analisi dell'algoritmo, operazioni con matrici, spazi vettoriali, Big-O e così via? Sanno come funziona davvero un computer con i programmi w.r.t? (cioè compilatori, linker, istruzioni di montaggio)?

Controllo anche per vedere se possono usare sia la ricorsione che l'aritmetica del puntatore.

Tuttavia non sono un reclutatore aziendale, sono uno sviluppatore che vuole programmatori competenti. I reclutatori aziendali in genere vogliono un sacco di parole d'ordine sul tuo curriculum come, C #, Java, MySQL, SQLSERVER, o qualsiasi altra cosa sia l'ultima moda in questi giorni.

Per qualcuno che sa cosa stanno cercando, tutta quella roba è irrilevante. Se sei un buon programmatore, puoi diventare competente in una nuova lingua in un paio di settimane. Ciò che una buona azienda di software di solito vuole vedere è che sei intelligente, conosci i computer, ami programmare e lavora sodo. Il resto è facile.

    
risposta data 14.09.2011 - 17:02
fonte
7

In realtà, molti datori di lavoro assumono nuovi laureati. Alcuni motivi sono:

  • I neolaureati sono più economici in salario e per la fatturazione ai clienti
  • I neolaureati sono una lavagna pulita che può essere insegnata come vuole l'azienda
  • I neolaureati possono avere una formazione più pertinente con le nuove lingue

Quindi, non andare a bussare al tuo nuovo stato di laurea. Sei in una posizione abbastanza buona in realtà. Molte aziende in realtà hanno messaggi solo per i nuovi laureati.

Ora, una domanda migliore sarebbe "come sembro più attraente di altri nuovi laureati?" Dato che sei già nel tuo ultimo anno, posso solo sperare che i tuoi voti siano buoni. I buoni voti sono una buona indicazione che si raccolgono bene nuovi concetti, che è possibile rispettare le scadenze e che si è auto motivati a studiare. La maggior parte dei datori di lavoro chiederà di vedere la tua trascrizione per questo motivo.

Successivamente, alcune esperienze di programmazione fuori dalla scuola. Hai un progetto per animali domestici su cui stai lavorando nel tempo libero? Hai contribuito in qualche modo ai progetti open source? Altrimenti, pensa a fare qualcosa del genere. Se davvero non hai tempo, assicurati di conoscere il tuo progetto finale. Magari crea un blog in cui descrivi il tuo processo per il tuo progetto finale e fornisci esempi di codice (dopo che è stato inviato, ovviamente). Ai potenziali datori di lavoro piace vedere che puoi programmare, poiché non si aspettano di doverti insegnare come farlo.

Controllo del codice sorgente e tracciamento dei ticket. È praticamente un dato che userete queste due cose nel vostro nuovo lavoro. Assicurati di avere le basi di ciascuno.

Assicurati che il tuo curriculum sia il migliore possibile. Vedi se la tua scuola ha riprendere la revisione e la scrittura dei servizi. Hai bisogno di un buon curriculum per distinguerti da tutti gli altri.

Mostra la tua passione per la programmazione e la tua comprensione dei concetti di base nell'intervista e dovresti stare bene.

Buona fortuna.

    
risposta data 14.09.2011 - 17:12
fonte
5

L'esperienza pratica aiuta sempre, anche se è qualcosa di semplice come contribuire a un progetto open source solo per ottenere qualcosa sulla C.V. (e ovviamente per aiutare l'OSS). Ottieni del codice di cui sei orgoglioso su qualcosa come github in modo che possano vedere il tuo lavoro, in questo modo sanno se ti si adatta in termini di stile del codice.

    
risposta data 14.09.2011 - 17:00
fonte
2

Il modo migliore per ottenere un lavoro è fare bene nell'intervista. Ho scoperto che le mie capacità di CS erano di scarsa utilità nelle interviste. La maggior parte delle domande sono semplici querere, facilmente reperibili tramite Google "% il mio linguaggio di programmazione% domande dell'intervista".

Dovresti dedicare tempo alla ricerca per vedere che tipo di posizioni sono disponibili nella tua zona. Quindi decidi cosa ti interessa. Se è C #, allora compra un libro C # per principianti e leggilo copertinalmente. Fai degli esempi, scrivi molto codice.

Continua a scrivere tonnellate di codice. Offri il tuo codice e i tuoi programmi come portfolio nelle interviste.

    
risposta data 14.09.2011 - 17:01
fonte
2

Le "abilità" più importanti sono la capacità di completare compiti e la capacità di apprendere. Tutto il resto va a posto dopo quei due. Entrambi sono dimostrati attraverso progetti precedenti, quindi trova un progetto su cui lavorare (ad esempio un progetto open-source più piccolo in un'area che ti interessa).

    
risposta data 14.09.2011 - 17:07
fonte
1

Direi che ci sono un paio di grandi secchi che sarebbe il mio suggerimento:

Abilità di networking - Chi ti conosce? Chissà che tipo di lavoro vuoi fare? Questa è un'importante abilità come talvolta può accadere tramite amici o familiari che si sente parlare di un lavoro e farsi assumere in un'azienda. Un paio di altri termini qui sarebbero abilità comunicative o relazionali in quanto si tratta di usare il linguaggio e fare le cose con mezzi indiretti.

Capacità di problem solving - Quanto bene puoi prendere una domanda o un problema che qualcuno ha e risolverlo? Quanto bene puoi capire qual è la causa principale e davvero risolverlo? Quanto bene riesci a capirlo senza far incazzare la persona che lo vuole risolto al più presto?

    
risposta data 14.09.2011 - 17:43
fonte
1

Potresti prendere in considerazione la possibilità di cambiare la tua mentalità da:

"A quali abilità dovrebbe concentrarsi un anziano per rendersi più occupabile?"

a

"A quali abilità dovrebbe concentrarsi un anziano per assicurarsi che lui / lei ottenga il lavoro lui / lei WANTS ?"

Ho trascorso l'ultima settimana intervistando i candidati e una cosa che si è distinta durante il periodo è stata il fatto che PICCOLO di loro sapeva cosa volevano. La maggior parte voleva solo ottenere un lavoro di programmazione al più presto e qualsiasi tipo di lavoro di programmazione avrebbe fatto .........

Nessuno di loro si è distinto, tranne che per pochissimi (1,5 su 12) e non per caso, erano quelli che sapevano ESATTAMENTE quello che volevano fare.

È davvero difficile non rimanere impressionati da qualcuno che sa cosa vuole fare (si spera sia in linea con ciò che sta facendo la tua azienda) perché il curriculum riflette quella chiarezza.

Ha chiarito che lui:

  1. Volevo solo sviluppare Web. Nessuna forma di vinci.
  2. Voleva usare lo "stack" di Microsoft. C #, alcuni JQuery, Ajax e un po 'di Javascript / HTML / CSS. No PHP, No Java, ecc. Nel suo curriculum.
  3. Aveva fatto 3 progetti, tutti con la stessa pila di strumenti / lingue.

Abbiamo delle app winform? Certo che l'abbiamo fatto Abbiamo materiale PHP? Roba Java? Certo.

MA il nostro obiettivo principale era lo stack Microsoft (requisiti del cliente ma questa è un'altra storia per un altro giorno ...) e sapevamo che si sarebbe adattato rapidamente.

L'ultima cosa che volevo vedere era un altro candidato con 5 lingue diverse / diverse che avrebbe / voluto / voluto fare TUTTO e QUALCHE COSA. Giuro che niente ci spaventa di più di quelli che poi non sono altro che roulette con palle umane che rimbalzano.

Alla fine della giornata, voglio assumere qualcuno che realmente DESIDERA fare le cose che farà, in un settore in cui il turnover è attraverso il tetto, la loro felicità si traduce in una relazione più duratura.

Certo, non sarai molto flessibile. Inoltre non farai appello alle compagnie che provengono dall'altro campo.

Ma se non è qualcosa che vuoi fare comunque, qual è la perdita? : P

Cerca di ottenere il lavoro che desideri e focalizza la tua attenzione su quelle aree specifiche. Sarà più piacevole per te e per la compagnia con cui ti trovi.

    
risposta data 14.09.2011 - 17:46
fonte
1

What skills should a senior focus on to make him/her self more employable? And how might you get those skills?

Le capacità tecniche non sono le uniche di cui avrai bisogno per avere successo nel mondo degli affari. Le abilità sociali / commerciali sono molto importanti per sopravvivere. In un'altra discussione, ho postato un elenco di libri che penso che le persone nuove alla vita aziendale trarrebbero beneficio dalla lettura.

Nel lungo periodo, mantenere le tue capacità tecniche sarà fondamentale per una lunga carriera nello sviluppo. I progetti di hobby a casa, la lettura di blog, la lettura di libri tecnici sono tutti utili. Scelgo spesso alcuni esami di certificazione per mettere una struttura su alcuni studi.

    
risposta data 14.09.2011 - 18:18
fonte
1

Un modo per distinguersi dagli altri neolaureati, oltre al GPA e poter dimostrare buone capacità di risoluzione dei problemi generali durante un'intervista, è una gamma presentabile di esperienza appropriata (anche se non come professionista dipendente). Esistono diverse opzioni, non limitate a:

  • Noleggia una VM nel cloud, installa lo stack completo del server, scrivi e distribuisci alcune applicazioni, incollalo sulla tua pagina web e mantienilo in esecuzione.

  • Pianificazione, progettazione, codice, debug / test di un'app per iOS o Android attraente e funzionale, scaricarlo nell'app store, pubblicizzarlo e fornire assistenza ai clienti.

  • Costruisci, programma e gareggia in un concorso di robotica.

  • Alcune aggiunte ben scritte a un progetto OSS che è popolare su Github, et.al.

  • Etc.

es. Prendi l'iniziativa e fai qualcosa di diverso dai compiti scolastici che un intervistatore nella tua categoria di attività di business riconoscerà come più vicino al lavoro reale rispetto ai compiti a casa.

    
risposta data 14.09.2011 - 19:50
fonte
0

Programmazione. Conoscenza di una tecnologia specifica e conoscerla bene. Se lavori con .NET conosci tutte le parti del framework, come funziona e cosa può offrire.

Il Test Driven Development sembra essere una grande cosa con la creazione di codice pulito di alta qualità, in modo tale da farti superare quelli che non si sviluppano in questo modo.

Esempi di lavoro che mostrano i pilastri fondamentali di OOP e alcuni modelli di progettazione, assicurati di non usare schemi così pesanti da rendere la codifica ancora peggiore, non sono di solito una guida.

Molti datori di lavoro sono comunque preoccupati della teoria abotu e se sapete come programmare bene in una lingua, prendere una seconda o una quinta può richiedere molto tempo a un laureato in CS con competenze comprovate su qualsiasi strada.

    
risposta data 14.09.2011 - 17:01
fonte
-3

Quando ho intervistato le persone ho sempre considerato quali competenze hanno appreso al di fuori dei loro studi e se le loro attività hobbies / after-hour includevano cose come la programmazione o il web design. Non sono nemmeno interessato a ciò che specifica programmazione hanno fatto, ma piuttosto che mostrano l'iniziativa di imparare cose al di fuori di normali studi / lavoro. Un'altra cosa buona da mostrare è il coinvolgimento nella comunità open source, ad esempio la partecipazione a Sprint Open Source.

Guarda le abilità che saranno utili in qualsiasi tipo di ambiente - come essere in grado di usare: Bug tracker (bugzilla), controllo della versione (Subversion). Anche a qualcuno manca la capacità di scrivere codice che gestisca gli errori attesi e di fermare il programma per finire con un'eccezione non gestita, pratica questo.

Inoltre, a seconda del business in cui vuoi andare, ci sono alcuni argomenti aggiuntivi che potrebbero essere utili, ad esempio le materie di gestione e finanza sono buone scelte.

    
risposta data 29.05.2013 - 11:53
fonte

Leggi altre domande sui tag