BÞrns beskyttelsesdag mod dÄrlig kode

BÞrns beskyttelsesdag mod dÄrlig kode

IndlĂŠgget handler om bĂžrns beskyttelsesdag. Enhver lighed er ikke en lighed.

Som 10-Ă„rig fik jeg min fĂžrste computer og en disk med Visual Studio 6. Siden da har jeg opfundet smĂ„ opgaver for mig selv — at automatisere opgaver, bygge en webservice til tre personer eller skrive et spil, som senere vil blive fjernet fra Play Store pĂ„ grund af alder. SelvfĂžlgelig mistede jeg kildekoden og skrev kode, som jeg skammer mig over at vise andre. Som 10-Ă„rig ville jeg bestemt ikke have afvist at fĂ„ et arkiv fra fremtiden med alle mine fejl — sĂ„ jeg aldrig ville begĂ„ dem igen.

For et par uger siden spurgte jeg kolleger fra Yandex.Money, hvad de ville anbefale et barn, der Þnsker at blive IT-ekspert, og sÄ kom jeg i tanke om noget ved mig selv. SÄdan blev denne tekst til. Jeg foreslÄr, at vi taler om det.

Jeg anbefaler ikke at spilde for meget energi pÄ valgets kvaler; det er bedre at prÞve alt og beskÊftige sig med mange ting. NÄr du har en generel forstÄelse af, hvad der findes, kan du selv beslutte, hvilken retning du skal gÄ, og hvilken du bedre skal give slip pÄ.

Sergey, juniorudvikler

Barndom

Hvad er den sjoveste aktivitet i en programmÞrbarndom, nÄr der stadig ikke er internet?

Jeg havde to — at gennemgĂ„ alle spillene fra disken "800 spil pĂ„ russisk" med alle programmerne fra disken "Alt hvad hackeren behĂžver", og sĂ„ skrive alle de spil om, som jeg havde brugt mere end 10 timer pĂ„, fra bunden i BASIC. Der er ingen forskel pĂ„, hvad der kommer ud — selvom det bliver noget.

BÞrns beskyttelsesdag mod dÄrlig kode

Du tager fat, prÞver, flytter blokke rundt, eksperimenterer og nÄr ud til alt, hvad du kan nÄ. Du sletter Windows, bruger 10 timer pÄ at sÊtte Windows tilbage. Du prÞver at fÄ driverne tilbage. Du finder ud af, hvordan DOS fungerer. Du forstÄr, hvordan jumpere skal sidde, sÄ din harddisk fungerer i din vens computer (der er 200 megabyte nye spil!). Du leger med software, leger med hardware, adskiller og samler en computer. Du skriver en fodboldsimulator i 13 Är, til sidst.

NÄr der ikke er noget, bliver du lykkelig af det.

Man mÄ ikke undervurdere vigtigheden af egenkontrol. Jeg mener, at nybegyndere i IT undervurderer, hvor strengt de skal kontrollere deres produkt (og i analysen ogsÄ) og hvor lang tid det tager i forhold til den rent kreative del. Jo mere interessant det, du laver, jo svÊrere og lÊngere vil kontrollen vÊre.

Det er selvfÞlgelig et lidt abstrakt rÄd, men hvis jeg havde vidst det med det samme.

Og jeg anbefaler ikke at fokusere ensidigt pÄ én retning inden for IT. Her betyder det ogsÄ noget at have et bredt perspektiv.

Anna, senior systemsanalytiker

Mellemskole

PĂ„ et tidspunkt diskuterede man programmering pĂ„ et forum i en provinsby P — og der opstod en trĂ„d med titlen "Store virksomheder sĂžger PHP-programmĂžrer". Teksten i annoncen lĂžd sĂ„ledes:

Store virksomheder sĂžger PHP-programmĂžrer:

For at finde ud af, om du skal komme til samtale, skal du udfÞre en enkel opgave: skriv et program i PHP, der finder sÄdanne heltal x, y og z, sÄ x^5+y^5=z^5. (^ - eksponent).

Du kan svare her.

I denne trĂ„d svarede kun et par personer — og jeg var en af dem. Med min sekstenĂ„rige naivitet svarede jeg:

Det er virkelig mÊrkeligt. Og du skal ogsÄ have en kraftig computer for at finde dette...
For fra x,y,z ≀ 1000 findes der ingen sĂ„danne tal - for det fĂžrste (jeg kastede noget sammen i VB, stĂžrre var indtil videre ikke muligt), og for det andet bliver computeren fuldstĂŠndig ubrugelig.

Det er ikke ligegyldigt, ifĂžlge mig.

Ja, en fĂŠlde, en fange for nybegyndere, ja, bare lidt tilfĂŠldigt, men sĂ„ hvad. Det er tydeligt, at jeg brugte en vis tid pĂ„ et simpelt script, men jeg glemte helt eksistensen af Fermats sĂŠtning — som trĂ„dforfatteren, den respectable The_Kid, prĂŠciserede til sidst.

Resultatet er trist - i P. er der praktisk talt ingen, der kender matematik, men hver anden anser sig selv for programmÞr. PÄ tre timer havde de forummer, hvor jeg lagde min besked, samlet omkring to hundrede visninger... og kun to rigtige svar. Og Fermats sÊtning - det er jo en del af pensum i skolen, og betingelserne er sÄ enkle, at de bÞr springe i Þjnene. For Þvrigt svarede seks ud af seks af mine bekendte studerende fra Novosibirsk, da jeg spurgte dem i MSN, "Det er jo Fermats sÊtning".
Og hvem skal man sÄ ansÊtte?

Det fik mig dengang til at reagere med et vĂŠld af indignation i stil med: "Hvis jeg ikke har skrevet om Fermats sĂŠtning, betyder det ikke, at jeg ikke kender den" — et klassisk forsvar. Er jeg ked af det nu? Nej, det er ogsĂ„ en livslektie. Som dengang, da mit spil blev featured i den indonesiske Windows Phone Store, og efter to uger blev fjernet, fordi jeg ikke havde opdateret nogle betingelser for EULA.

Og det er helt ubegribeligt: hvis der i en stor virksomhed ikke er nogen at ansĂŠtte — hvad skal man sĂ„ vĂŠre? Hvad skal man beskĂŠftige sig med? Hvor skal man vokse?

Det er ikke nÞdvendigt at tro, at nÄr du har fÄet en uddannelse, vil du vÊre programmÞr/taxachauffÞr/matematiker eller noget andet.

Tiden er kommet, hvor grundlĂŠggende fag (matematik, fysik, datalogi, filosofi) i eksamensbeviset bliver langt vigtigere end anvendte fag (programmering, design inden for specifikke omrĂ„der osv.). Den videregĂ„ende uddannelse begynder at opdeles i lag – grundlĂŠggende (ingeniĂžr) og anvendt. Man skal ikke lĂŠre specifikke fĂŠrdigheder, men lĂŠre at tĂŠnke, anvende en videnskabelig tilgang, forstĂ„ hvordan man lĂžser problemer og udvikle blĂžde fĂŠrdigheder.

Dette gĂŠlder universitetet. Man har hele livet til at lĂŠre de anvendte fĂŠrdigheder.

Oleg, fĂžrende systemanalytiker

Universitet

Du skriver kode i 'C++', du skriver kode i Java. Du rĂžrer ved assembler, trĂŠkker hĂ„nden tilbage, du havner i Qt og tĂŠnker, hvorfor der sker sĂ„ meget med dig. Fra det fjerde Ă„r begynder alle at vĂŠre ligeglade med, hvilket sprog du skriver de vigtige labber i — underviserne ser blot pĂ„ koden halvhjertet.

SĂ„dan er det selvfĂžlgelig ikke overalt — der er universiteter, hvor man virkelig gĂžr det godt, men der tager de kun folk, der i skolen lĂžste opgaver fra ACM, pressede det hele ud af grafteori i ekstra timer og huskede, hvor meget hukommelse alle verdens algoritmer krĂŠver.

Jeg lþste ikke opgaver, jeg gik ikke til ekstra timer, men lérte bare i min matematikklasse, samtidig med at jeg lavede interessante ting. Spoiler — til jobsamtaler vil de ikke vére nyttige for nogen.

Fþrst bþr man finde ud af, hvad man kan lide inden for IT. Hvis man kan lide alle retninger, bliver det svért. At lére et sprog — fþrer ikke til noget, det vil kun skabe forvirring senere.

Jan, specialist i finansiel overvÄgning

En virkelig historie — for et Windows-simulator, lavet sammen med en klassekammerat i 10. klasse, kan man i universitetet automatisk fĂ„ et par eksamener og bestĂ„et i fag. Man kan endda senere fortĂŠlle alle, hvor fantastisk det var. Problemet er, at det ikke var fantastisk — det var en forvirrende arkitektur, forfĂŠrdelig kode og en totalt mangel pĂ„ nogen som helst standarder for noget som helst.

SĂ„dan nogle ting skal gĂžres med Ă©t mĂ„l — at have sin egen katalog af fejl. Selvom det ikke redder en fra impostor-syndromet, nĂ„r man befinder sig i et stort firma med sine overfladiske viden om alt og tĂŠnker, at man nu bliver afslĂžret.

BÞrns beskyttelsesdag mod dÄrlig kode

Jeg bakker op, det er vigtigere at hjĂŠlpe med rĂ„d om, hvad man kan gĂžre, og hvor man kan finde information, end omvendt. Og det er slet ikke skrĂŠmmende, hvis han i starten gĂžr noget pĂ„ gefĂŒhl. — Bevidstheden vil komme senere. Det er vigtigt, at man kan lide det.

Erik, testingeniĂžr

Vi skriver alle udviklingsplaner – hvad vi skal lére, hvad vi skal beskéftige os med i den nérmeste fremtid, og hvordan vi kan forbedre os selv. Men det virker som om, det ville vére nyttigt for os alle at skrive et brev til os selv fra fortiden – her er mit.

  1. Tag dig tid, find en bog, og installer den Ubuntu-distribution, som du fik gratis fra Canonical. Der er tydeligvis et enkelt problem, Ubuntu fungerer overalt. Og Linux vil vĂŠre dig meget nyttigt.
  2. VÊr ikke bange for konsollen. Volkov Commander kan selvfÞlgelig vÊre pÄ en diskette, men prÞv at finde ud af, hvad du skal med alle disse kommandoer, bliv venner med kommandolinjen. Disketter vil forsvinde. Plader vil forsvinde. USB-stik vil ogsÄ forsvinde. Bekymr dig ikke for meget.
  3. LÊs om algoritmer, forstÄ sortering, trÊer og heaps. LÊs bÞger.
  4. For at forstÄ det grundlÊggende er betalte kurser ikke nÞdvendige. Snart kommer YouTube - og du vil blive overrasket.
  5. Lad dig ikke begrÊnse af Basic. Der er hundredvis af teknologier i verden, der fortjener din opmÊrksomhed, og en million ting, der er mere interessante end endnu en gang at tegne brugerformer i Excel. Tag for eksempel Python - og sÄ finder du ud af resten.
  6. LÊr at bruge Git, lav backup af alle kildetekster. Skriv i det mindste én klient-server-applikation for at forstÄ, hvordan de fungerer. ForstÄ netvÊrk, switches og routere.
  7. Og hvis du lĂŠser dette nu, har det hele ikke vĂŠret forgĂŠves.

FortÊl i kommentarerne, hvad du ville skrive til dig selv fra fortiden? Giv nogle rÄd til nutidens skoleelever og studerende, der stÄr ved en korsvej og prÞver at finde deres vej. Lad os tale om det.

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster