Qual è il posto migliore per un programmatore delle scuole superiori per far notare il suo lavoro? [chiuso]


52

Sono uno studente di 16 anni delle superiori, con una passione per la programmazione informatica. Sono in terza media e lo sto imparando come parte del programma scolastico da circa 8 mesi. Sono andato oltre ciò che viene insegnato a scuola e ho vinto alcune (ragionevolmente buone) applicazioni. Il linguaggio in cui programma è C ++, sulla piattaforma Windows. Alla fine mi piacerebbe specializzarmi in CS in un buon college e poi lavorare come programmatore.

Le domande specifiche che ho sono:

  • Qual è un buon posto per farmi notare il mio lavoro?
  • Ci sono riviste o pubblicazioni specifiche per i giovani programmatori?
  • Se non le pubblicazioni, allora ci sono dei buoni blog o è meglio iniziare il tuo?
  • C'è qualcos'altro che mi aiuterebbe a farmi notare come programmatore?

Ho cercato di essere il più obiettivo possibile.

Se tutto ciò fosse tl; dr: qual è il modo migliore per farsi notare come giovane programmatore?

Modifica: non sto cercando di essere assunto direttamente dal liceo L'obiettivo non è quello di impressionare la comunità come programmatore professionista. Questo è intento verso le applicazioni universitarie in cui il tuo lavoro visto e criticato da altre persone migliorerà la tua applicazione. Non sto cercando di guadagnare soldi da quello che ho scritto (finora).


12
Cosa ti fa pensare che gli altri vogliano farsi notare da un cervo di 16 anni ;-)?
Doc Brown,

27
Stack Overflow è un ottimo posto! Dai alcune risposte utili e utili (e fai alcune domande utili e utili!), Quindi indirizza i tuoi potenziali datori di lavoro al tuo profilo.
Cody Gray,

24
@viraj Mi congratulo con il tuo entusiasmo e le buone risposte qui. Il mio suggerimento, tuttavia, è di non lasciare che consumi la tua prima infanzia. Prendi altri hobby e interessi, socializza e divertiti, puoi essere un bambino solo una volta nella vita, dove puoi rovinare tutto e rimbalzare incolume. Una volta cresciuto e avere una carriera, probabilmente lo avrai per il resto della tua vita . È un impegno piuttosto serio da fare a una tale età. Non vuoi diventare come tanti in cui sono ossessionati dalle carriere in giovane età e poi odiano le loro vite in seguito e hanno avuto un'orribile crisi di mezza età.
maple_shaft

4
@FrustratedWithFormsDesigner Se vuoi entrare in una Top School senza Top Money, è più difficile entrarci.
maple_shaft

10
@maple_shaft Il tuo punto è buono, ma se è davvero appassionato di programmazione, non vuoi distoglierlo da esso - immagina di dire al giovane Bill Gates / Mark Zuckerberg "non spendere troppo della tua giovinezza in programmazione, tu avere il resto della tua vita ". Il consiglio dovrebbe essere focalizzato sui tuoi interessi e passioni, non sulla tua carriera .
Kirk Broadhurst,

Risposte:


61

Vorrei darti un avvertimento e alcuni suggerimenti.

Avvertenze:

  • Non sopravvalutare le tue conoscenze: in questo momento posso presumere che tu ne sappia abbastanza per scrivere una semplice applicazione e più di quanto effettivamente insegnato in classe. Ma ciò non ti rende un "programmatore professionista"; può farti diventare un "libero professionista" al massimo.

  • Non sottovalutare il valore di ciò che viene insegnato a scuola. Anche se qualcosa può sembrare ovvio per te, studia anche tu: vedrai "nuovi aspetti" (sarò più chiaro più avanti) mentre procederai.

suggerimenti:

  • Le applicazioni professionali hanno un ciclo di vita tipico di 3-5 anni e richiedono migliaia (fino a milioni) di ore lavorative. Non possono essere distribuiti da uno sviluppatore da soli. I programmatori professionisti devono lavorare con gli altri. Non si tratta solo di una buona conoscenza degli strumenti (come lingue, IDE ecc.) Ma anche di tecniche, metodi e modi di dire.

  • Mentre gli strumenti possono essere insegnati da campioni formali ed esercitazioni, tecniche e modi di dire possono essere solo "descritti". Per "impararli" devi sperimentare e condividere l'esperienza con gli altri. Sono continuamente inventati e migliorati.

  • Le aziende, quando assumono da scuola, controllano la tua comprensione degli strumenti e le tue abilità con le tecniche di base, ma - cosa più importante - mettono alla prova la tua capacità di apprendere rapidamente nuove cose e "catturare il lavoro" quando è necessario.

  • Quando assumono persone esperte, osservano quante cose hanno fatto e quale esperienza hanno avuto da quelle cose.

Morale:

  • Se vuoi essere più "valutato" impara a lavorare con gli altri, partecipando ai problemi degli altri (come su StackOverflow ) o progetti aperti (come su Sourceforge )

  • Inoltre, non essere troppo veloce per chiedere soldi; dividere la "produzione di codice" in "qualcosa da condividere" e "qualcosa da vendere". Quello che puoi condividere può essere utilizzato da altri ma può anche attrarre la partecipazione di altri per espandere il progetto iniziale. Quello che puoi vendere è ciò che rende la tua app "unica" rispetto ad altri progetti simili, portandola a diventare un vero prodotto commerciale.
    Per condividere il codice con altri, è possibile fare riferimento a codeproject del sito o sourceforge . La loro valutazione dà anche un'idea di quanto ciò che hai fatto sia stato interessante per le altre persone.


30
+1 per menzionare la sopravvalutazione delle tue conoscenze. Quando ero al liceo stavo scrivendo alcune cose interessanti e pensavo di essere un programmatore decente. Poi ho iniziato a frequentare il college e mi sono reso conto che non ero nemmeno vicino al livello professionale.
Mike L.,

1
+1 anche se OTOH, conosco persone (non personalmente) che hanno scritto cose al liceo che ancora non riesco a capire
BlueRaja - Danny Pflughoeft,

+1, quando stavo andando all'università per la prima volta, ho pensato che fosse più per ottenere una certificazione delle mie abilità già acquisite. Mentre ero a miglia di distanza dagli altri studenti in alcune aree, non ero ancora vicino al livello professionale.
user606723,

4
+1 per sopravvalutare la tua conoscenza. Non posso dirti quanti curriculum ricevo una settimana che affermano che sono "esperti" in ogni abilità elencata. Ciò dimostra solo la tua ingenuità.
Jesse Bunch,

6
Cosa divertente, conosco alcune persone che lavorano professionalmente scrivendo codice con una laurea in informatica di 3-5 anni che non sono in grado di programmare se stessi da una scatola di carta ... Sto solo dicendo che qualcuno con motivazione a imparare effettivamente le buone pratiche a casa è spesso miglia prima di molte persone che lavorano professionalmente.
Max

35

Hai pensato di creare progetti open source per le applicazioni che hai scritto e ospitarli online? SourceForge.net o GitHub.com sono buoni host di progetti open source. Ciò contribuirà a ottenere visibilità per le tue applicazioni.


11
Il feedback su questi siti può anche essere diretto, brutale o forse i tuoi progetti verranno ignorati. L'importante è ricevere il feedback per quello che è e apportare miglioramenti. Assicurati di pensare alla comunità come qualcosa che è lì per aiutarti e lo farà.
jefflunt,

26

Prima di tutto, chiariamo: la maggior parte dei 16 programmatori YO non impressionerà davvero la comunità.

C'è una ragione a mio avviso. Essere un buon programmatore non si basa solo sulle capacità di programmazione. Come si spera vedrai durante il tuo CS maggiore, la programmazione è solo un sottoinsieme dell'informatica e la maggior parte delle persone che vincono premi (almeno premi accademici) lo hanno fatto perché hanno dimostrato qualcosa di nuovo (un nuovo teorema per esempio), o scoperto un nuovo modo di realizzare una sorta di compito (modelli di progettazione). Per fare ciò, è necessario (almeno):

  • Ottieni una buona conoscenza della matematica, è necessario comprendere l'algoritmo e quindi padroneggiare le diverse strutture di dati.
  • Comprendi che un buon programmatore comprende prima i paradigmi (orientati agli oggetti, funzionali, ...) prima di essere interessato da un linguaggio "concreto".
  • Comprendi che una buona programmazione spesso viene anche per la modellazione del codice e impara i modelli di progettazione esistenti.

Se ritieni di aver già imparato tutto ciò, allora sì, probabilmente impressionerai la comunità.

Puoi sempre provare a contribuire a un progetto open source, ma potresti anche essere abbastanza sorpreso di quanto devi recuperare prima di poter effettivamente contribuire.

Infine, dai un'occhiata a StackOverflow e vedi quanto puoi rispondere lì nella tua lingua preferita ... avrai un buon proxy del tuo livello.


2
+1: non c'è sostituto per l'esperienza. Quando sto assumendo di solito voglio vedere che qualcuno ha avuto molte iterazioni di errore di prova sotto la cintura.
JohnFx,

3
+1: Così tanti programmatori con cui lavoro sembrano pensare che la matematica non fosse importante per loro. E poi si volteranno e discuteranno dell'efficienza dell'algoritmo nello stesso respiro.
Kojiro,

+1: la matematica è uno degli elementi più basilari dell'informatica. L'informatica come campo non potrebbe esistere senza la matematica. Non è possibile un gruppo di byte a un altro gruppo di byte senza matematica. Inoltre, sarà difficile farlo in questo campo se non capisci come funziona un computer, se non capisci come vengono aggiunti insieme due registri di byte (non è un processo semplice), allora non capirai mai il computer scienza. La programmazione stessa richiede capacità di problem solving, l'apprendimento di un linguaggio di programmazione e la struttura di sottolineatura è la parte facile, nell'informatica.
Ramhound,

1
La parte più difficile dell'essere un professionista nel campo dell'informatica è riuscire a determinare il modo migliore per risolvere un problema. Imparare un nuovo linguaggio di programmazione è la parte facile, imparare a sfruttare i punti di forza ed evitare i punti deboli in un determinato linguaggio è molto più difficile, essendo in grado di fare questo "codice scimmie" separato dai "professionisti".
Ramhound,

13

Cerca di ottenere un'ottima reputazione su StackTranslate.it. Quasi lo stesso argomento è stato discusso qui:

L'alta reputazione in Stack Overflow ti aiuterà a ottenere un buon lavoro?


5
Inoltre, ottenere un alto livello di reputazione su SO è molto divertente e si impara molto leggendo, postando e rispondendo alle domande.
Paul Hiemstra,

1
Secondo me, l'alta reputazione su SO significa "passo molto tempo sul sito a rispondere a tonnellate di domande basilari a cui ogni programmatore può riferirsi". Non ci penserei molto. (Nota: puoi ancora essere un esperto E avere un'ottima reputazione su SO)
siamii, il

8

Alcune cose che potresti voler provare:

  • Scrivi software che risolva problemi reali, idealmente problemi che non sono stati risolti prima (o almeno non in modo soddisfacente). Se nessuno utilizza il tuo software nonostante i tuoi migliori sforzi promozionali, è probabile che semplicemente non ne abbia bisogno disperatamente.
  • Annuncia il tuo lavoro su mailing list, canali IRC e forum Internet pertinenti. Se il tuo programma fa ampio uso di alcune librerie, prendi in considerazione l'idea di pubblicarle nella community della biblioteca; se integra altri software esistenti, annunciare alle loro comunità, ecc.
  • Se è un progetto abbastanza serio, crea un sito Web dedicato per questo. Il sito Web dovrebbe fornire un riepilogo delle funzionalità, collegamenti a download e documentazione e (se applicabile) alcuni screenshot. Assicurati che sia un sito Web adeguato, non un abominio in stile geocity cheapo pieno di pubblicità: vuoi essere preso sul serio, quindi agisci su di esso. L'aggiunta di una sezione notizie, un wiki e / o un tracker bug fornisce ai potenziali utenti un'indicazione di quanto sia attivo il progetto, che può funzionare per te o contro di te (se il progetto non è molto attivo dopo tutto).
  • Se è un progetto open source, ospitalo su uno dei famosi hub FOSS (github, bitbucket, sourceforge se necessario) e (vedi sopra) esporre il wiki e il tracker dei bug (ma solo se li usi regolarmente).
  • Qualunque cosa tu faccia, fornisci una buona documentazione. Sono necessari sia un breve "inizio" sia un riferimento completo. Se non hai il primo, le persone troveranno il tuo programma troppo difficile da usare. Se non hai il secondo, le persone smetteranno di usarlo perché non riescono a trovare le informazioni di cui hanno bisogno.

7

Ti seguirò sulla risposta di Bernard e aggiungi un po 'di più. Ci sono così tanti progetti OSS là fuori che può ancora essere difficile farsi notare a meno che non si crei un progetto popolare, che non sarà facile per un programmatore all'inizio.

Supponendo che tu stia cercando di farti notare nella comunità di programmazione, suggerirei di pubblicare componenti aggiuntivi (OSS o closed source) per gli strumenti che usano i programmatori. Immagina di andare in un colloquio di lavoro e di poter dire che l'azienda sta già utilizzando il software che hai scritto. Molti strumenti per sviluppatori dispongono di API per la creazione di componenti aggiuntivi e diversi "App Store" ospitano anche gli spazi in cui è possibile ottenere visibilità per il proprio strumento senza preoccuparsi troppo del marketing.

Ecco alcuni esempi dalla parte superiore della mia testa:

A seconda dello strumento scelto, puoi scegliere come target l'enclave specifica della comunità di programmazione da cui desideri essere notato.


4
  1. Partecipa a concorsi come Imagine Cup o, almeno, i concorsi della tua scuola (se presenti)
  2. Metti online le tue applicazioni, magari dai il codice sorgente e, sebbene non sia correlato alla tua domanda, ascolta il feedback degli altri e impara da esso
  3. Cerca di contribuire a diverse comunità

4

Ho un punto di vista leggermente diverso qui.

Se vuoi far notare il tuo software, il modo migliore è che le persone lo usino. Sebbene Bill Gates e Mark Zuckerberg fossero grandi programmatori giovani, c'erano molti programmatori migliori. Ma questi due signori hanno avuto un sacco di persone per usare i loro prodotti e sono quindi meglio conosciuti per il loro lavoro.

Per convincere le persone a usare il tuo codice potresti:

  • Vendi il tuo prodotto a molte persone. Ad esempio, installare un'app mobile in un app store e tenere traccia di download, acquisti e uso continuo.
  • Fai in modo che molte persone utilizzino il tuo prodotto e realizzi entrate pubblicitarie.
  • Ottieni molti sviluppatori per sviluppare prodotti compatibili con il tuo prodotto. Questo è difficile.
  • Contribuisci a un popolare progetto open source in modo che i tuoi contributi vengano utilizzati da molte persone.

A mio avviso, il software è quasi irrilevante senza fornire vantaggi agli utenti. E verrai notato per risolvere i problemi che interessano alle persone, e questa è un'abilità molto rara.


3

Una risposta che non ho ancora letto: Google Summer of Code.

Dal sito Web :

Google Summer of Code è un programma globale che offre agli sviluppatori studenti di scrivere codice per vari progetti software open source. [...] Tramite Google Summer of Code, i candidati studenti ammessi vengono accoppiati con un tutor o tutor dei progetti partecipanti, ottenendo così un'esposizione a scenari di sviluppo software reali.

Devi avere 18 anni per partecipare, ma non è lontano. Conosco alcune persone che hanno partecipato e hanno avuto un'ottima esperienza. Poiché tutti i tuoi contributi sono destinati a programmi open source, sono pubblici, quindi verranno notati.

Poiché hai meno di 18 anni, Google ha anche un programma simile a GSOC per studenti pre-universitari (13-17 anni) chiamato Google Code IN .


3

Dal mio punto di vista, ci sono tipi di persone che programmano.

  1. "Programmatori" - Questi includono autodidatta di 16 anni e il 99% della forza lavoro "sviluppatore software" disponibile in Cina. Possono svolgere il lavoro ... in un certo senso ... in un senso minimo, ma hanno piccole idee su concetti come schemi di progettazione, manutenibilità, codifica robusta / difensiva, algoritmi / strutture di dati e altre cose che amano un uso efficiente della fonte software di controllo. Hanno la capacità di leggere in modo efficace la documentazione e utilizzare la maggior parte delle API.
  2. "Ingegnere elettrico medio" - 80% elettrico, 10% informatica, 10% ingegnere software. Competenza con l'elettronica, ma quasi la stessa programmazione del tipico "programmatore". Tuttavia, la logica e il pensiero critico e le capacità di gestione dal lato elettrico aiuteranno.
  3. "Laureato in Informatica media BS" - 25% programmatore, 25% ingegnere informatico, 25% scienziato informatico, 25% elettronica applicata (logica inclusa).
  4. "Ingegnere informatico medio" - Queste persone sono un mix di ingegnere elettrico al 50%, laureato in informatica al 50%.

definizioni:

  1. "Informatica" - Dijkstra affermò una volta: "L'informatica non riguarda più i computer di quanto l'astronomia riguardi i telescopi". L'informatica riguarda più la matematica che i computer. Ciò include la capacità di sviluppare, comprendere e classificare algoritmi e strutture di dati complessi.
  2. "Software Engineering" - Design Pattern, diagrammi che rappresentano programmi (non ricordo come si chiamano). roba del genere. Codifica difensiva. Uso del controllo del codice sorgente,

Nota, ho usato la parola "Media" sopra. A seconda degli interessi personali e dell'esperienza lavorativa, queste percentuali possono cambiare drasticamente. Questi sono solo stereotipi troppo generalizzati. Non giudicare un libro dalla copertina. Sono anche solo percentuali BSing dalla mia esperienza.


1
I tuoi diversi tipi di programmatori sono completamente senza senso. Non puoi essere un programmatore efficace senza ingegneria del software. Gli informatici usano sempre l'ingegneria del software. La tua separazione di "ingegnere elettrico" è una totale assurdità, c'è poca differenza tra un ingegnere informatico e un informatico.
Ramhound,

L'ho scritto un po 'strano. L'ho risolto un po 'di refactoring. Tuttavia non è ancora del tutto corretto. Risposte: a) Questo è il punto, un "programmatore" nella mia lista non è affatto un programmatore efficace. b) L'informatica non riguarda lo sviluppo di software e quindi non usano l'ingegneria del software. c) L'ingegneria informatica è un campo ibrido tra ingegneria e ingegneria elettrica. it.wikipedia.org/wiki/Computer_engineering
user606723

1

Sono un programmatore freelance. La programmazione è stata il mio reddito principale da quando mi sono diplomato al liceo 9 anni fa. Ho ancora intenzione di laurearmi, ma al momento il momento non è ancora adatto a me.

Il mio percorso verso il riconoscimento autonomo è stato il seguente. Non sto dicendo che questi passaggi ti faranno riconoscere dalla comunità di programmazione, ma ti aiuterà ad aumentare la tua credibilità quando arriva il momento di intervistare.

Anche dopo che ero abbastanza esperto nella programmazione dell'IMO all'epoca, sono tornato alle basi e ho seguito i tutorial e mi sono costruito un portfolio basato su lavori ispirati da quelli. Ho anche iniziato a forzare me stesso a commentare il mio codice in modo simile a JavaDoc. Il portafoglio potrebbe non essere pieno di sfarzo e glamour in questo momento, ma ti dà una base da cui puoi costruire e eventualmente sostituire ciò che hai lì. Ho quindi avuto una serie di demo e esempi di codice da mostrare ai potenziali clienti. Questo è essenziale per ottenere il tuo primo lavoro. Nessuno vuole assumere qualcuno che non ha alcuna esperienza, tuttavia, ci sono un certo numero di persone che daranno la possibilità a un programmatore dall'aspetto promettente che non ha esperienza professionale.

Successivamente ho analizzato questi programmi e ho iniziato a scrivere librerie basate sui miei compiti più comuni. Con le mie nuove biblioteche ho iniziato a esaminare i problemi di CompSci su Internet e ho iniziato a programmare da solo il tempo necessario per creare una soluzione con le mie biblioteche. Ciò mi darebbe una base in futuro su ciò che dovrei addebitare per un compito specifico.

Fino a quel momento non avevo scoperto l'open source. Ho esaminato i progetti su sourceforge nella lingua che mi interessava e ho trovato applicazioni che potevo utilizzare. Ho installato queste applicazioni e ho iniziato a usarle come parte della mia esperienza informatica quotidiana. Sono stato in grado di vedere i punti di forza e di debolezza di queste applicazioni per quanto riguarda la mia interazione quotidiana e ho iniziato ad estenderle per soddisfare le mie esigenze. Inoltrerei le mie patch alla comunità in via di sviluppo per la revisione, e dopo alcune chiederei di diventare membro del progetto. È qui che ho imparato a utilizzare i diversi strumenti utilizzati quando lavoravo in un team che ha portato la mia "vasta esperienza", come la consideravo all'epoca, e la porta al livello successivo.

Ho adattato tutte le mie pratiche che avevo acquisito lavorando su progetti open source e implementato soluzioni acquistabili quando lavoravo come individuo. Ho iniziato a perseguire seriamente una carriera come sviluppatore freelance e mi sono unito a numerosi siti di reclutamento freelance. Ho guardato quali erano i lavori popolari e ho iniziato ad applicare. Per ogni lavoro che verrei rifiutato, lo completerei da solo come se avessi ottenuto il lavoro per ampliare le mie conoscenze. Ciò aiuterebbe a costruire il mio portafoglio e introdurmi ad alcune sfide del mondo reale. Quando finalmente ho ottenuto quella prima intervista, sono stato semplice, ho detto loro che non avevo alcuna esperienza professionale. Ho quindi iniziato a raccontare loro i progetti open source su cui avevo lavorato, cosa avevo realizzato lì. Ho incontrato alcuni ostacoli importanti e come li ho affrontati.


0
  1. Impara più che puoi. Questo può essere fatto da libri, forum, lezioni, ma soprattutto programmando (e ottenendo critiche). Se hai superato le lezioni di programmazione al tuo liceo, vedi se un college (comunità) locale ha delle buone lezioni di CS che puoi seguire (magari durante un'estate o come un corso notturno); oppure prova a seguire corsi aperti dai tipi MIT / Stanford.
  2. Dimostrare iniziativa. Dire che conosci C ++ verrà totalmente ignorato. Dire che hai dozzine di impegni in un elenco di progetti open source dimostra che sai qualcosa, ecc. (Anche se fai attenzione, non impegnarti solo per il gusto di impegnarti). Inizia i tuoi progetti open source. Questo non sarà qualcosa che farai in un pomeriggio; ma qualcosa che diventa il tuo bambino per un periodo di mesi. Scrivi e pubblica un'app per Android / iPhone che fa qualcosa di utile e induce le persone a scaricarlo.

PS: È passato molto tempo dall'ultima volta che mi sono iscritto al college - ti danno ancora l'opportunità di elencare cose come questa, giusto? (Ad esempio, una sezione sugli hobby o una domanda di saggio sui tuoi interessi).


0

Penso che JohnFX abbia dato un'ottima risposta a questa domanda.

Alcuni pensieri:

  • Penso che jQueryUI potrebbe essere il posto migliore per iniziare. È divertente e visivo. Quindi puoi andare sul forum degli sviluppatori jQueryUI sul sito jQuery e chiedere di essere un collaboratore.

  • Penso che dimostrerai grande passione e dedizione per la programmazione più di quanto dimostrerai grande abilità. Ma non lasciare che questo ti fermi! Ti incoraggio vivamente a partecipare.

  • A questo punto potresti doverti accontentare di fare il QA. Il QA è noioso ma puoi accettarlo e mostrare dedizione. Ma da lì puoi contribuire con un po 'di codice e magari creare plugin.

  • Se chiedi di essere coinvolto in qualcosa e loro lo rendono difficile, è perché sono degli stronzi. Cerca un progetto in cui le persone siano incoraggianti e simpatiche.

  • Dopo aver trovato un progetto con persone incoraggianti e simpatiche e aver contribuito, puoi chiedere a uno dei collaboratori adulti o, eventualmente, a uno dei responsabili del progetto di scriverti una breve lettera di raccomandazione.


0

Non sono rispettosamente d'accordo con chi ha risposto "non sopravvalutare te stesso"!

Se hai un amore per la programmazione alla tua età, provaci, probabilmente sei grande e più grande degli altri bambini della tua età, e quando sarai un veterano, potresti essere il prossimo Brian Kernighan, Edsger Dijkstra o Doug Lea!

Suggerirei di imparare lo sviluppo di iPhone o Android e di creare alcune app reali.

Diventa bravo in qualcosa e mentre ci arrivi, parla alle conferenze e scrivi articoli che ti faranno notare e perfezioneranno le tue abilità.

Ho programmato dalla fine degli anni '70, e in Java dal 1996. Posso dirti che il libro Java più importante che abbia mai letto era la Gang of Four Design Patterns, che è stata scritta un decennio prima dell'invenzione di Java. Leggi e sii fantastico!

Il settore più remunerativo oggi è finanziario, ma questo sta cambiando rapidamente. Credo che tornerà, ma non lo sai mai!

Sii un programmatore e goditi un alto livello di occupazione e soddisfazione professionale!

Buona fortuna, hai una grande carriera davanti a te!


0

Crea un'app Web che funzioni bene su iPhone e Android (per ora ignora i browser standard) e sfrutta le funzionalità estese di HTML5 (https://developer.mozilla.org/en/HTML/HTML5) per superare la latenza, la rete spotty, e la limitazione dei browser del telefono. Questo molto probabilmente significa fornire un'app browser javascript + html5 che si connette a un'API basata su server. (scegli xmlrpc / json / yaml, non SOAP). fallo urlare veloce. Sul server, consiglio di usare cherrypy in linux (debian) su VPS economici. Puoi trovarne alcuni su 123systems.com, buyvm.net (preferito ma spesso non disponibile) per meno di $ 4 al mese. Impara a usare Python e usa Fabric per distribuire le tue cose sui tuoi server. Ottieni un dominio .info su namecheap.com per $ 2,99 all'anno e usa dnsmadeasy.com per il DNS (più costoso, ma ne vale la pena, li usi da anni, mai avuto un singolo problema) in cui è possibile eseguire il bilanciamento del carico tramite DNS. Inoltre, non lasciarti scoraggiare dai database. Usa sqlite e impara a progettare le tue tabelle manualmente con le istruzioni sql. Infine, con un solo computer puoi probabilmente gestire 30.000 utenti. (2.000 contemporaneamente a un colpo al server ogni 3 secondi). Ricorda di memorizzare nella cache il più possibile nella memoria di HTML5.

Se lo fai, ne scrivi un blog e parli delle voci del blog e dei tuoi progressi, sarai sicuramente notato. Concesso, c'è molto da imparare, ma puoi farlo!


-1

Qual è un buon posto per farmi notare il mio lavoro?

Quasi ovunque su Internet - se scrivi qualcosa che vale la pena menzionare, come un'utilità che fa qualcosa di pulito o unico, che un gran numero di persone utilizzerà / scaricherà - allora hai già realizzato la maggior parte di questo compito. Applicazioni interessanti, utili e disponibili, pubblicizzano se stesse.

Ci sono riviste o pubblicazioni specifiche per i giovani programmatori?

Se non le pubblicazioni, allora ci sono dei buoni blog o è meglio iniziare il tuo?

Sei già qui - questo è solo uno, su molte comunità, che per lo shear desiderio di condividere ed essere conosciuti per sapere - altre persone sono più che felici di collegare argomenti di merito, alla discussione attuale.

C'è qualcos'altro che mi aiuterebbe a farmi notare come programmatore?

Basta programmare per motivi di programmazione - fintanto che è produttivo, creativo e utile - verrà preso atto.

Un punto che vedo menzionato in altre risposte, a cui anch'io faccio affidamento, sono i contributi apportati a progetti open source. L'unico modo per migliorare la codifica è codificare - e quale modo migliore per farlo, che risolvere i problemi attuali. Perché, senza un problema da risolvere, stai programmando invano ... oh, un'altra cosa, non importa i vecchietti scontrosi, con i loro commenti gonfiati e intenzionalmente scoraggianti, "giovani snapper": sei giovane e entusiasta, questo è tutto ciò di cui hai bisogno.


-1

Se fossi in te farei conoscere le mie conoscenze gettando il mio lavoro, dici di programmare in cmodo da iniziare a fare programmi orientati all'esperienza del PC degli utenti di tutti i giorni, creare cose come youtube downloadere iniziare il tuo dev teamhey man im solo 19 e ho iniziato a programmare 4 anni fa e prendo questo im un giovane ragazzo nero dalla cappa .... così potrei capire la passione che potresti avere per la programmazione ma allo stesso tempo la programmazione potrebbe richiedere molto tempo e fatica, darti il ​​tempo di vivere .. Significa che per tutto quel tempo collocare al computer può essere stressante per un ragazzo.


-1

Ci sono un sacco di posti dove mettere il tuo lavoro per essere riconosciuto, ma mentre potresti considerare il tuo lavoro di prim'ordine, per alcuni potrebbe essere solo una semplice giornata di lavoro. Quando avevo 16 anni, pensavo che il mio lavoro fosse fantastico, stavo facendo delle cose fantastiche, ma in realtà sto lavorando in questi campi ora, e dove ero allora non è niente rispetto a dove sono ora, e sono ancora molto lontani fuori da dove voglio essere.


-2

Se ti piacciono i giochi, prova a partecipare a Ludum Dare. Un buon gioco lì diventerà famoso.


-3

Se vuoi essere notato E fare qualche soldo, consiglierei lo sviluppo mobile su iPhone o Android. Conosci già il C ++, che è un ottimo inizio. Per lo sviluppo nativo su iPhone avrai bisogno dell'Obiettivo C e per Android avrai bisogno di Java. Entrambi sono simili al C ++ (Java è più semplice poiché non esiste una gestione della memoria) e non sarà troppo difficile da imparare. Quindi non solo scriverai applicazioni che ti faranno notare e ti faranno guadagnare un po 'di soldi, ma imparerai nuove lingue e piattaforme calde nel processo.

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.