Children's Day Against Bad Code.

Children's Day Against Bad Code.

Deze post is gewijd aan de Dag van de Bescherming van Kinderen. Eventuele overeenkomsten zijn louter toeval.

Op mijn tiende kreeg ik mijn eerste computer en een schijf met Visual Studio 6. Sindsdien heb ik mezelf verschillende uitdagingen gegeven - taken automatiseren, een webservice voor drie personen opzetten of een spel maken dat uiteindelijk uit de Play Store wordt verwijderd vanwege veroudering. Natuurlijk ben ik vaak bronnen kwijtgeraakt en schreef ik code die ik me schaamde om aan mensen te tonen. En op mijn tiende zou ik zeker geen nee hebben gezegd tegen een archief uit de toekomst met al mijn fouten - zodat ik ze nooit meer hoefde te maken.

Een paar weken geleden vroeg ik mijn collega's van Yandex.Money wat ze nu een kind zouden adviseren dat IT-specialist wil worden, en toen herinnerde ik me iets over mezelf. Zo ontstond deze tekst. Laten we daarover praten.

Ik raad aan om niet teveel tijd en energie te verspillen aan de keuze, maar eerder alles te proberen en met alles bezig te zijn. Wanneer je een algemeen idee hebt van wat er is, kun je zelf beslissen in welke richting je verder wilt gaan en welke je beter kunt laten rusten.

Sergei, junior programmeur

Kindertijd

Wat is de leukere bezigheid in het leven van een programmeur als er nog geen internet is?

Ik had er twee - alle spellen op de schijf '800 spellen in het Russisch' met alle programma's van de schijf 'Alles wat een hacker nodig heeft' uit elkaar halen, en daarna alle spellen die ik meer dan 10 uur heb gespeeld opnieuw vanuit het niets in Basic schrijven. Het maakt niet uit wat eruit komt - zelfs als het geen succes is.

Children's Day Against Bad Code.

Je pakt het, probeert het, schuift blokken om, experimenteert en reikt naar alles wat binnen bereik ligt. Je verwijdert Windows en brengt 10 uur door met het opnieuw installeren van Windows. Je probeert de stuurprogramma's terug te krijgen. Je probeert uit te vinden hoe DOS werkt. Je begrijpt hoe de jumpers geplaatst moeten worden zodat jouw harde schijf op de computer van een vriend opstart (daar zijn 200 megabyte nieuwe spellen!). Je draait met software, draait met hardware, demonteert en assembleert een computer. Je schrijft 13 jaar lang aan een voetbal simulatie, uiteindelijk.

Als er niets is, word je gelukkig met dat simpele.

Je moet het belang van zelfevaluatie niet onderschatten. Naar mijn mening onderschatten nieuwkomers in IT hoe streng ze hun product (en ook in analyses) moeten controleren en hoeveel tijd dat vergt in vergelijking met puur creatief werk. Hoe interessanter wat je doet, hoe moeilijker en tijdrovender de controle zal zijn.

Dit is natuurlijk een enigszins abstract advies, maar als ik het meteen had geweten.

En ik raad aan om je niet te fixeren op één richting binnen IT. Ook hier is het belangrijk om breed te denken.

Anna, senior systeemanalist

Middelbare school

Op een gegeven moment werd er op het forum van de kleine stad P gesproken over programmeren — en daar verscheen een thread met de titel "Er worden PHP-programmeurs gezocht bij een groot bedrijf". De tekst van de advertentie was als volgt:

Er worden PHP-programmeurs gezocht bij een groot bedrijf:

Om te begrijpen of je op gesprek moet komen, voer je een eenvoudige opdracht uit: schrijf een programma in PHP dat zulke positieve gehele getallen x, y en z vindt, zodat x^5+y^5=z^5. (^ - exponent).

Je kunt hier reageren.

In deze thread hebben maar een paar mensen gereageerd — ik was daar ook bij. Met al mijn zestiendejarige naïviteit antwoordde ik:

Dit is echt vreemd. En je hebt een behoorlijke computer nodig om dit te vinden...
Want voor x,y,z ≤1000 zijn er geen zulke getallen — dat is stap één (ik gebruikte VB, verder heb ik er nog niet mee gedaan), en ten tweede loopt de computer vast.

Het maakt echt niet uit, IMO.

Ja, een truc, een valstrik voor nieuwkomers, ja, het is echt een domme grap, en wat dan nog? Het is duidelijk dat ik enige tijd heb besteed aan een simpel script, maar ik vergat volledig het bestaan van de stelling van Fermat — waar auteur van de thread, de geëerde The_Kid, aan het einde verduidelijkte.

De uitkomst is treurig - in P zijn er praktisch geen mensen die wiskunde begrijpen, maar elke tweede meent een geweldige programmeur te zijn. In drie uur tijd had ik op alle forums waar ik een bericht plaatste, in totaal ongeveer tweehonderd weergaven... en slechts twee goede antwoorden. En de stelling van Fermat - dat is toch basisschoolstof en de voorwaarden zijn zo eenvoudig dat ze voor de hand liggen. Overigens, tijdens een enquete via ICQ antwoordden 6 van de 6 bekende Nieuw-Siberische studenten: "Dat is de stelling van Fermat".
En wie moeten we daarna aannemen?

Toen voelde ik een woede in de trant van: "Als ik de stelling van Fermat niet heb genoemd, betekent dat niet dat ik het niet weet" — een klassieke afschuiving. Ben ik nu verdrietig? Nee, dit is ook een levensles. Net als toen mijn spel werd gefilterd in de Indonesische Windows Phone Store en twee weken later werd verwijderd, omdat ik bepaalde voorwaarden in de EULA niet had bijgewerkt.

En het is helemaal niet duidelijk: als er bij een groot bedrijf niemand is om aan te nemen — wie kan je dan worden? Wat kan je doen? Waar kan je groeien?

Je hoeft niet te denken dat je, als je een opleiding hebt afgerond, programmeur/taxichauffeur/wiskundige of iets anders zult zijn.

De tijden zijn veranderd, nu zijn de basisvakken (wiskunde, natuurkunde, informatica, filosofie) veel belangrijker dan de toegepaste vakken (programmeren, ontwerp in specifieke gebieden, enzovoort) op het diploma. Het hoger onderwijs begint zich te splitsen in lagen – basis (technisch) en toegepast. Je moet niet specifieke vaardigheden leren, maar leren denken, een wetenschappelijke benadering ontwikkelen, begrijpen hoe je problemen oplost, en communicatieve vaardigheden ontwikkelen.

Dit geldt voor de universiteit. Voor toegepaste vaardigheden heeft iemand de rest van zijn leven nog.

Oleg, senior systeemanalist

Universiteit

Je schrijft code in C++, je schrijft code in Java. Je raakt assembler aan, trekt je hand terug, raakt betrokken bij Qt en denkt, waarom gebeurt dit met mij? Tegen de vierde cursus maakt het iedereen niet meer uit met welke taal je weer belangrijke labs schrijft; docenten kijken er slechts summier naar.

Natuurlijk is dit niet overal zo — er zijn universiteiten waar het krachtig en goed is, maar daar nemen ze jongens aan die op school ACM-taken oplosten, tijdens extra lessen het maximale uit de grafentheorie haalden en uit hun hoofd leerden hoeveel geheugen alle bestaande algoritmen ter wereld vereisen.

Ik heb dat niet gedaan, ben niet naar extra lessen geweest, maar heb gewoon bijgeleerd in mijn wiskundeklas, tegelijkertijd interessante dingen gedaan. Spoiler — tijdens gesprekken zullen ze voor niemand nuttig zijn.

Bepaal eerst wat je leuk vindt in IT. Als je alle richtingen leuk vindt, zal het moeilijk zijn. Leer een bepaalde taal — leidt tot niets, het zal alleen maar verwarring opleveren in de toekomst.

Jan, specialist in financiële monitoring

Een echt verhaal — voor een Windows-simulator, gemaakt met een vriend in de 10e klas, kun je in de universiteit automatisch een paar examens en tentamens halen. Je kunt zelfs later iedereen vertellen hoe geweldig dat was. Het probleem is dat het helemaal niet geweldig was — het was een verwarrende architectuur, afschuwelijke code en een complete afwezigheid van enige normen.

Dergelijke dingen moet je doen met één doel — om een eigen catalogus van leermomenten te hebben. Hoewel dit je niet zal beschermen tegen het impostor-syndroom, wanneer je in een groot bedrijf bent met oppervlakkige kennis van alles en denkt dat je nu ontmaskerd gaat worden.

Children's Day Against Bad Code.

Ik steun je, het is belangrijker om advies te geven over wat je kunt doen en waar je informatie kunt vinden, dan andersom. En het is helemaal niet eng als hij in het begin iets op gevoel doet. — Het besef komt later. Het is belangrijk dat je er plezier in hebt.

Erik, testingenieur

We schrijven allemaal ontwikkelingsplannen - wat moet worden geleerd, waarmee te werken in de nabije toekomst en hoe jezelf te verbeteren. Maar het zou voor ons allemaal nuttig zijn om een brief aan ons jongere zelf te schrijven - hier is de mijne.

  1. Neem de tijd, zoek een boek en installeer de Ubuntu-distributie die je gratis van Canonical hebt ontvangen. Er is duidelijk een eenvoudig probleem, Ubuntu werkt overal. En Linux zal je erg van pas komen.
  2. Wees niet bang voor de console. Volkov Commander past natuurlijk op een enkele floppy, maar probeer uit te zoeken waarom je al die commando's nodig hebt, en maak kennis met de opdrachtregel. Floppy's zullen uitsterven. Schijven zullen uitsterven. USB-sticks zullen ook uitsterven. Maak je niet te veel zorgen.
  3. Lees over algoritmes, begrijp sorteringen, bomen en heaps. Lees boeken.
  4. Om de basis te begrijpen, zijn betaalde cursussen niet nodig. Spoedig komt YouTube - je zult je verbazen.
  5. Blijf niet hangen in Basic. Er zijn honderden technologieën in de wereld die je aandacht waard zijn, en miljoenen dingen die interessanter zijn dan weer gebruikersformulieren in Excel tekenen. Neem bijvoorbeeld Python - en Daarna zie je verder.
  6. Leer Git gebruiken, maak een backup van al je bronbestanden. Schrijf ten minste één client-serverapplicatie om te begrijpen hoe ze werken. Begrijp netwerken, switches en routers.
  7. En als je dit nu leest, is het allemaal niet voor niets.

Vertel in de reacties wat je tegen je jongere zelf zou zeggen? Geef advies aan huidige scholieren en studenten die op een kruispunt staan en proberen hun weg te vinden. Laten we daarover praten.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster