Å bli programmerer er en kumulativ prosess som bygger opp dine ferdigheter dag etter dag og år etter år, og programmering kan være morsomt og givende (mentalt, åndelig og økonomisk). Denne guiden lover ikke å gi en magisk enkel måte å bli programmerer på, og rekkefølgen på trinnene er ikke hellig, men du får en generell oversikt over hvordan du blir programmerer i et av de moderne programmeringsfeltene.
Trinn
Trinn 1. Ta et introduksjonskurs i en (eller alle) av følgende disipliner:
- Logikk
- Diskret matematikk
- Programmeringsspråk (ta del i de forskjellige programmeringsparadigmene, fra sekvensiell/prosessuell til objektorientert, etter funksjonell og logisk programmering. Foretrukket Ruby/Python/Pascal for nybegynnere og etter litt god forståelse gå dypere inn i C ++/C#/Java)
EKSPERT -TIPS
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
Startup Founder & Engineering Director
Ikke føl at du må oppnå en kodingsgrad.
Selv om det kan være nyttig å ta kurs i et programmeringsspråk, sier Gene Linetsky, programvareingeniør og grunnlegger av oppstart:"
Trinn 2. Lær databasekonsepter som tabeller, visninger/spørringer og prosedyrer
Du kan bruke en hvilken som helst enkel databasepakke for å gjøre dette, for eksempel:
- MS Access
- DB V
- Fox Pro
- Paradoks
- MySQL er en god database å lære fordi den er gratis, ofte brukt, og databaser er ofte tilgjengelig med SQL -spørringer
Trinn 3. Bestem hvilken type programmerer du vil være
Programmerere faller vanligvis under en av følgende kategorier:
- Webprogrammerer
-
Desktop programmerer programmerer
- Operativsystem (OS) orientert programmerer (knyttet til et enkelt operativsystem eller sett med operativsystemer)
- Plattformuavhengig programmerer
- Distribuert applikasjonsprogrammerer
- Bibliotek/plattform/rammeverk/kjerneprogrammerer
-
Systemprogrammerer
- Kjerneprogrammerer
- Driver programmerer
- Kompilator programmerer
- Programmeringsforsker
Trinn 4. Lær teknologiene og programmeringsspråkene knyttet til ditt valgfrie programmeringsfelt
De følgende avsnittene bryter ned oppgavene for forskjellige typer programmering.
Metode 1 av 6: Webprogrammering
Trinn 1. Vet hva webprogrammering innebærer
Nettapplikasjoner er programvarekomponenter designet for å fungere på toppen av internettarkitekturen. Dette betyr at applikasjonene er tilgjengelige via en nettleserprogramvare som Firefox eller Internet Explorer. Å bygge på toppen av internettarkitekturen krever ikke nødvendigvis en aktiv tilkobling til internett. Det betyr at webapplikasjoner er bygget på toppen av standard webteknologi som:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP -protokoller
- HTML
- XML
- Kald fusjon
- ASP
- JSP
- PHP
- ASP. NET
Trinn 2. Bla gjennom mange forskjellige nettsteder for å lære om hvordan de vanligvis ser ut
(Høyreklikk, klikk deretter på Vis kilde eller trykk på F12.) Se etter mangfold i typen/innholdet på nettstedet, ikke mengden besøkte nettsteder. Vanligvis må du besøke minst en av hver av følgende typer nettsteder:
- Bedriftens tilstedeværelsesområder (kommersielle selskaper, ideelle organisasjoner/organisasjoner, statlige organisasjoner)
- Webindekseringsmotorer (søkemotorer, metasøksteder, spesialiserte søkemotorer, kataloger)
- Data mining nettsteder
- Personlige nettsteder
- Informasjons-/encyklopediske sider (wikier, datablad, tekniske spesifikasjoner og håndbøker som viser kataloger, blogger og tidsskrifter, nyhets- og nyhetsbyråer, gule sider, etc.)
- Sosiale nettsteder (sosiale portaler, bokmerker, notatnettsteder)
- Samarbeidsområder (dette inkluderer andre kategorier nevnt ovenfor, for eksempel wikier og blogger)
Trinn 3. Lær minst en brainstormingsteknikk/-metode og en programvare som brukes til å implementere denne metoden
For eksempel: idédugnad og MS Visio.
Trinn 4. Bli kjent med strukturering av nettsteder
Dette skaper konseptuelle webdiagrammer, nettstedskart og navigasjonsstrukturer.
Trinn 5. Ta et krasjkurs om grafisk design
Prøv å lære minst én programvarepakke for grafikkredigering/manipulering (valgfritt, men anbefales på det sterkeste)
Trinn 6. Lær det grunnleggende om internettinfrastrukturen
Dette inkluderer å få en grunnleggende ide om:
- Base webtjenesteprotokoller (HTTP, FTP, SMTP og POP3 eller IMAP4)
- Webserverprogramvare (helst en for plattformen du stort sett skal jobbe med)
- Programvare for nettlesing.
- E -postserver og klientprogramvare
Trinn 7. Lær HTML- og CSS -språkene
Du vil kanskje også få programvarepakken "What You See Is What You Get (WYSIWYG)" for redigering av HTML.
Trinn 8. Lær XML- og XML -relaterte teknologier, for eksempel XSL og XPath (valgfritt, men anbefalt)
Trinn 9. Lag enkle statiske nettsteder til du er kjent med og komfortabel med HTML
Trinn 10. Lær et skriptspråk på klientsiden
De fleste brukere lærer JavaScript. Noen lærer VBScript, men dette er ikke kompatibelt med de fleste nettlesere.
Trinn 11. Gjør deg kjent med skriptspråket du har lært på klientsiden
Prøv å nå potensialet ditt ved å bare bruke det språket. Gå bare til neste trinn etter at du i det minste har blitt kjent med skriptspråket på klientsiden.
Trinn 12. Lær minst ett programmeringsspråk på serversiden
Hvis du velger å begrense deg til en serverprogramvare, kan du lære deg et av programmeringsspråkene som støttes av programvaren. Hvis ikke, lær minst ett programmeringsspråk på hver serverprogramvare.
Trinn 13. Lag et pilotprosjekt for deg selv etter at du er ferdig med å lære programmeringsspråket på serversiden.
Trinn 14. Skaff deg ditt eget nettsted og begynn å eksperimentere online på din egen side
Metode 2 av 6: Programmering av skrivebordsprogrammer
Trinn 1. Vet hva du går til med programmering av skrivebordsprogrammer
De fleste stasjonære programmerere skriver kode for forretningsløsninger, så det vil være en stor tidsbesparelse å få en ide om virksomheter, deres organisatoriske og økonomiske struktur.
Trinn 2. Lær om de forskjellige maskinvarearkitekturene
Et introduksjonskurs i digital kretsdesign og en annen i datamaskinarkitektur er nyttig; Noen ser det imidlertid som et avansert utgangspunkt, så det kan være tilstrekkelig å lese to eller tre opplæringsartikler (som denne og denne). Deretter kan du gå tilbake til dette trinnet senere, etter at du har lært ditt første programmeringsspråk.
Trinn 3. Lær et programmeringsspråk på ungdomsnivå (barn)
Ikke vær sjenert for å lære et slikt språk bare fordi du er eldre enn å bli kalt en "gutt". Et eksempel på disse programmeringsspråkene kan være Scratch. Disse programmeringsspråkene kan lette smerten ved å lære ditt første programmeringsspråk enormt. Dette trinnet er imidlertid valgfritt. Det kan også gjøres før forrige trinn.
Trinn 4. Få en introduksjon til prosedyren, objekt orientert, og funksjonelle programmeringsparadigmer.
Trinn 5. Ta et introduksjonskurs i et av prosessuelle programmeringsspråk
Uansett hvilket språk du velger senere for å være ditt valgspråk, vil det kreve prosessuell programmering på et eller annet nivå. Prosedyreprogrammering rapporteres også av de fleste programmerere som de enkleste å bruke som utgangspunkt for å få ideen om programmering generelt.
Trinn 6. Lær minst en avansert modelleringsteknikk som UML eller ORM
Trinn 7. Begynn å skrive noen små konsoller eller konsolllignende applikasjoner
Du kan bruke vanlige små øvelser i programmeringsspråklige bøker. Velg et verktøy for å skrive programmer på programmeringsspråket du skriver på.
Trinn 8. Ta et mer avansert kurs i ditt programmeringsspråk
Sørg for at du forstår følgende begreper godt, og at du kan bruke dem relativt enkelt før du går videre:
- Legge inn og sende informasjon til brukere av et program.
- Den logiske flyten og utførelsen av programmer på prosessuelle språk.
- Deklarere, tildele og sammenligne variabler.
- Forgrening av programmeringskonstruksjoner, for eksempel hvis … så..else og velg/bytt..tilfelle.
- Looping -konstruksjoner som mens..do, do.. while/until, for..neste.
- Programmeringsspråksyntaksen din for å lage og ringe prosedyrer og funksjoner.
- Datatyper og manipulere dem.
- Brukerdefinerte datatyper (poster/strukturer/enheter) og deres bruk.
- Hvis språket ditt støtter overbelastningsfunksjoner, forstå det.
- Minnetilgangsmetodene for ditt valgte språk (tips, kikk, etc.)
- Hvis språket ditt støtter operatørers overbelastning, forstå det.
- Hvis språket ditt støtter delegater/funksjonspeker, kan du forstå det.
Trinn 9. Bruk de avanserte teknikkene du har lært
Trinn 10. Ta et introduksjonskurs i minst ett programmeringsspråk til i et annet programmeringsparadigme
Det anbefales å lære ett programmeringsspråk i hvert paradigme, og de fleste avanserte programmerere gjør det, men du starter vanligvis med det ene, jobber en stund med å bruke kunnskapen din og praktiserer den, for deretter å lære den andre senere, etter at du allerede hadde en virkelig -livserfaring innen programmering. Prøv et av følgende språkområder:
- Logisk programmeringsparadigme.
- Funksjonelt programmeringsparadigme.
- Objektorientert paradigme.
Trinn 11. Prøv å sammenligne de to programmeringsspråkene du har lært så langt
Evaluer styrker og svakheter ved hver enkelt. Vanligvis gjøres dette av:
- Ta enkle prøver av ditt tidlige arbeid i det første programmeringsspråket, og skriv det på nytt med det andre programmeringsspråket.
- Opprett et nytt prosjekt og prøv å implementere det på begge språk. Noen ganger, avhengig av ditt valg av prosjekt og språk, kan du kanskje ikke implementere prosjektet på et av språkene!
- Å skrive et jukse- eller sammendrag-tabell sammenligninger mellom lignende konstruksjoner på de to språkene og funksjoner som er unike for hvert av språkene.
- Prøv å finne måter å etterligne funksjoner som er unike for et av de to språkene som bruker det andre språket.
Trinn 12. Lær visuelle programmeringskonsepter ved å bruke et av språkene du lærte
Nesten alle programmeringsspråk har versjoner/biblioteker som støtter visuell programmering og andre som støtter konsoll- eller konsollignende programmering. Dette kan oppnås ved å:
- Få en introduksjon til hendelsesstyrt programmering. De fleste visuelle programmeringer er på et visst nivå avhengig av hendelser og hendelseshåndtering (ved hjelp av programmeringsspråket du velger).
- Prøv så mye stasjonær programvare som du kan, og forstå hva programvaren gjør. De fleste programvareutviklingsselskaper tilbyr betatesting av sine produkter som du kan bruke til å teste programvaren. Hold deg oppdatert om fremskritt i brukergrensesnittet.
- Les noen artikler eller opplæringsprogrammer om grafiske brukergrensesnitt.
Trinn 13. Begynn å bruke kunnskapen din på små programvareprosjekter du designer
Prøv å bruke programmeringskunnskapen din på problemer du møter i det daglige livet. For eksempel skriver du programmer som gir nytt navn til filer i masse, sammenligner tekstfiler visuelt, kopierer navnene på filer i en katalog til minne/tekstfil og lignende. Hold det enkelt i begynnelsen.
Trinn 14. Lag et virtuelt avgangsprosjekt
Fullfør dette til slutten, og bruk teknikkene for visuell programmering du har lært så langt.
Trinn 15. Utvid din forståelse av det visuelle rammeverket/biblioteket/pakken du lærte før ved å ta avanserte kurs, være ekstra oppmerksom på detaljer og lære flere tips og triks for ditt rammeverk fra nettressurser
Trinn 16. Søk etter andre pakker/biblioteker med visuelle elementer for programmeringsspråkene dine og lær dem
Trinn 17. Ta et kurs i grafikk (ikke grafisk design)
Det vil være veldig nyttig for programmerere som ønsker å skrive tiltalende brukergrensesnittelementer.
Trinn 18. Vurder å bli spillprogrammerer (valgfritt)
Spillprogrammering regnes i de fleste deler som stasjonær programmering. Hvis du har tenkt å bli en spillprogrammerer, må du lære mer om spillprogrammering etter at du har fullført disse trinnene. Et grafikkkurs er et must for spillprogrammerere, og det andre språket du velger i de foregående trinnene, bør være et logisk/funksjonelt programmeringsspråk (fortrinnsvis Prolog eller Lisp).
Metode 3 av 6: Programmering av distribuerte applikasjoner
Trinn 1. Ta tak i programmering av distribuerte applikasjoner
Distribuert applikasjonsprogrammering anses av mange som en av de vanskeligste å lære og krever mangfoldig kunnskap innen data- og kommunikasjonsteknologi.
Trinn 2. Ta en rask introduksjon til telefonsystemer og maskinvaren deres
Dette trinnet er valgfritt. Det er imidlertid veldig nyttig for å forstå nettverkstopologier.
Trinn 3. Gjør deg kjent med maskinvarearkitekturer og enheter som nettverk, for eksempel hubber, svitsjer og rutere
Trinn 4. Ta et kurs i nettverksprotokoller og nødvendigheter
Du trenger en god forståelse av Open Systems Interconnection (OSI) -modellen, Ethernet, IP, TCP, UDP og HTTP før du begynner å programmere distribuerte applikasjoner.
Trinn 5. Lær XML -språket og bli kjent med det
Trinn 6. Start med å lære et skallskriptspråk
For Windows-basert programmering vil det være et hvilket som helst skript som fungerer med Windows Scripting Host. For Linux-basert programmering vil Bash-skript og Perl være tilstrekkelig. JavaScript anbefales sterkt for dette på begge plattformene av følgende årsaker:
- Den støttes av nesten alle skriptverter i ethvert operativsystem (Windows Scripting Host støtter JavaScript som standard, de fleste Linux -distribusjoner har en pakke for støtte for JavaScript -skriptkonsoll).
- Det anses å være lettere å lære av mange utviklere.
- Den har en ALGOL -avledet syntaks som gjør deg kjent med mye mer andre programmeringsspråk når du må velge et andre programmeringsspråk (C, C ++, C#, Java og J# har alle ALGOL -avledet syntaks).
- Ved å lære JavaScript, blir du kjent med skripting på websider på klientsiden, noe som er en bivirkning!
Trinn 7. Bruk først prosessuell programmering ved å bruke det valgte skriptspråket først
Senere kan du bruke mer avanserte programmeringsteknikker og paradigmer i henhold til skriptspråket ditt og hva det støtter. Alle skriptspråk har noen prosessuelle programmeringsaspekter på et eller annet nivå.
Trinn 8. Bruk skriptspråket du lærte til å skrive skript som utfører kommunikasjon mellom maskiner
Lær hva som er nødvendig for å gjøre det. Enkel kommunikasjon vil være tilstrekkelig.
Trinn 9. Gjør en overføring til et skrivebords-/programmeringsspråk på skrivebordet
Fortrinnsvis et som er et multiparadigmaspråk som Python. Ta en enkel introduksjon til det andre språket. Java regnes av de fleste programmerere for å være det foretrukne språket av mange grunner. C# tar imidlertid fart raskt på dette feltet. Java og C# foretrekkes av følgende årsaker:
- De er objektorienterte programmeringsspråk som beskytter programmerere i store team mot implementeringsdetaljer, ettersom de begge støtter komponenter (kodenheter, forhåndskompilert, som utfører en bestemt oppgave og kan brukes i andre programmer).
- De støtter hendelsesdrevet programmering, samt OO og prosessuell programmering på et eller annet nivå.
- Rammeverket som språket er bygd på er distribuert av naturen (i tilfelle Java).
- Tilgjengeligheten av mange ferdige pakker som omhandler nettverk, både som åpen kildekode og rammeverk innebygde pakker; dette gjør det lettere for programmerere å bygge videre på andres arbeid.
Trinn 10. Konsentrer deg mer om kjernefunksjonene i språket, spesielt de som støtter nettverk
Vær mindre oppmerksom på brukergrensesnittelementer som utsending, vindusdesign og teknikker og brukergrensesnittelementer.
Trinn 11. Ta et kurs om distribuert applikasjonsdesign og arkitektur
Dette kan gjøres ved hjelp av bøker, online opplæringsprogrammer eller akademiske kurs. Imidlertid er det nødvendig å forstå arkitekturen til distribuerte applikasjoner og dets konsepter.
Trinn 12. Lær om å bygge betjente komponenter og tjenester ved hjelp av ditt valgte programmeringsspråk
Trinn 13. Lær en eller flere av følgende teknologier
Det anbefales at du får en introduksjon til dem alle. De fleste distribuerte applikasjonsprogrammererne stopper ikke på ett eller to programmeringsspråk, men lærer minst ett programmeringsspråk på hvert operativsystem. Det er fordi hvis du vil at applikasjonen din skal "distribueres", bør du gi en versjon av den i det minste for hvert større operativsystem.
- Common Object Request Broker Architecture (CORBA)
- Simple Object Access Protocol (SOAP)
- Asynkron JavaScript og XML (AJAX)
- Distribuert komponentobjektmodell (DCOM)
- . NET Remoting
- XML Web Services
Metode 4 av 6: Bibliotek/plattform/rammeverk/kjerneprogrammering
Trinn 1. Vet hva kjerneprogrammering er
Kjerneprogrammerere er bare avanserte programmerere som overførte fra programmeringsapplikasjoner til programmeringskodenheter som skulle brukes av andre programmerere.
Trinn 2. Lær et programmeringsspråk som støtter å bygge gjenbrukbare komponenter/pakker, hvis du ikke allerede har gjort det
Trinn 3. Ta et avansert kurs i UML og ORM
De fleste bibliotekutviklere bruker den ene eller begge deler.
Trinn 4. Ta et kurs i programvareteknikk
Trinn 5. Lær minst modulære, komponentbaserte, objektorienterte og hendelsesdrevne programmeringsteknikker og -konsepter
Jo flere programmeringsparadigmer og språk du dekker, jo mer vellykket blir du som bibliotek/pakkeprogrammerer.
Trinn 6. Lær mer om de forskjellige operativsystemene og programmeringsrammene som støttes av disse operativsystemene
Trinn 7. Fokuser læringsarbeidet på plattformuavhengige rammer, programmeringsspråk og teknologier
Trinn 8. Hvis programmeringsspråkene du har lært så langt, har ANSI/ISO/IEEE/W3C standardversjoner, mestre standardene.
Prøv å bruke standard kode når det er mulig.
Trinn 9. Prøv å etterligne enkle, allerede etablerte biblioteker, spesielt biblioteker med åpen kildekode
Dette er nyttig i den tidlige fasen av å bli et bibliotek/pakke programmerer. Start med enkle pakker som enhetskonvertering og mellomliggende vitenskapelige beregningspakker. Hvis du er en høyskolestudent, kan du bruke kursene dine uten programmering ved å prøve å implementere ligningene og vitenskapelige kjernen som biblioteker.
Trinn 10. Søk etter og prøv pakker med åpen kildekode innen programmeringsfeltet
Last ned først binærfiler/kjørbare filer av pakken. Prøv å bruke den og finn dens sterke og svake sider. Etter at du har gjort det, last ned kilden og prøv å finne ut hvordan det ble gjort. Prøv å gjenskape disse bibliotekene eller deler av dem. Gjør det først etter at du har sett koden og senere før du ser koden. I senere faser kan du prøve å forbedre disse bibliotekene.
Trinn 11. Lær de forskjellige tilnærmingene som brukes til å distribuere og distribuere komponenter til programmerere
- Vanligvis har bibliotek-/pakkeprogrammerere en tendens til å tenke rekursivt og/eller iterativt over alle problemene de får. Prøv å tenke på hvert problem som en samling av mindre problemer (en sekvens av enklere oppgaver) eller som en gjentatt prosess for å redusere problemets omfang til mindre omfang og deretter stable disse omfangene på hverandre.
- Bibliotek/pakke programmerere har en tendens til å generalisere. Det vil si at når de får et enkelt spesifikt problem, tenker de vanligvis på et mer generelt problem og prøver å løse det generelle problemet som automatisk vil løse det mindre problemet.
Metode 5 av 6: Systemprogrammering
Trinn 1. Forstå hva systemprogrammering innebærer
Systemprogrammerere behandler vitenskapen om programmering, ikke de spesifikke implementeringene av den. Ikke knyt deg til en bestemt plattform.
Trinn 2. Følg de tre første trinnene for programmerere for skrivebordsprogrammer
Trinn 3. Ta et introduksjonskurs i lineær algebra
Trinn 4. Ta et kurs i Calculus
Trinn 5. Ta et kurs i logikk og/eller diskret matematikk
Trinn 6. Introduser deg selv for forskjellige bare operativsystemer
Dette kan gjøres ved å:
- Få en ide om hvordan operativsystemer er installert.
- Lære å installere forskjellige operativsystemer på en PC (valgfritt, men anbefalt).
- Installere mer enn ett operativsystem. Ikke installer noen hjelpepakker på systemene; I stedet bruker du bare funksjonalitetene fra operativsystemene.
Trinn 7. Ta et kurs (eller alternativt les bøker) om maskinvarearkitektur
Trinn 8. Utvikle en forståelse av de forskjellige maskinvareplattformene
Trinn 9. Få en innledende bekjentskap med monteringsspråket til maskinvareplattformen/operativsystemet du ønsker
Du vil senere lære å montere andre plattformer/systemer.
Trinn 10. Lær ANSI C og C ++ språk, sammen med begrepene prosessuell programmering
Trinn 11. Forstå og øv C/C ++ - standardbiblioteker på den valgte plattformen
Vær spesielt oppmerksom på Standard Template Library (STL) og kanskje Active Template Library (ATL).
Trinn 12. Søk på nettressurser, bøker og kurs for å få en forståelse av C-smaken til din spesifikke plattform
Trinn 13. Øv deg på å lage avansert kode med C og C ++
Trinn 14. Lær mer avansert montering
Trinn 15. Ta et kurs i design av operativsystemer
Trinn 16. Finn og les dokumentasjonene til din spesifikke plattform
Dette blir lettere hvis du velger et Unix-basert operativsystem. Forstå systemet du vil jobbe med senere veldig godt.
Trinn 17. Øv din ervervede kunnskap
Opprett først små systemverktøy. Det er vanligvis nyttig å:
- Prøver å gjenskape små verktøy som allerede finnes på systemet ditt.
- Prøver å portere verktøy som er tilgjengelige i andre operativsystemer til ditt.
Trinn 18. Lær språk i den mest nyttige rekkefølgen
Dette er det eneste stedet der det første programmeringsspråket er viktig. Lær ANSI C først, ikke C ++, ikke C#, ikke Java og ikke D. Deretter lærer du C ++.
-
Å begrense det første språket til C og C alene er fordi systemprogrammering krever at programmereren er kjent med følgende begreper:
- Ekte og full samling av kildekoden.
- Objektutgangsfiler på lavt nivå.
- Koble sammen binære filer.
- Programmering på lavt maskinspråk/montering. C -språket sies å være en forkledd/lettere å lære montering av noen. Den støtter også å sette inn språkkoden for montering når du vil, og den er bare prosessuell (som montering).
Metode 6 av 6: Programmeringsvitenskap
Trinn 1. Vet hva en programmeringsforsker gjør
Programmeringsforskere er svært avanserte programmerere som, i stedet for å jobbe med å utvikle applikasjoner, jobber med å utvikle databehandlingsteknologier som kryptering, programmeringsspråk og data mining algoritmer. Dette nivået oppnås sjelden uten akademisk studie og engasjement.
Trinn 2. Akkumuler den vitenskapelige kunnskapen som tilsvarer en fireårig grad i informatikk
Dette kan gjøres enten ved:
- Ta en faktisk akademisk grad (som er det som vanligvis skjer).
- Få kursene til en slik grad fra et av de moderne universitetene og ta kursene enten ved selvstudium eller som separate kurs. Dette kan oppnås teoretisk, men den anbefalte banen er den første.
Trinn 3. Bestem et spesialfelt
Jo mer spesifikk, jo bedre. Dette avhenger av dine preferanser. Her er imidlertid en liste over noen av hovedemnene innen dataprogrammering:
- Algoritmedesign (søk, sortering, kryptering, dekryptering og feiloppdagelse i kommunikasjon er noen eksempler)
- Programmeringsspråk/kompilerdesign/optimalisering
- Kunstig intelligensfelt (mønstergjenkjenning, talegjenkjenning, behandling av naturlig språk, nevrale nettverk)
- Robotikk
- Vitenskapelig programmering
- Super databehandling
- Datastøttet design/modellering (CAD/CAM)
- Virtuell virkelighet
- Datagrafikk (Datagrafikk er vanligvis feilaktig forvekslet med grafisk design eller grafisk brukergrensesnittdesign. Datagrafikk er feltet for å studere hvordan man representerer og manipulerer grafikk i datasystemer.)
Trinn 4. Vurder å få en høyere akademisk grad
Det kan være lurt å ta en mastergrad eller en doktorgrad.