Wat je moet leren om programmeur te worden. Ken algoritmen en datastructuren

In het artikel zullen we je vertellen welke stappen je moet nemen, waar je moet beginnen en hoe je je training kunt opbouwen om een ​​IT-specialist te worden als je ver van IT bent.

Kies een specialisatie

Allereerst moet u beslissen waarom u de IT ingaat. Vind je het leuk om websites te maken, programma's voor besturingssystemen te maken, te ontwerpen of te testen? Deze beslissing zal het startpunt zijn in het leerproces.

Afhankelijk van de keuze kun je zelf het trainingsprogramma bepalen, een plan maken en de eerste bronnen selecteren: boeken, websites of online cursussen.

Als uw kennis van de taal niet voldoende is om vrij te lezen, moet u ermee beginnen. Engels is niet alleen nodig voor communicatie, u zult veel moeten lezen en in het Engels op internet moeten zoeken. Het kan zijn als technische documentatie of een reactie op StackOverflow, of gewoon een interessant onderwerpartikel op Medium.

Dit is de tweede belangrijkste vaardigheid, na de kennis van een vreemde taal, die essentieel is bij het leren. Het is belangrijk om te leren hoe u verzoeken correct kunt indienen en onnodige informatie op de uitgiftepagina kunt filteren.

Beheers de basisconcepten

Leer om te beginnen hoe een bit verschilt van een byte, leer de basistermen en concepten van informatica, leer over voorwaarden, lussen en interrupts. Hoe de processor werkt, waarom je een webserver nodig hebt en wat voor soort ascii - dit alles moet je weten om je te kunnen verdiepen in het gebied dat je interesseert.

Datastructuren en algoritmen zijn fundamenteel voor ontwikkeling en IT-concepten. Je zult er niet goed over leren in cursussen over toegepaste programmering, dus leer deze dingen zelf.

Begrijp eerst de termen stapel, boom, wachtrij, hash. Om algoritmen te begrijpen, is het niet nodig om in de grafentheorie te graven, maar begrip zou in ieder geval je doel moeten zijn.

Vertrouwd raken met het concept van objectgeoriënteerd programmeren zal nuttig zijn, ongeacht welke taal u kiest en hoe u deze wilt gebruiken. OOP is een van de meest populaire ontwikkelingsstijlen, dus je moet niet alleen de definities van de belangrijkste concepten kennen (overerving, inkapseling, polymorfisme), maar ook begrijpen hoe ze werken en ze in de programmacode kunnen implementeren.

Als u de syntaxis van de programmeertaal waarin u geïnteresseerd bent met vertrouwen beheerst, moet u leren hoe deze werkt met verschillende soorten databases en tegelijkertijd meer te weten komen over de soorten databases en hun verschillen.

Zelfs als uw taal meestal niet rechtstreeks met de database communiceert (bijvoorbeeld JavaScript), moet u weten wat er op dit gebied van ontwikkeling gebeurt: u zult beter begrijpen hoe het programma als geheel werkt.

Dus hoe word je een IT-specialist?

Je kunt je op elk moment en op elke leeftijd omscholen en van beroep veranderen. Het is belangrijk om te onthouden dat dit een zeer lang en gecompliceerd proces is. En hoe later je ermee aan de slag gaat, hoe moeilijker het voor je wordt.

Om een ​​IT-specialist te worden, moet je jezelf voorbereiden op een lang proces van het leren van de basis en continu zelflerend gedurende je hele carrière. Wees geduldig, want tussen het begin van de training en vele maanden en zelfs jaren kunnen verstrijken.

Bijna dagelijks, achter onze computer of laptop, maken we gebruik van verschillende ontwikkelingen op het gebied van IT. Bij het starten van het programma zien we de prachtige interface en het goed doordachte logische gedeelte, op internet zien we veel interessante sites met verschillende toevoegingen, of we gebruiken hulpprogramma's voor moderne gadgets waarmee we de mogelijkheden van ons apparaat kunnen uitbreiden . En velen van kinds af aan of meer volwassen leeftijd hebben er belang bij om te weten hoe het allemaal van binnenuit werkt. En voor velen wordt dit een serieuze motivatie om een ​​toekomstig beroep te kiezen.

De vraag naar de diensten van programmeurs van verschillende spectrums is tegenwoordig zo groot dat ze andere, voorheen populaire beroepen ver vooruit is. In dit artikel zullen we proberen vrij algemeen te praten over wat programmeurs zijn, welke vaardigheden ze moeten hebben om veelgevraagd te zijn op de markt en hoe ze programmeren in het gekozen vakgebied kunnen leren.

Soorten programmering

Dus als je jezelf de vraag stelt: "Hoe word je een programmeur", moet je voor jezelf het volgende beslissen: wat gaan we eigenlijk ontwikkelen? Universele programmeurs bestaan ​​immers niet, ieder werkt in zijn eigen branche en doet zijn eigen ding.

Bijvoorbeeld…

  1. Webprogrammeurs. Mensen die verschillende sites maken en pagina's verkopen. Dankzij deze categorie ontwikkelaars verschijnen er veel verschillende nuttige bronnen op het netwerk met verschillende nuttige of vermakelijke informatie. Online winkels, bulletinboards, sociale netwerken zijn het werk van deze categorie programmeurs.
  2. Ontwikkelaars van besturingssystemen en applicaties zonder gebonden te zijn aan een bepaald platform. Deze mensen doen iets zonder welke geen enkele computer of gadget ter wereld zal werken. Dankzij deze categorie burgers worden Windows, Linux, Androids en andere systemen geboren.
  3. Ontwikkeling en programmering van toegepaste gedistribueerde systemen en DBMS. Een voorbeeld van dit type programmering is alle weergegeven informatie over vertrek en aankomst van treinen op het station, evenals gegevens over het inchecken voor een vlucht op de luchthaven en de beschikbaarheid van stoelen.
  4. Programmeerframeworks, dll's, platforms en kernels. Simpel gezegd, het maken van hulpmiddelen voor de verdere ontwikkeling van verschillende programma's, software, games, enz.
  5. Een andere richting voor de ontwikkeling van hulpsoftware is systeemprogrammering. Programmeurs in deze branche maken software die is gekoppeld aan een bepaald besturingssysteem. Drivers voor computerhardware, games, verschillende compilers, programmering van de systeemcores en nog veel meer en niet minder interessant.
  6. Als al het bovenstaande je niet interesseert, kun je halsoverkop het veld van wetenschappelijk programmeren ingaan en kunstmatige intelligentie, virtual reality-systemen ontwikkelen met een dieper begrip dan computergames; ontwikkeling van interfaces en automatiseringssystemen voor biologen, astronauten, wetenschappers zullen je leven vullen met nieuwe kleuren.

Elk van deze gebieden is op zijn eigen manier interessant en in trek, wat u kiest, is aan u. En de keuze om elk van deze gebieden te bestuderen, biedt ook verschillende opties. Of je gaat naar een universiteit, of schrijft je in voor programmeercursussen, of studeert voor jezelf en haalt informatie van internet.

Hoe een programmeur te worden. Waar te beginnen?

Het is nooit te laat om te beginnen. Zoals hierboven vermeld, zijn er tegenwoordig nogal wat manieren om te leren programmeren, het is alleen belangrijk om een ​​richting te kiezen en deze te gaan bestuderen. Maar over zelfleren gesproken, dit type is niet voor elk werkterrein geschikt. Laten we zeggen dat zelfstudie u zal helpen een websiteontwikkelaar te worden of oppervlakkige kennis op andere gebieden op te doen. Een van de meest winstgevende oplossingen is om je in ieder geval in te schrijven voor cursussen, waardoor je een vollediger begrip krijgt van de logica van de werking van verschillende systemen en applicaties, de programmeertaal leert die je nodig hebt (bijvoorbeeld C ++, Java, Perl, Core, enz.) en het in de praktijk kunnen toepassen, evenals kennis opdoen van discrete wiskunde.

Leer de verschillende tabellen, de concepten achter het opvragen ervan en het algoritme om ze uit te voeren. Goede voorbeelden zijn Excel, MySQL, Paradox.

webprogrammeren

Wat is webprogrammeren? Over het algemeen is dit alles wat we in onze browsers zien. Alle sites, alle applicaties om iets te downloaden, betalingsmodules voor online winkels, plug-ins die de functionaliteit van de site aanvullen, cloudopslag, bestelformulieren, personeelsbeheersystemen die zowel aan de clientzijde als aan de serverzijde werken - dit alles is slechts een klein deel van het hele web. -industrie.

In wetenschappelijke termen is webprogrammering alle toepassingen en programmacomponenten die bovenop de structuur van het wereldwijde internet zijn gebouwd en toegang ertoe wordt alleen geboden met behulp van webbrowsers (browsers). Bovendien is de verbinding van de browser met internet geen vereiste, maar alleen als de applicatie lokaal moet worden geopend (grofweg vanaf de computer waarop deze zich bevindt of ontwikkeld). Met de HTML-opmaak van een pagina of een lokale server (Denver) kunt u bijvoorbeeld met applicaties werken wanneer er geen netwerkverbinding is.

Alle webdocumenten werken op basis van de eenvoudigste technologieën, zoals:

  • HTTP - Hypertext Transfer Protocol;
  • HTML is een hypertext opmaaktaal;
  • PHP is een van de belangrijkste programmeertalen;
  • SMTP - een mailserver voor het uitwisselen van tekstberichten tussen andere servers en clients, inclusief kantoorprogramma's van Microsoft;
  • verschillende IP-protocollen;
  • FTP is een client voor gegevensuitwisseling tussen een lokale server en hosting.

Om een ​​eerste begrip van webprogrammering te krijgen, kunt u de HTML-opmaak van de site openen door met de rechtermuisknop op de pagina te klikken. En u zult de hypertext-opmaak zien met daaraan gekoppelde stijlen. Probeer de elementen van de site te verkennen door naar de broncode en het uiterlijk van de site te kijken. Voor een meer diepgaande studie, verken de bronnen van verschillende sites van verschillende onderwerpen, dat wil zeggen, elk sociaal netwerk, cloudopslag en e-mailsite. In sommige opzichten zullen ze op het eerste gezicht vergelijkbaar zijn, maar bij verder onderzoek kun je zien dat elk van de sitecomponenten zijn specifieke taak vervult en, in het algemeen, de logica van het werk verschilt van de vorige site.

Volg de onderstaande stappen voordat u webprogrammeur wordt.

  • Leer ten minste één beeld- en grafisch programma (Photoshop is voldoende). Omdat u tijdens het opmaakproces van het project het gewicht van de afbeeldingen moet verwerken en optimaliseren voor hun meer winstgevende presentatie, plus het maken van enkele eigen afbeeldingen, logo's en infographics.

  • Leer het algoritme voor het bouwen van sites. Welke tools en hulptools worden gebruikt om ze te maken, wat is een sitemap en waarom is deze nodig, wat is navigatie en wat is een webdiagram.
  • Leer meer over de infrastructuur van internet. Verkrijg basiskennis en initiële vaardigheden in het gebruik van webprotocollen (HTTP, SSL, POP3, FTP) van het platform waarop u het grootste deel van uw activiteiten zult uitvoeren, maak uzelf vertrouwd met e-mailservers.
  • Begrijp hoe de belangrijkste browsers (IE, Opera, Chrome, Mozilla) werken.

  • Leer eerst de HTML-hypertext-opmaaktaal en CSS Cascading Style Sheet (let op het WYSIWYG-pakket).
  • Je hebt kennis van XSL en aanverwante technologieën.
  • Als je eenmaal de vaardigheden hebt om met hypertekst te werken, begin het dan beetje bij beetje in de praktijk te brengen, waardoor de taak geleidelijk ingewikkelder wordt.
  • Je hebt ook scripttalen nodig die zowel aan de client- als aan de serverkant werken (Java Script, JQuery). Op VBScript, dat iedereen graag alle beginners adviseert vanwege zijn eenvoud, let niet op, het wordt niet gezien door moderne versies van alle browsers. Let trouwens speciaal op deze talen. Met hun hulp worden alle moderne ongebruikelijke 3D-effecten gecreëerd die op websites werken. Maar wees voorzichtig, deze taal is behoorlijk ingewikkeld, dus begin met iets heel eenvoudigs en werk, zoals in andere gevallen, geleidelijk op naar complexere procedures.
  • Leer hoe u modules van derden op de site kunt implementeren, bijvoorbeeld een betalingsaggregator in een online winkel.

  • Leer de PHP-programmeertaal voor sitelogica en applicaties. Hiermee kunt u complexere en winstgevendere projecten creëren.

Ontwikkeling van pc-software

Voordat je begint met het ontwikkelen van software, moet je uitzoeken in welke richting je moet werken. Kortom, dit is een commerciële activiteit, dus het zal nodig zijn om te begrijpen hoe het bedrijf op dit gebied werkt, en de principes van zijn financiële component.

Voordat u leert programmeren als zodanig, is het belangrijk om de basisprincipes van digitale circuits en kennis van computerarchitectuur te begrijpen.

Aarzel nooit om het instapniveau aan te pakken, dat op school wordt onderwezen in informaticalessen. Ja, je bent hier al lang overheen gegroeid, maar het is onwaarschijnlijk dat je je dit alles herinnert, en zeker na vele jaren (tenzij er natuurlijk de juiste oefening was) zul je het niet in de praktijk kunnen brengen. Begin met elementaire Stratch- of Basic-talen. Deze handeling is niet zozeer nodig als wel wenselijk om het verdere leerproces te vergemakkelijken. Weet je nog hoe een kleine spin in je klas over de monitor rende nadat we het benodigde algoritme van acties in de editor hadden opgeschreven? Dus onthoud dit nog een keer. Herhaling is de moeder van leren!

De volgende stap op weg naar de overwinning is de ontwikkeling van objectgeoriënteerde, procedurele en functionele programmeerparadigma's. Voor een beter begrip van deze functies is het natuurlijk beter om de nodige cursussen te volgen. Volgens deskundigen is de studie van procedureel programmeren ook een van de fundamentele fundamenten van vervolgonderwijs.

Vervolg uw oefening door geavanceerde modelleringssystemen (UML, ORM) te leren.

Na dit alles kun je al proberen console- en soortgelijke applicaties te schrijven met behulp van methodologische voorbeelden en oefeningen. Bepaal de coderingstools die het beste werken voor uw taal.

Volg diepgaande cursussen voor de taal waarmee u gaat werken. Om het principe van het schrijven van code in uw taal te begrijpen, moet u het volgende kennen en begrijpen:

  • hoe en door middel van de input-output van gegevens door de opdrachtgever wordt uitgevoerd;
  • logische en uitvoerbare stromen in proceduretaal en hoe dit gebeurt;
  • hoe de selectie, toewijzing en vergelijking van variabelen plaatsvindt in alle fasen van de actie;
  • hoe sleutelconstructies worden gemaakt en doorgelust;
  • welke syntaxis is gekozen voor schrijf- en naamgevingsprocedures;
  • bestaande soorten gegevens en hoe deze worden verwerkt;
  • toepassing van door de gebruiker gedefinieerde datatypes;
  • een grondig begrip van de overbelastingsfuncties die door uw taal worden ondersteund;
  • geheugenanalysetechnieken;
  • functieaanwijzingen kunnen begrijpen.

Begin vervolgens met het oefenen van objectgeoriënteerde paradigma's. Volg inleidende cursussen voor programmeren in verschillende paradigma's. Experts adviseren om ten minste één taal in verschillende paradigma's te kennen. Nadat je op dit punt voldoende ervaring hebt opgedaan, kijk je naar de logische en functionele programmeerparadigma's afzonderlijk.

Ken je al twee talen? Prachtig! Probeer ze nu te vergelijken, om de voor- en nadelen voor jezelf te identificeren, om de meest praktische te kiezen. Meestal wordt het op deze manier gedaan...

  • We schrijven een programma in een van de talen. Gecontroleerd. Werken? We schrijven het hetzelfde, maar op een ander. We kijken immers welke van de talen productiever was in termen van de snelheid van het schrijven van code en het behaalde resultaat.
  • Begin met het schrijven van nieuwe code, maar gebruik beide talen al. Het kan gebeuren dat een algoritme niet in één taal kan worden uitgevoerd, dan komt de tweede te hulp.
  • Maak een draaitabel en gebruik een spiekbriefje om de constructies van beide talen te vergelijken.
  • Probeer een van de blokken van het programma te herhalen in verschillende talen.

Nu leren we hoe we visueel kunnen programmeren in een van de door u gekozen talen. Bijna alle programmeertalen hebben versies of add-ons waarmee u visuele en consoleprogrammering kunt uitvoeren. Hier word je geholpen:

  • cursussen over programmeren voor evenementenbeheer, dat de basis is van visueel programmeren;
  • werken met verschillende computersoftware. Om het werk te begrijpen en de aangebrachte wijzigingen te volgen, is het beter om verschillende versies van de programma's te gebruiken;
  • lees methodologisch materiaal over dit profiel en bekijk trainingsvideo's.

Het is een goede gewoonte om verschillende programma's voor uw thuiscomputer te maken die verschillende functies en acties uitvoeren. Of maak je eigen virtuele scriptie met behulp van de visuele programmeertechnieken die je hebt geleerd.

Scherp je vaardigheden geleidelijk aan door bibliotheken en pakketten in detail te bestuderen, waarbij je steeds meer aandacht schenkt aan die dingen die je op dat moment als onbelangrijk of onbelangrijk beschouwde. Leer verschillende manieren om frameworks te gebruiken. Zoek en verken andere pakketten met visuele componenten voor uw taal.

Als je van plan bent een mooie gebruikersinterface te ontwerpen, volg dan een cursus grafisch. Verwar dit niet met grafisch ontwerp. Je bent een programmeur.

Als gevolg hiervan zul je steeds complexere programma's en games gaan maken en zul je geleidelijk het commerciële niveau kunnen bereiken.

Ontwikkeling en programmering van toegepaste gedistribueerde systemen en DBMS

Dergelijke programmering is een van de moeilijkste typen en de ontwikkeling ervan vereist uitstekende kennis op het gebied van computer- en IT-ontwikkeling. Om het te bestuderen, moet u ook een cursus telefonie en aanverwante apparatuur volgen voor meer uitgebreide kennis van netwerktopologieën.

Kijk eerst eens naar uw thuisnetwerkomgeving. Hoe is de computer aangesloten op het netwerk? Dit kan een directe verbinding zijn via een netwerkkaart, modem, switch of wifi-router. Welk netwerkprotocol wordt gebruikt om verbinding te maken?

Ontdek wat Open System Interconnection is (we geven een hint - dit is een internationaal formaat voor het standaardiseren van gegevensuitwisseling tussen verschillende apparaten. Het zogenaamde OSI). Maak vervolgens kennis met de termen TCP, IP, Ethernet, LAN, WAN, UDP en ga verder.

Leer wat XML is, waarom het nodig is, welke functies het vervult, leer hoe het te gebruiken. Trouwens, het is ook handig voor webprogrammeurs.

En we gingen een gedistribueerde programmeertaal leren. Als u van plan bent om code voor OS Windows te schrijven, is elke taal die WSH ondersteunt voldoende. Onder "Linux" gebruiken ze Perl en Bash.

Je hebt ook JavaScript nodig om te werken. Waarom? Hier zijn verschillende redenen voor.

  1. Het wordt ondersteund door alle scripthosts van alle besturingssystemen. Windows ondersteunt standaard pakketten en Linux-aanpassingen hebben add-ons om JavaScript te ondersteunen.
  2. Dit script is het eenvoudigste van allemaal.
  3. De basis van Java is de ALGOL-syntaxis, waarmee u andere talen verder kunt verkennen en een tweede taal kunt kiezen om uw werk te vereenvoudigen.
  4. Met JavaScript kunt u het programmeren van webdocumenten aan de clientzijde van naderbij bekijken.

Begin door één taal te gebruiken om uw code te schrijven, waarbij u geleidelijk de complexiteit van de taak verhoogt en steeds complexere trucs en paradigma's toepast die uw script ondersteunt. Opmerking: de meeste scriptprogrammeertalen ondersteunen een verscheidenheid aan procedurele programmering.

Probeer een systeem voor gegevensuitwisseling op uw script te maken. Schrijf een programma om verschillende vaste en draagbare apparaten te koppelen met verschillende besturingssystemen en verschillende configuraties.

Schakel over naar programmeertalen voor desktops. Kies een taal waarmee je met verschillende paradigma's kunt werken (bijvoorbeeld Pyton), leer de basis ervan. Onlangs is een aantal JavaScript + C # populair geweest. Volgens dezelfde experts heeft deze bundel de volgende voordelen.

  • Deze talen ontlasten artiesten die in een groot team werken van de noodzaak om code te implementeren in soms moeilijk te compatibele talen. De Java + C-bundel heeft kant-en-klare, al gecombineerde codeblokken waarmee je taken in andere programma's kunt uitvoeren.
  • Ze ondersteunen gebeurtenisgestuurde, objectgeoriënteerde en procedurele programmeermethoden.
  • Framework-add-on wordt standaard gedistribueerd.
  • U kunt gebruik maken van kant-en-klare pakketten van open source code en ingebouwde frames, waardoor er de mogelijkheid is om "template" code te gebruiken.

Als het gaat om netwerken en het opzetten ervan, let dan goed op de belangrijkste punten van de taal. In dit geval kunt u "besparen" op gebruikersinterfaces, inclusief gegevensinvoer / -uitvoer, visueel ontwerp, enzovoort.

Een belangrijk punt zal de studie van architecturen van toegepaste distributiesystemen zijn. Voor deze fase is het voldoende om het relevante materiaal te lezen, trainingsvideo's te bekijken of hulp te zoeken bij meer ervaren kameraden.

Leer hoe de service en componenten in uw taal worden ontwikkeld.

Begin met het oefenen van een paar technologieën. Over het algemeen raden we aan dat je 2-3 van hen goed genoeg kent en op zijn minst een oppervlakkig idee hebt van de rest. Veel van uw toekomstige concurrenten beperken zich niet tot het kennen van een of twee talen. Hun kennis is minimaal één taal per besturingssysteem. Meer geavanceerde programmeurs hebben in hun arsenaal verschillende talen voor elk van de besturingssystemen. En ja, ze weten hoe ze ze moeten gebruiken, dat klopt!

dll's, platforms en kernels

Dit is een kaste van programmeurs die het programmeren van applicaties al zijn ontgroeid en zijn overgestapt op een complexer ontwikkelingsformaat. Ze creëren alle platforms, inclusief het web, en verschillende ondersteunende bibliotheken. Zeker, bij het installeren van software op uw computer, heeft u de installatie van applicaties zoals Microsoft Visual C ++ Redistributable, MS Framework en dergelijke waargenomen. Juist zulke programmeurs ontwikkelen deze applicaties, ze houden zich ook bezig met het programmeren van diverse CMS en hosting voor sites.

Wat heb je nodig om lid te worden van deze categorie ontwikkelaars?


Je bent succesvoller als je leert hoe meer ervaren collega's werken. Besteed altijd speciale aandacht aan codeopmerkingen.

Systeemprogrammering


  1. Om te beginnen is het noodzakelijk om duidelijk te begrijpen wat systeemprogrammering precies inhoudt. Systeemprogrammeurs houden zich meestal niet bezig met bepaalde taken, maar met het wetenschappelijke gebied van programmeren, dus je moet je niet vastpinnen op een specifiek platform.
  2. Het is raadzaam om de aanbevelingen in de eerste drie punten voor programmeurs van applicaties voor desktopcomputers op te volgen.
  3. Het is ook zinvol om op zijn minst een eerste cursus lineaire algebra te volgen.
  4. Volg zeker een cursus rekenmethodes.

  5. Volg daarnaast een cursus discrete wiskunde en/of logica.
  6. Maak uzelf vertrouwd met besturingssystemen van een andere aard in de afwezigheid van add-ons. Zo'n kennismaking kan op de volgende manier:
  7. Blader door educatieve literatuur die de basisprincipes van computerhardware-architectuur bevat, of volg de juiste thematische cursus.
  8. Analyseer de karakteristieke verschillen van verschillende hardwareplatforms.
  9. Leer de basis van assembler voor uw favoriete hardwareplatform of besturingssysteem. Na enige tijd moet u de assembleertaal van andere systemen en platforms leren.
  10. Volg een cursus over het leren van de ANSI C- en C++-talen, samen met het beheersen van de basisprincipes van procedureel programmeren.
  11. Maak uzelf vertrouwd met de belangrijkste C- en C++-bibliotheken en begin ze te gebruiken op uw platform naar keuze. Bijzondere aandacht moet worden besteed aan de actieve sjabloonbibliotheek (ATL) en de standaard sjabloonbibliotheek (STL).
  12. Om een ​​goed begrip te krijgen van hoe C en C++ zullen werken op het door u gekozen platform, dient u online bronnen, literatuur en relevante thematische cursussen te raadplegen voor de nodige informatie.
  13. Begin met het bouwen van C/C++-code met een hogere complexiteit.
  14. Maak uzelf vertrouwd met de nuances van Assembleren op een complexer niveau.
  15. Volg een cursus besturingssysteemontwikkeling.
  16. Zoek en bestudeer de documentatie voor uw platform naar keuze. Het zal veel gemakkelijker voor u zijn om een ​​op Unix gebaseerd besturingssysteem te gebruiken. Maar daarvoor is het noodzakelijk om het systeem goed genoeg te begrijpen.
  17. Ga aan de slag met de opgedane kennis. Maak om te beginnen kleine systeemhulpprogramma's. Om dit te doen, is het raadzaam om het volgende te doen:
  18. Leer talen in de meest logische volgorde. Alleen in dit geval maakt het uit welke van de programmeertalen uw eerste is. Het is een goed idee om eerst ANSI C te leren, niet C#, Java of D. Daarna kunt u verder gaan met C++. Een systeemprogrammeur moet over de volgende vaardigheden beschikken:

wetenschappelijke programmering


Programmeurs worden veelgevraagd en populair, niet omdat ze goede code kunnen schrijven, maar omdat ze bepaalde kennis, aanvullende vaardigheden en bepaalde karaktereigenschappen hebben. Er zijn veel manieren om dit vaardigheidsniveau te bereiken, u kunt bijvoorbeeld de volgende gebruiken.

  1. Wees niet bang om advies in te winnen bij meer ervaren collega's. Als zelfstandig zoeken naar een oplossing voor een ontstane probleem niet het verwachte resultaat oplevert en je daardoor lange tijd niet kunt bewegen, is het raadzaam om hulp te zoeken bij meer ervaren collega's. De kans om te leren van je collega's is moeilijk te overschatten. Het belangrijkste is: formuleer de vraag zo duidelijk mogelijk, het komt vaak voor dat er de nodige hint in zit.
  2. Waardeer je eigen werk. Je moet de taak niet behandelen als een gunst of een onaangename, maar onvermijdelijke noodzaak, hier zal geen voordeel uit voortvloeien. Benader het ontwerp van de code zorgvuldig, structureer het, maak het begrijpelijk en leesbaar, niet alleen voor jezelf, en vergeet niet om het af te stemmen op de normen die in het team of bedrijf zijn aangenomen. Reinig het resultaat zorgvuldig en corrigeer zelfs de kleinste, niet erg opvallende gebreken. Als de interface bijvoorbeeld een paar pixels naar links is verschoven in het proces, neem dan de tijd om hem terug te brengen naar de juiste plaats. Zorg ervoor dat u een volledige controle van het eindresultaat van het werk uitvoert. Hierdoor zullen uw inspanningen zeker opgemerkt en gewaardeerd worden.
  3. Voortdurend ontwikkelen. Om een ​​echt gewilde specialist op dit gebied te worden, moet u zich voortdurend ontwikkelen, de nieuwste innovatieve technologieën volgen en voortdurend nieuwe trends analyseren. Omdat de jongere generatie zich vrij snel ontwikkelt en tastbare concurrentie creëert, is het noodzakelijk om voortdurend je eigen vaardigheden aan te scherpen om technologieën snel en effectief onder de knie te krijgen.
  4. Leer uw gedachten duidelijk te verwoorden en uw ideeën correct over te brengen. Volgens de oprichter van Fog Greek Software, de bekende programmeur Joel Spolsky, zit het belangrijkste verschil tussen relatief goede en echt uitstekende programmeurs niet in het aantal programmeertalen dat ze leren en niet in welke ze de voorkeur geven, maar in het vermogen om anderen te overtuigen en hun eigen ideeën op competente wijze over te brengen. Dit is hun belangrijkste vaardigheid. Programmeurs van dit niveau schrijven begrijpelijke opmerkingen en technische specificaties, dus de code die ze maken is begrijpelijk genoeg voor andere programmeurs om deze later zonder veel moeite te gebruiken en te ontwikkelen.

Ontdek wat u moet doen. Over het algemeen schrijven programmeurs codes voor applicaties die in een bedrijf worden gebruikt, dus u moet weten hoe een bedrijf werkt, hoe het is georganiseerd en hoe het financiële systeem is opgebouwd.

Leer verschillende soorten computerhardware-architectuur. Het is handig om de basisprincipes van het ontwerp van digitale schakelingen en computerarchitectuur te leren. Sommige experts zijn echter van mening dat dit in de beginfase niet nodig is, dus het is voldoende om 2-3 artikelen over dit onderwerp te lezen (bijvoorbeeld deze en deze). Je kunt hier op terugkomen als je je eerste programmeertaal onder de knie hebt.

Leer een programmeertaal op basisniveau. Voel je vrij om te leren wat als kinderachtig wordt beschouwd, alleen maar omdat je ouder bent. Scratch is een voorbeeld van zo'n taal. Dergelijke talen zullen het gemakkelijker maken om met je eerste echte programmeertaal te werken. Deze stap kan echter niet als verplicht worden beschouwd. Bovendien kunt u dit vóór de vorige stap doen.

Leer een van de geavanceerde modelleersystemen (zoals UML of ORM).

Begin met het schrijven van kleine console- of console-achtige applicaties. U kunt oefeningen uit programmeerboeken gebruiken. Kies een tool om programma's te schrijven in de programmeertaal waarmee je werkt.

Begin toe te passen wat je hebt geleerd.

  • Objectgeoriënteerd paradigma.
  • Volg een introductiecursus in ten minste één programmeertaal in een ander programmeerparadigma. Je zou in elk paradigma één taal moeten leren, en in de regel doen alle goede programmeurs dat, maar je hoeft er alleen maar mee te beginnen, ermee te werken, te oefenen en dan verder te gaan met andere als je al echte programmeerervaring hebt. Kijk dan eens naar een van de volgende gebieden:

    • Logisch programmeerparadigma.
    • Functioneel programmeerparadigma.
  • Probeer twee programmeertalen te vergelijken die je al onder de knie hebt. Evalueer de sterke en zwakke punten van elk. Meestal doen ze het als volgt:

    • Neem een ​​eenvoudig voorbeeld van uw vroege werk in de eerste programmeertaal en herschrijf het in de tweede taal.
    • Maak een nieuw project aan en gebruik daar beide talen. Mogelijk kunt u sommige dingen niet in een van de talen doen - alles hangt af van het project en de talen die u kiest.
    • Maak spiekbriefjes of vergelijk vergelijkbare constructies in beide talen en hun verschillen in een draaitabel.
    • Zoek een manier om constructies in de ene taal te repliceren met een andere taal.
  • Leer visuele programmeerconcepten met behulp van een van de door u gekozen talen. Bijna alle programmeertalen hebben versies of bibliotheken die visuele programmering en andere soorten console of console-achtige programmering ondersteunen. U kunt dit op de volgende manier doen:

    • Volg een inleidende, evenementgestuurde programmeercursus. In principe is visueel programmeren gebaseerd op gebeurtenissen en gebeurtenisafhandeling (met behulp van de gekozen programmeertaal).
    • Probeer eens met veel desktopsoftware te werken om een ​​idee te krijgen van wat die programma's doen. De meeste ontwikkelaarsbedrijven bieden bètaversies van apps die u kunt uitproberen. Volg de ontwikkeling van de gebruikersinterface.
    • Lees artikelen of tutorials over het werken met de grafische gebruikersinterface.
  • Begin uw kennis toe te passen door eenvoudige toepassingen te ontwikkelen. Probeer de opgedane kennis te gebruiken om alledaagse problemen op te lossen. Schrijf bijvoorbeeld programma's die de naam van bestanden in bulk wijzigen, tekstbestanden visueel vergelijken, documentnamen kopiëren naar een specifieke locatie in een apart geheugenbestand of tekstbestand, enzovoort. Houd het om te beginnen eenvoudig.

    Programmeren is een van de meest waardevolle vaardigheden voor loopbaangroei, zelfontwikkeling en het creëren van iets geweldigs. Tien tips voor degenen die net beginnen aan hun reis in de wereld van programmeren, van Lifehacker.

    10. Ontdek waarom je wilt coderen

    De gekozen richting in de studie zal voor een groot deel afhangen van waarom je precies wilt leren programmeren en hoeveel tijd je bereid bent aan dit proces te besteden. Als je programmeur wilt worden, moet je je eerst inschrijven voor professionele cursussen (Google heeft een lijst met vaardigheden en cursussen samengesteld voor degenen die software-ingenieurs willen worden). Als je in je vrije tijd games en websites wilt maken voor de lol, dan zijn online cursussen de beste keuze. Bloc heeft een vergelijkingstabel gemaakt van cursussen op basis van download, kosten en reden om te leren coderen.

    9. Kies de juiste taal

    7. Probeer apps voor kinderen

    Nu leren zelfs peuters programmeren. Hoewel veel leerprogramma's voor kinderen eenvoudig zijn, zijn sommige (zoals Scratch) geschikt voor alle leeftijden. Het maakt niet uit hoe oud je bent, zelfs animatie-apps voor kinderen kunnen je de basis van coderen leren (edX heeft een nieuwe Scratch-zelfstudie).

    6. Profiteer van gratis online training

    Gratis online trainingen en projecten (Codecademy, Hour of Code, etc.) kunnen je helpen bij het schrijven van je eerste programma. Tutorials van Khan Academy, Codecademy, Code.org en anderen laten je kennismaken met de basisprincipes van programmeren en alles wat je nodig hebt om een ​​game, website of ander project te maken. Vind de juiste bron afhankelijk van de programmeertaal met behulp van . Dit is een goed startpunt, maar je moet wel verdere training volgen.

    5. Volg een online cursus

    Online programmeercursussen bieden een uitgebreidere educatieve training in vergelijking met sites die online training in één taal aanbieden. Deze cursussen zijn bedoeld om gedurende een aantal maanden basisvaardigheden aan te leren in lessen op universitair niveau. Ik ben een grote fan van de Harvard CS50 online cursus (je kunt deze gratis volgen). Er zijn ook andere mogelijkheden. Je kunt zelfs een universitaire opleiding volgen door een van de 15 online cursussen te kiezen.

    4. Gratis programmeerboeken

    Als u met een probleem vastzit of het antwoord op uw vraag moet vinden, vergeet dan de naslagwerken niet. GitHub heeft een enorme collectie van meer dan 500 gratis programmeerboeken. Er is ook een e-bookcollectie met 24 programmeertalen beschikbaar.

    3. Leer tijdens het spelen

    Soms zijn games de beste manier om te leren. Hoewel veel programmeerhandleidingen je leren hoe je eenvoudige of complexe spellen programmeert, zijn sommige zelfstudiesites zelf games: Code Combat en CodinGame zijn tools die je kunt gebruiken om plezier te hebben.

    2. Zoek een mentor of word er een

    De programmeergemeenschap zit vol met mensen die klaar staan ​​om de volgende generatie programmeurs te helpen. Hack.pledge() is een site om je te helpen een mentor te vinden. Of je kunt zelf mentor worden voor iemand anders. Door te onderwijzen wat u hebt geleerd, kunt u informatie beter onthouden.

    1. De code van iemand anders ontleden

    Deze sectie zal worden bijgewerkt met artikelen en video's, na het lezen en bestuderen, die u kunt begrijpen hoe u zelf een programmeur kunt worden. Alle artikelen zijn persoonlijk geschreven - door een praktiserende programmeur met vele jaren ervaring. Bovendien is het mijn persoonlijke ervaring die voor u van waarde zal zijn, omdat ik oorspronkelijk autodidact was en alles met vallen en opstaan ​​​​begreep.

    Daarna ben ik natuurlijk ook afgestudeerd aan de universiteit. Dat wil zeggen, in theorie werd hij ook bekwaam. Maar dat was later, toen ik al als programmeur aan het werk was. Dat wil zeggen, ik ben erin geslaagd om een ​​baan te krijgen zonder niet alleen een hogere, maar zelfs op zijn minst een speciale opleiding op het gebied van programmeren te hebben.

    En dat allemaal omdat...

    Ik zal hier echter in afzonderlijke artikelen over praten. Bekijk in de tussentijd de structuur van deze sectie:


    In deze subsectie zullen er artikelen zijn voor de meest onervaren, voor degenen die er net over hebben nagedacht om programmeur te worden. Hier zal ik het hebben over waar het beter is om te beginnen met leren programmeren en welke fouten het wenselijk is om te vermijden.

    Opleiding
    In deze sectie zal ik het hebben over wat, waar en hoe te studeren om een ​​professionele programmeur te worden.


    Artikelen over programmeertalen, hun kenmerken, voor- en nadelen, vergelijking van programmeertalen.


    Hier zal ik het hebben over verschillende ontwikkeltools. Zowel over de programma's die ik zelf gebruik, als over speciale programma's in het algemeen - teksteditors, compilers, verschillende handige tools die programmeurs in hun werk gebruiken. Ook over de oude, die worden praktisch niet meer gebruikt, omdat je de geschiedenis van je beroep moet kennen.


    Hier zullen we het hebben over programmeertechnologieën. Wat is het, waar, hoe en waarvoor wordt het gebruikt, enz.

    Algoritmen
    Hier zal ik het hebben over de eenvoudigste en meest gebruikte algoritmen in de praktijk. Voorbeelden zullen dat natuurlijk ook zijn.


    Er zullen verschillende chips en trucs zijn die professionele programmeurs in hun werk gebruiken en die hen helpen bij het oplossen van verschillende problemen. In het algemeen kan dit onderdeel ook “Ervaring uitwisselen” worden genoemd.

    Verhalen
    Zodat het leven niet alleen bestaat uit het bestuderen van saaie materialen, zal ik soms verhalen over programmeren verdunnen met verschillende verhalen, zowel echte als niet zo ...


    Diverse documenten, broncodes, programma's en andere soortgelijke zaken zullen hier te downloaden zijn.

    Het belangrijkste doel van deze sectie is om beginners te helpen vanaf het begin een programmeur te worden. Bovendien zal de nadruk vooral liggen op zelfstudie. Omdat ik begrijp dat niet iedereen klaar is om programmeur te worden. Iemand anders, besluiteloos, probeert te beslissen of hij het überhaupt nodig heeft, of is het beter om zichzelf in een andere specialiteit te proberen.

    Daarom besloot ik mijn best te doen om een ​​complete beginner te zijn door deze artikelen te lezen en video's te bekijken:

    1. Kon beslissen of hij programmeur wilde worden
    2. En als dat zo was, kon ik de juiste richting kiezen en een consistente en effectieve programmeertraining starten

    Dus abonneer je op de site-update en wacht op het nieuws. Er zullen regelmatig artikelen en video's verschijnen. En degenen die al bestaan, kun je nu studeren. Ik raad je aan om bij het begin te beginnen. Maar lees eerst mijn boek How to Become a Programmer, waarin je de basisprincipes van programmeren leert en zelfs je eerste paar programma's schrijft.

    Het boek is helemaal gratis. Verdeeld via abonnement. Je kunt het hier op deze pagina krijgen. Voer gewoon uw e-mailadres in en klik op de knop GET.

    In de brief die op het door u opgegeven adres komt, moet u de inschrijving bevestigen door op de link te klikken. Je ontvangt dan een link om het boek te downloaden. Alles is eenvoudig…

  •