Tag zum Schutz der Kinder vor schlechtem Code

Tag zum Schutz der Kinder vor schlechtem Code

Der Beitrag ist dem Tag zum Schutz der Kinder gewidmet. Alle Übereinstimmungen sind keine Übereinstimmungen.

Mit 10 Jahren bekam ich meinen ersten Computer und eine CD mit Visual Studio 6. Seitdem denke ich mir Aufgaben aus – Dinge zu automatisieren, einen Webservice fĂŒr drei Personen zu erstellen oder ein Spiel zu schreiben, das dann wegen des Alters aus dem Play Store gelöscht wird. NatĂŒrlich habe ich Quellcodes verloren und Code geschrieben, den ich Menschen nicht zeigen möchte. Und mit 10 Jahren hĂ€tte ich definitiv nicht abgelehnt, ein Archiv aus der Zukunft mit all meinen Fehlern zu erhalten – um sie nie zu wiederholen.

Vor ein paar Wochen fragte ich Kollegen von Yandex.Money, was sie jetzt einem Kind raten wĂŒrden, das ITler werden möchte, und erinnerte mich dann an etwas ĂŒber mich selbst. So entstand dieser Text. Ich schlage vor, darĂŒber zu sprechen.

Ich empfehle nicht, viel Energie an die Qual der Wahl zu verschwenden, sondern besser alles auszuprobieren und sich mit allem zu beschÀftigen. Wenn du verstehst, was grob vorhanden ist, kannst du selbst entscheiden, in welche Richtung du dich bewegen möchtest und von welchem du besser Abstand nimmst.

Sergey, Junior-Programmierer

Kindheit

Was ist die lustigste BeschÀftigung in der kindlichen Programmiererzeit, als es noch kein Internet gab?

Ich hatte zwei – alle Spiele von der CD „800 Spiele in russischer Sprache“ mit allen Programmen von der CD „Alles, was ein Hacker braucht“ auseinanderzunehmen und dann alle Spiele, an denen ich mehr als 10 Stunden gearbeitet habe, neu in Basic zu programmieren. Es macht keinen Unterschied, was dabei herauskommt – selbst wenn es so wird.

Tag zum Schutz der Kinder vor schlechtem Code

Du nimmst, versuchst, verschiebst die Blöcke, experimentierst und erreichst alles, was du erreichen kannst. Du löschst Windows, installierst Windows 10 Stunden spĂ€ter wieder zurĂŒck. Versuchst, die Treiber zurĂŒckzubekommen. Verstehst, wie DOS funktioniert. Verstehst, wie die Jumper sitzen mĂŒssen, damit deine Festplatte im Computer deines Freundes lĂ€uft (da sind 200 Megabyte neuer Spiele!). Drehst an der Software, drehst an der Hardware, zerlegst und baust den Computer zusammen. Schreibst 13 Jahre lang einen Fußballsimulator, schließlich.

Wenn es nichts gibt, wirst du glĂŒcklich dadurch.

Die Wichtigkeit der Selbstkontrolle darf nicht unterschĂ€tzt werden. Meiner Meinung nach unterschĂ€tzen AnfĂ€nger in der IT, wie streng sie ihr Produkt (und auch in der Analyse) kontrollieren mĂŒssen und wie viel Zeit das im Vergleich zum rein kreativen Teil in Anspruch nimmt. Und je spannender das ist, was du machst, desto schwieriger und lĂ€nger wird die PrĂŒfung sein.

Das ist natĂŒrlich ein etwas abstrakter Rat, aber wenn ich es von Anfang an gewusst hĂ€tte.

Ich empfehle auch nicht, sich auf eine einzige Richtung in der IT zu versteifen. Hier ist der Horizont ebenfalls wichtig.

Anna, Senior Systemanalytikerin

Mittelschule

In einem Moment wurde in dem Forum der Bezirksstadt P ĂŒber Programmierung diskutiert – und dort erschien ein Thread mit dem Titel „In ein großes Unternehmen werden PHP-Programmierer gesucht“. Der Text der Anzeige lautete:

In ein großes Unternehmen werden PHP-Programmierer gesucht:

Um zu verstehen, ob es sich lohnt, zu einem VorstellungsgesprĂ€ch zu kommen, fĂŒhren Sie folgende einfache Aufgabe aus: Schreiben Sie ein Programm in PHP, das solche positiven ganzen Zahlen x, y und z findet, dass x^5+y^5=z^5. (^ - Potenz).

Sie können hier antworten.

In diesem Thread haben sich nur wenige Personen gemeldet – ich war auch dabei. Mit all meiner sechzehnjĂ€hrigen NaivitĂ€t antwortete ich:

Ehrlich gesagt, etwas seltsam. Und ein starker Computer wird auch benötigt, um das zu finden...
Denn von x,y,z <=1000 gibt es solche Zahlen nicht - das ist erstens (habe es in VB notiert, mehr gibt es bis jetzt nicht), und zweitens der Computer hÀngt fest.

Es ist doch sowieso seltsam, IMO.

Ja, ein Gewinnspiel, eine Falle fĂŒr AnfĂ€nger, ja, aus der Pseudo-Community, und was ist daran? Offensichtlich habe ich eine gewisse Zeit mit einem einfachen Skript verbracht, aber ich habe völlig die Existenz des Fermat'schen Satzes vergessen – was der Autor des Threads, der ehrenwerte The_Kid, am Ende prĂ€zisiert hat.

Das Ergebnis ist traurig – in P. gibt es praktisch keine Menschen, die Mathematik verstehen, aber jeder Zweite hĂ€lt sich fĂŒr einen Mega-Programmierer. In den drei Stunden, in denen ich meine Nachricht in allen Foren gepostet habe, gab es insgesamt etwa zweihundert Aufrufe... und nur zwei richtige Antworten. Und der Fermat'sche Satz ist schließlich Teil des Schulstoffs, und die Bedingungen sind so einfach, dass sie ins Auge fallen sollten. Übrigens haben bei einer Umfrage ĂŒber ICQ 6 von 6 bekannten Studenten aus Nowosibirsk geantwortet: „Das ist doch der Fermat'sche Satz“.
Und wen soll man danach einstellen?

Das hat damals bei mir eine Welle der Empörung ausgelöst, mit dem Geist: „Wenn ich nicht ĂŒber den Fermat'schen Satz geschrieben habe, bedeutet das nicht, dass ich ihn nicht kenne“ – eine klassische Ausrede. Bin ich jetzt traurig? Nein, das ist auch eine Lektion fĂŒrs Leben. Wie damals, als mein Spiel im indonesischen Windows Phone Store gefeatured wurde und zwei Wochen spĂ€ter gelöscht wurde, weil ich einige Bedingungen der EULA nicht aktualisiert hatte.

Und es ist völlig unverstĂ€ndlich: Wenn in einer großen Firma niemand zu beschĂ€ftigen ist, wer soll dann eingestellt werden? Was soll man tun? Wohin soll man wachsen?

Man sollte nicht denken, dass man mit einem Abschluss automatisch Programmierer / Taxifahrer / Mathematiker oder etwas anderes wird.

Es sind Zeiten gekommen, in denen die grundlegenden FĂ€cher (Mathematik, Physik, Informatik, Philosophie) im Diplom viel wichtiger werden als die angewandten (Programmierung, spezifische Bereichsplanung usw.). Die Hochschulausbildung beginnt sich in Schichten zu unterteilen – grundlegende (technische) und angewandte. Es sollte nicht auf spezifische FĂ€higkeiten, sondern auf Denken, wissenschaftliche AnsĂ€tze, das VerstĂ€ndnis, wie man Probleme löst und Soft Skills gelernt werden.

Das ist, was die UniversitĂ€t betrifft. FĂŒr die praktischen FĂ€higkeiten hat man das ganze restliche Leben.

Oleg, leitender Systemanalytiker

UniversitÀt

Du schreibst Code in C++, schreibst Code in Java. Du berĂŒhrst Assembler, ziehst die Hand zurĂŒck, gerĂ€tst in Qt und fragst dich, warum das so ist. Im vierten Jahr ist es allen egal, auf welchem Framework du deine wichtigen Labore schreibst – die Dozenten schauen nur auf den Code.

So ist es natĂŒrlich nicht ĂŒberall – es gibt UniversitĂ€ten, die stark und gut sind, aber dort werden nur die genommen, die in der Schule Aufgaben aus der ACM gelöst haben, in zusĂ€tzlichen Kursen alles aus der Graphentheorie herausgeholt und auswendig gelernt haben, wie viel Speicher die existierenden Algorithmen weltweit benötigen.

Ich habe nicht gelöst, bin nicht zu den Zusatzkursen gegangen, sondern habe einfach in meiner Mathematikklasse weitergelernt und dabei interessante Dinge gemacht. Spoiler – bei VorstellungsgesprĂ€chen werden sie niemanden interessieren.

Zuerst sollte man sich besser entscheiden, was aus dem IT-Bereich gefĂ€llt. Wenn einem alle Richtungen gefallen, wird es schwierig. Eine Programmiersprache zu lernen – fĂŒhrt zu nichts, es wird nur spĂ€ter zu Verwirrung fĂŒhren.

Jan, Spezialist fĂŒr finanzielle Überwachung

Eine wahre Geschichte – fĂŒr einen Windows-Simulator, den ich mit einem Freund im 10. Jahr auf die Beine gestellt habe, kann man an der Uni ein paar PrĂŒfungen und Scheine automatisch erhalten. Man kann sogar spĂ€ter allen erzĂ€hlen, wie cool das war. Das Problem ist, dass es nicht cool war – es war eine verworrene Architektur, schlechter Code und völliger Mangel an irgendwelchen Standards.

Solche Dinge sollte man mit dem einen Ziel tun – ein eigenes Katalog von Rechen zu haben. Auch wenn das nicht vor dem Impostor-Syndrom schĂŒtzt, wenn man in einer großen Firma mit eigenen oberflĂ€chlichen Kenntnissen rumlĂ€uft und denkt, dass man gerade entlarvt wird.

Tag zum Schutz der Kinder vor schlechtem Code

Ich unterstĂŒtze das, es ist wichtiger, RatschlĂ€ge zu geben, was man tun kann und wo man Informationen holen kann, und nicht umgekehrt. Es ist auch ĂŒberhaupt nicht schlimm, wenn er am Anfang etwas tastend macht. — Das Bewusstsein wird spĂ€ter kommen. Wichtig ist, dass es Spaß macht.

Erik, Testingenieur

Wir alle schreiben EntwicklungsplĂ€ne – was wir lernen mĂŒssen, womit wir uns in naher Zukunft beschĂ€ftigen sollten und wie wir uns verbessern können. Aber es wĂ€re allen von uns nĂŒtzlich, einen Brief an uns selbst aus der Vergangenheit zu schreiben – hier ist meiner.

  1. Nimm dir Zeit, finde ein Buch und installiere endlich die Ubuntu-Distribution, die dir kostenlos von Canonical zugeschickt wurde. Es gibt offensichtlich ein einfaches Problem, Ubuntu lĂ€uft ĂŒberall. Und Linux wird dir sehr nĂŒtzlich sein.
  2. Hab keine Angst vor der Konsole. Volkov Commander passt natĂŒrlich auf eine Diskette, aber versuche herauszufinden, wofĂŒr all diese Befehle gut sind, freunde dich mit der Eingabeaufforderung an. Und Disketten werden verschwinden. CDs werden verschwinden. USB-Sticks werden auch verschwinden. Mach dir nicht zu viele Sorgen.
  3. Lies ĂŒber Algorithmen, mach dich mit Sortierungen, BĂ€umen und Heaps vertraut. Lies BĂŒcher.
  4. Um die Grundlagen zu verstehen, sind keine kostenpflichtigen Kurse notwendig. Bald wird es YouTube geben – du wirst erstaunt sein.
  5. Konzentrriere dich nicht zu sehr auf Basic. Es gibt auf der Welt Hunderte von Technologien, die deine Aufmerksamkeit verdienen, und Millionen von Dingen, die interessanter sind, als wieder einmal Benutzerformulare in Excel zu zeichnen. Nimm zumindest Python – und dann wirst du dich weiter zurechtfinden.
  6. Lerne Git zu benutzen, sichere alle Quellcodes. Schreibe wenigstens eine Client-Server-Anwendung, um zu verstehen, wie sie funktionieren. Mach dich mit Netzwerken, Switches und Routern vertraut.
  7. Und wenn du das jetzt liest, bedeutet das, dass alles nicht umsonst war.

ErzĂ€hlt in den Kommentaren, was ihr euch aus der Vergangenheit geschrieben hĂ€ttet? Gebt RatschlĂ€ge an die heutigen SchĂŒler und Studenten, die sich noch am Scheideweg befinden und versuchen, ihren Weg zu finden. Lassen Sie uns darĂŒber sprechen.

Quelle: habr.com

60GB SSD 8Gb DDR4