Cosa cercano i datori di lavoro nei candidati autodidatti? [chiuso]


23

Sono un programmatore autodidatta in procinto di entrare nel mercato del lavoro. Quello che voglio sapere è qual è il modo migliore per mostrare la mia esperienza ai datori di lavoro?

Cosa vogliono sapere i datori di lavoro sulla mia esperienza di programmazione? I datori di lavoro vogliono vedere il codice che ho scritto o potrebbero vedere il software in azione? Oppure si preoccupano solo di quanto viene utilizzato il mio software / di quanto ha generato entrate? Devo scrivere del mio stile di progettazione e programmazione?

Il mio background: Mi sono recentemente laureato in un'università dove ho studiato lingue straniere, ed è stato durante questo periodo che ho scoperto che la programmazione è la cosa che voglio davvero fare. Attualmente sono un programmatore di garage, sviluppando un software per un cliente per uso commerciale pur continuando ad auto-insegnarmi, ma il mio obiettivo è iniziare un lavoro e una carriera "adeguati". Come ulteriore svolta, vivo in Finlandia al momento, ma sto cercando lavoro in Cina o in Giappone (ho imparato entrambe le lingue mentre studiavo all'estero).


Si noti che la maggior parte della programmazione in questi giorni è fatta in team (semplicemente per fare) e riuscire a scrivere codice nella forma prevista dagli altri è un'abilità importante. Potresti voler seguire un corso di programmazione o due presso la tua ex università, se possibile, semplicemente per apprendere le competenze di base.

2
"impara le abilità di base" - questo non significava che non conoscevi alcuna abilità di base, ma che c'è molto da imparare e non è certo che le hai imparate tutte da solo.

4
Dai un'occhiata a Ciò che ogni maggiore CS dovrebbe sapere . Sottolinea l'importanza di disporre di un ampio portfolio di esperienze per mostrare ai dipendenti, competenze Linux / UNIX, vari paradigmi di programmazione e molto altro. Vedi anche Matrix delle competenze del programmatore e corsi gratuiti di Informatica di Coursera .
Anthony,

@ AnoPäivinen A proposito, non sottovalutare la quantità di persone autodidatta nel biz e non scoraggiarti da quelle che potrebbero sembrare enormi lacune che avrai all'inizio. Ho lavorato con alcune persone straordinarie autodidatta.
MrFox,

Risposte:


8

Direi che i datori di lavoro cercano queste cose in tutti i candidati programmatori (questo proviene dalla mia esperienza come capo sviluppatore che sta selezionando i candidati):

  • Capacità di essere flessibile e apprendere rapidamente le nuove tecnologie (questo è particolarmente importante per i programmatori autodidatti)

  • Capacità di comunicare problemi

  • Capacità di risolvere problemi algoritmici e logistici (importante per i programmatori di analisti)

  • Capacità di conformarsi agli standard e alle regole delle imprese locali, vale a dire. non essere troppo bloccato nei tuoi modi, assicurati di seguire le convenzioni di denominazione dell'azienda per cui lavori.

  • Lavoro onesto e duro.

In molti casi le aziende più grandi ti chiederanno di fare un esercizio per i candidati. Questi esercizi variano in difficoltà ma un esempio potrebbe essere quello di codificare un modulo riutilizzabile che converte un importo in dollari in una stringa di testo leggibile in inglese che verrebbe scritta su un assegno per tale importo, ad es. "$ 999,34" a "Novecentonovantanove dollari e trentaquattro centesimi".

È importante notare che non sarà solo il codice che vedranno in questi esercizi, ma anche la documentazione che ne deriva, ad es. doco che spiega i problemi, i presupposti e l'algoritmo utilizzato. Esamineranno anche le convenzioni di denominazione (verificando principalmente la coerenza) e verificando commenti chiari sul codice.


9

Un indizio

Seriamente, cerco solo alcune cose in un candidato:

  1. capacità di base di programmazione
  2. interesse per la programmazione
  3. comprensione commisurata all'educazione e all'esperienza
  4. Capacità di apprendimento
  5. gentilezza

Esempi: diplomato di scuola superiore autodidatta che ha risolto 50 problemi di Eulero: facile assunzione. MSCS con GPA 4.0 che non riesce a spiegare la differenza tra TreeMap e HashMap: non assumere.


Puoi spiegare cosa intendi con gentilezza? È una proprietà del non essere un coglione?
Ano Päivinen,

1
@AnoPäivinen: copre una serie di comportamenti relativi al trattamento dei colleghi che vengono presi in considerazione per gli altri. "Jerk" è definito dall'incapacità di considerare gli altri.
Kevin Cline,

Stavo per dire che dovrei venire a lavorare per te, in base alle tue esigenze, ma non ho idea di cosa sia una mappa albero / hash. Dopo tre anni di vita e respirazione di software / sviluppo web, vengo ancora sbattuto alle interviste per cose di cui non ho mai sentito parlare. Mi fa sentire come se non avessi imparato nulla. A volte ti giuro che inventate queste cose. O quello, o davvero non imparerò nulla fino a quando non sarò assunto.
Josh Campbell,

@Josh: ottieni una copia di "Introduzione agli algoritmi". Qualsiasi edizione
Kevin Cline,

1
@papercuts: se stai facendo domanda per uno stage, penso che sarebbe ragionevole menzionare che hai risolto n problemi di Eulero, dove n> 20. Il tuo obiettivo con un curriculum è quello di ricevere una chiamata. Le informazioni che mostrano una certa capacità di programmare effettivamente non fanno male.
Kevin Cline,

3

Altri hanno già risposto alla tua domanda diretta sui candidati autodidatta. Tuttavia, c'è un'altra considerazione che potrebbe essere ancora più importante dell'essere autodidatta o meno. Sto parlando delle culture dei paesi in cui hai intenzione di lavorare e vivere.

Prima di tutto, non scrivere mai "lavoro in Cina o in Giappone" . Sembra "Finlandia o Australia" (senza offesa). Sono totalmente diversi e devi scegliere.

Inoltre, l'occupazione in un altro paese di solito comporta tasse più elevate per un'azienda, varie limitazioni (ad esempio assumere uno straniero, assumere N nativi) e così via. Quindi, per essere assunto in Cina, devi essere davvero bravo in quello che stai facendo .

In effetti, hai due migliori opzioni:

  • Laurea in un paese del tuo futuro. Questo ti darà (a) conoscenza delle norme nazionali; (b) contatti commerciali; (c) diploma formale (che può essere più importante di quanto pensi). Inoltre, allo stesso modo ovunque, le grandi aziende contattano le università per trovare studenti di spicco e hai buone possibilità di essere quello.
  • Candidati a una multinazionale che ha filiali in Cina. Puoi parlare con le risorse umane e accettare di lavorare su una posizione locale per un certo tempo e poi spostarti all'interno della stessa azienda (meno scartoffie). Avere conoscenze linguistiche e culturali, sarebbe più facile per te. E, al momento del trasloco, avrai già un'esperienza IT pratica in azienda.

Grazie per gli approfondimenti! Potrebbe sembrare strano che sto decidendo tra Cina (Shanghai) e Giappone, sono molto diversi ma mi piacciono davvero entrambi. Ma non riesco ancora a decidere quale sia il migliore, quindi sto mirando ad entrambi e vedo cosa succede. Mi chiedo se abbia senso!
Ano Päivinen,

Ti possono piacere entrambi. Assicurati solo che le tue applicazioni siano specifiche per i mercati del lavoro cinesi e giapponesi. Forse, anche diverse lettere di accompagnamento sarebbero utili, come in questa risposta .
bytebuster

2

Cosa vogliono sapere i datori di lavoro sulla mia esperienza di programmazione?

Principalmente, ne hai alcuni. Mettiti nei loro panni: se assumessi qualcuno, sceglieresti il ​​ragazzo che potrebbe non sapere cosa fare con un compilatore, o il ragazzo che è stato un paio di volte in giro per il blocco, ha imparato a risolvere i problemi e può ottenere lavoro utile fatto senza molte mani?

I datori di lavoro vogliono vedere il codice che ho scritto o potrebbero vedere il software in azione?

Sì. Avere del codice da mostrare può essere utile. Avere un prodotto funzionante da mostrare ed essere pronti a rispondere a domande su come funziona, perché lo hai fatto in questo modo, ecc. Può anche essere utile. Datori di lavoro diversi apprezzeranno queste cose in modo diverso, ma è sempre meglio avere qualcosa che non avere nulla.

Come ulteriore svolta, vivo in Finlandia al momento, ma sto cercando lavoro in Cina o in Giappone (ho imparato entrambe le lingue mentre studiavo all'estero).

Ci sono molte persone in Cina e in Giappone che parlano rispettivamente cinese e giapponese. Probabilmente non così tanti che parlano fluentemente inglese e finlandese. Usa questa forza a tuo vantaggio: cerca le aziende che necessitano di tali competenze linguistiche.


3
"Mettiti nei loro panni: se assumessi qualcuno, sceglieresti il ​​ragazzo che potrebbe non sapere cosa fare con un compilatore" - Per molte aziende, dipende interamente da quanto costano poco.
pdr,

2

Direi che le competenze più importanti che potrebbero mancare ai programmatori autodidatti senza sapere che sono quelle relative all'ingegneria del software e all'architettura del software.

Assicurati di sapere di più della semplice scrittura di codice, assicurati di sapere cos'è la manutenibilità e come raggiungerlo; cos'è SOLID, perché è considerato buono e necessario; modelli di progettazione, ecc.

Inoltre, prova a correggere eventuali parti errate del processo. Ad esempio: test automatizzati (qualcosa che tutti dovrebbero fare!), Tracciamento dei bug, controllo di revisione della fonte (anche obbligatorio). Questo elenco non intende includere tutto, è solo un esempio.


2
Questo è ciò che normalmente trovo mancante nei laureati CS! Capacità di recitare la O (n) per contenitori diversi ma senza aver mai usato un debugger.
Martin Beckett,

2

Cosa vogliono sapere i datori di lavoro sulla mia esperienza di programmazione? I datori di lavoro vogliono vedere il codice che ho scritto o potrebbero vedere il software in azione?

Sì, queste sono le migliori opzioni. Le qualifiche non sono un indicatore particolarmente valido per la capacità di scrivere codice. Lo stesso vale per i precedenti datori di lavoro: molte persone possono eseguire lavori in cui non sono adatte. Voglio vedere che tipo di codice scrivi e una cronologia delle tracce della capacità di creare materiale che è stato messo in produzione.

Oppure si preoccupano solo di quanto viene utilizzato il mio software / di quanto ha generato entrate?

È al di fuori della tua area di responsabilità, non mi interessa quella roba a meno che tu non stia andando per un ruolo di project manager o superiore.

Devo scrivere del mio stile di progettazione e programmazione?

Non troppo, ma forse i punti elenco che mostrano le aree di interesse con i tuoi esempi di codice sarebbero utili.


OK, mi preoccuperò meno di come il mio software finirà come per mano del cliente e mi concentrerò sulla sua scrittura corretta.
Ano Päivinen,

2

Abilità di autoapprendimento

Sì, l'autoapprendimento è la tua abilità competitiva all'avanguardia che dovresti enfatizzare e presentare con orgoglio. Inoltre, dovresti mostrare la tua passione per la programmazione e il desiderio di auto-miglioramento.

Cosa vogliono sapere i datori di lavoro sulla mia esperienza di programmazione? I datori di lavoro vogliono vedere il codice che ho scritto o potrebbero vedere il software in azione?

Vogliono vedere i tuoi risultati e le tue capacità di ragionamento analitico. Vogliono vedere: cosa hai fatto a beneficio del progetto, quale ruolo hai svolto nello svolgimento di un progetto se hai lavorato in una squadra. Come risolvere i problemi e superare i problemi tecnici. Come hai lavorato con le università, come hai gestito la pressione del lavoro.

Alcuni altri punti che potrebbero essere molto importanti per i datori di lavoro:

  1. Buona attitudine
  2. Passione per la programmazione
  3. Esperienza informatica - per capire di capire le basi di come funzionano computer e software
  4. Etica del lavoro e competenze trasversali
  5. Capacità di apprendimento e auto-miglioramento
  6. Storia dell'educazione
  7. Esperienza lavorativa precedente
  8. Mancanza di nozioni preconcette
  9. Capacità di porre domande - Sì, fai domande piuttosto che fare ipotesi.

1

Oltre alle altre risposte, elenca gli strumenti che hai imparato mentre insegnavi a te stesso.

Ho addestrato laureati di scuole di grandi nomi con titoli di studio di grandi nomi che hanno insistito per scrivere il codice Java nel blocco note di Windows e utilizzare il compilatore della riga di comando ("è meglio così" - per un programma di una classe). La maggior parte dei luoghi di lavoro utilizza IDE e altri strumenti di programmazione. E insegnare loro come usare Eclipse era più facile che provare a insegnare loro SVN.

Elencando uno o più ambienti IDE o (ancora più importante) uno o più strumenti di repository di codice mostrerai che sei pronto a lavorare con un team.

Risposta B: se riesci ad arrivarci prova la fiera CEBIT ad Hannover in Germania. Un tempo invitavamo le persone a visitare il nostro stand chiedendo lavoro nel nostro paese. La probabilità è bassa che potresti incontrare la persona giusta che può aiutarti. Oppure chiedi loro se hanno bisogno di una persona locale / europea per aiutarli.


Un buon punto per imparare diversi IDE. Finora il mio atteggiamento è stato "whadev, li imparerò quando necessario".
Ano Päivinen,

1
Vedo il tuo punto sugli IDE, ma porterei qualcuno con la sola esperienza Java da riga di comando su uno sviluppatore BlueJ ogni giorno!
Michael K,

0

Una volta che puoi dimostrare di aver scritto un codice di qualità, come e dove hai imparato a programmare è meno importante. Hai creato l'intera applicazione, quindi dovresti essere in grado di spiegare il design, i problemi che hai dovuto affrontare e perché hai scelto quelle soluzioni.

Se la tua domanda non è nota, dovrai fornire ulteriori spiegazioni nel tuo CV e nelle lettere di presentazione. Avere un gran numero di utenti è un vantaggio perché dimostra che puoi gestire la scala, le entrate generate saranno difficili da aggiungere a qualsiasi beneficio. Qualcuno potrebbe assumere un programmatore per creare un appliation usando oroscopi per aiutare i chirurghi del cervello. Non sono sicuro che riterrei il programmatore responsabile di questo prodotto inutile. Forse una startup preferirebbe uno sviluppatore con un certo senso del prodotto, ma non possono tenerlo contro di te perché devi pagare le tue bollette.


0

Quello che voglio sapere è qual è il modo migliore per mostrare la mia esperienza ai datori di lavoro?

Se i gradi non sono disponibili, le certificazioni note sono un vantaggio. Alcune certificazioni non richiedono un corso, puoi solo sostenere l'esame.

Cosa vogliono sapere i datori di lavoro sulla mia esperienza di programmazione?

La tua esperienza di programmazione consiste in progetti. Nel tuo CV scrivi le tue abilità. Durante il colloquio ti verrà chiesto dei progetti a cui hai lavorato. Quindi parlerai di quello che hai fatto, di quali problemi hai riscontrato, delle soluzioni che hai trovato, ecc.

I datori di lavoro vogliono vedere il codice che ho scritto o potrebbero vedere il software in azione?

Può essere. Personalmente non ho sentito parlare di datori di lavoro che chiedono di vedere il codice (oltre al codice che scrivi durante il colloquio tecnico, come test). Se sei un web designer o un designer di interfacce utente, nella maggior parte dei casi vorranno vedere alcuni siti Web che hai creato o progettato.

Oppure si preoccupano solo di quanto viene utilizzato il mio software / di quanto ha generato entrate? Devo scrivere del mio stile di progettazione e programmazione?

La maggior parte dei datori di lavoro saranno interessati ai linguaggi di programmazione che codifichi fluentemente, alle conoscenze che possiedi e alle competenze acquisite. Quanto il software viene utilizzato e le entrate generate sono cose di marketing, non cose di programmazione. La maggior parte delle aziende ha il proprio stile di progettazione e programmazione. Si aspetterebbero che un dipendente abbia familiarità con tecniche come Agile, Scrum, Extreme a seconda di ciò che usano.

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.