Kindertag gegen schlechten Code

Kindertag gegen schlechten Code

Der Beitrag ist dem Kindertag gewidmet. Jeder Zufall ist kein Zufall.

Im Alter von 10 Jahren bekam ich meinen ersten Computer und eine Festplatte mit Visual Studio 6. Seitdem überlege ich mir Aufgaben für mich selbst – Dinge automatisieren, eine Art Webdienst für drei Personen zusammenstellen oder ein Spiel schreiben das dann aus Altersgründen aus dem Spielemarkt genommen wird. Natürlich habe ich den Quellcode verloren und Code geschrieben, den ich den Leuten nicht zeigen wollte. Und mit 10 Jahren würde ich es auf keinen Fall ablehnen, ein Archiv aus der Zukunft mit all den Fehlern zu bekommen – damit sie nie passieren.

Vor ein paar Wochen habe ich meine Kollegen von Yandex.Money gefragt, was sie jetzt einem Kind raten würden, das IT-Spezialist werden möchte, und dann fiel mir etwas über mich ein. So entstand dieser Text. Ich schlage vor, wir reden darüber.

Ich empfehle nicht, viel Energie in die Qual der Wahl zu stecken, sondern lieber alles auszuprobieren und alles zu tun. Wenn Sie verstehen, was im Allgemeinen ist, können Sie selbst entscheiden, in welche Richtung Sie sich bewegen müssen und welche Richtung Sie besser aufgeben sollten.

Sergey, Junior-Programmierer

Kindheit

Was macht als Programmierer am meisten Spaß, wenn es noch kein Internet gibt?

Ich hatte zwei davon – alle Spiele von der Diskette „800 Spiele auf Russisch“ mit allen Programmen von der Diskette „Alles, was ein Hacker braucht“ zu zerlegen und dann alle Spiele, an denen ich mehr als 10 Stunden gearbeitet habe, von Grund auf neu zu schreiben in BASIC. Es macht keinen Unterschied, was passiert, auch wenn es so kommt.

Kindertag gegen schlechten Code

Man nimmt es, probiert es aus, ordnet die Blöcke neu an, experimentiert und greift nach allem, was man erreichen kann. Wenn Sie Windows herunterfahren, dauert es 10 Stunden, Windows wieder wiederherzustellen. Versuchen Sie, die Fahrer zurückzubekommen? Sie verstehen, wie DOS funktioniert. Sie finden heraus, wie die Jumper positioniert werden müssen, damit Ihre Festplatte im Computer eines Freundes startet (dort sind 200 Megabyte neue Spiele!). Sie verdrehen die Software, verdrehen die Hardware, zerlegen den Computer und bauen ihn wieder zusammen. Schließlich schreiben Sie seit 13 Jahren einen Fußballsimulator.

Wenn es nichts gibt, wird man dadurch glücklich.

Die Bedeutung der Selbstprüfung darf nicht unterschätzt werden. Meiner Meinung nach unterschätzen IT-Neulinge, wie streng sie ihr Produkt (auch in der Analytik) kontrollieren müssen und wie viel Zeit das im Vergleich zum rein kreativen Teil kostet. Und je interessanter das ist, was man macht, desto schwieriger und länger wird der Test.

Das ist natürlich ein etwas abstrakter Ratschlag, aber wenn ich es nur sofort wüsste.

Und ich empfehle nicht, sich auf einen Bereich in der IT zu konzentrieren. Auch hier kommt es auf Horizonte an.

Anna, leitende Systemanalytikerin

Mittelschule

Irgendwann diskutierten sie im Forum der Kreisstadt P über Programmierung – und dort tauchte ein Thread mit dem Titel „Für ein großes Unternehmen werden PHP-Programmierer gesucht“ auf. Der Anzeigentext lautete:

В крупную компанию ищутся программисты PHP:

Для того, чтобы понять, стоит ли вам приходить на собеседование, выполните несложное задание: напишите программу на php, которая находит такие целые положительные числа x, y и z, чтобы x^5+y^5=z^5. (^ - степень).

Отвечать можете здесь.

Nur wenige Leute haben sich von diesem Thread abgemeldet – ich war auch dabei. Mit all meiner sechzehnjährigen Naivität antwortete ich:

Реально чет странное. Да и комп нужен неслабый, штоб ето найти...
Ибо от x,y,z <=1000 таких чисел нет-эт во первых (сел набросал в vb, большего ПОКА не дано), во вторых комп подсаживается намертво.

Не все равно чето нето, ИМХО.

Ja, es ist ein Streich, eine Falle für Neulinge, ja, es ist ein Bastard, na und. Offensichtlich habe ich viel Zeit mit einem einfachen Skript verbracht, aber die Existenz des Satzes von Fermat völlig vergessen – was der Autor des Threads, der ehrwürdige The_Kid, ganz am Ende klargestellt hat.

Итог печален - в П. практически нет людей, знающих математику, но каждый второй мнит себя мего программистом. За три часа, на все форумах на которых я разместил сообщение, было суммарно около двух сотен просмотров... и всего два правильных ответа. А теорема Ферма - это ведь школьная программа, и условия ее настолько просты, что должны бросаться в глаза. Кстати, параллельно при опросе в аське 6 из 6 знакомых новосибирских студентов ответили «Это же теорема Ферма».
И кого после этого брать на работу?

Dann löste dies bei mir einen Sturm der Empörung aus: „Wenn ich nicht über den Satz von Fermat geschrieben habe, heißt das nicht, dass ich nichts davon weiß“, eine klassische Ausrede. Bin ich jetzt traurig? Nein, das ist auch eine Lektion fürs Leben. Zum Beispiel, als mein Spiel im indonesischen Windows Phone Store vorgestellt wurde und es zwei Wochen später entfernt wurde, weil ich einige der EULA-Bedingungen nicht aktualisiert hatte.

Und es ist völlig unklar: Wenn es in einem großen Unternehmen niemanden gibt, den man einstellen kann, wer sollte man dann sein? Was zu tun? Wo wachsen?

Sie sollten nicht glauben, dass Sie nach einer Ausbildung Programmierer/Taxifahrer/Mathematiker oder etwas anderes werden.

Es sind Zeiten gekommen, in denen Grundlagenfächer (Mathematik, Physik, Informatik, Philosophie) in einem Diplom viel wichtiger werden als angewandte Fächer (Programmierung, Design in bestimmten Bereichen usw.). Die Hochschulbildung begann, in Schichten unterteilt zu werden – Grundlagen (Ingenieurwesen) und angewandte. Sie sollten keine spezifischen Fähigkeiten erlernen, sondern Denken, einen wissenschaftlichen Ansatz, Verständnis für die Lösung von Problemen und Soft Skills.

Hier geht es um die Universität. Ein Mensch wird für den Rest seines Lebens noch Zeit haben, angewandte Fähigkeiten anzuwenden.

Oleg, führender Systemanalytiker

Universität

Sie schreiben Code in „Plus“, Sie schreiben Code in Java. Sie berühren den Assembler, entfernen Ihre Hand, bleiben in Qt stecken und überlegen, warum sie Ihnen das antun. Ab dem vierten Kurs interessiert es niemanden mehr, worüber Sie die nächsten wichtigen Übungen schreiben – die Lehrer schauen sich den Code irgendwie an.

Das ist natürlich nicht überall der Fall – es gibt Universitäten, an denen es leistungsstark und gut ist, aber sie nehmen Kinder auf, die in der Schule Probleme von ACM gelöst, in zusätzlichen Kursen alles aus der Graphentheorie herausgequetscht und alle Algorithmen der Welt mit so viel Speicher vollgestopft haben denn alles auf der Welt erfordert .

Ich habe mich nicht entschieden, ich habe keine zusätzlichen Kurse besucht, ich habe einfach mein Studium in meiner Mathematikklasse abgeschlossen und nebenbei interessante Dinge gemacht. Spoiler: Niemand wird sie bei Vorstellungsgesprächen brauchen.

Zunächst ist es besser, zu entscheiden, was Ihnen an der IT gefällt. Wenn Sie alle Richtungen mögen, wird es schwierig. Lerne etwas Sprache - wird zu nichts führen, es wird in Zukunft nur Verwirrung geben.

Jan, finnischer Spezialist. Überwachung

Echte Geschichte: Für einen Windows-Simulator, den Sie in der 10. Klasse mit einem Freund auf dem Knie erstellt haben, können Sie an der Universität automatisch ein paar Prüfungen und Tests absolvieren. Sie können sogar später allen erzählen, wie toll es war. Das Problem war, dass es nicht cool war – es hatte eine verwirrende Architektur, schrecklichen Code und überhaupt keine Standards.

Solche Dinge sollten aus einem einzigen Grund getan werden – um einen eigenen Rake-Katalog zu haben. Dies schützt Sie jedoch nicht vor dem Hochstapler-Syndrom, wenn Sie sich in einem großen Unternehmen mit nur oberflächlichem Wissen über alles wiederfinden und denken, dass Sie bald entlarvt werden.

Kindertag gegen schlechten Code

Ich werde unterstützen, es ist wichtiger, mit Ratschlägen zu helfen, was man tun kann und wo man Informationen bekommt, und nicht umgekehrt. Und es ist überhaupt nicht beängstigend, wenn er zunächst versucht, etwas durch Berührung zu tun, - Das Bewusstsein wird später kommen. Es ist wichtig, es zu mögen.

Eric, Testingenieur

Wir alle schreiben Entwicklungspläne – was wir lernen müssen, was wir in naher Zukunft tun und wie wir uns verbessern können. Aber es scheint, als ob wir alle davon profitieren könnten, einen Brief an unsere Vergangenheit zu schreiben – hier ist meiner.

  1. Nehmen Sie sich Zeit, suchen Sie sich ein Buch und installieren Sie die Ubuntu-Distribution, die Canonical Ihnen kostenlos zugesandt hat. Es gibt eindeutig ein einfaches Problem: Ubuntu startet überall. Und Linux wird Ihnen sehr nützlich sein.
  2. Haben Sie keine Angst vor der Konsole. Volkov Commander passt natürlich auf eine Diskette, aber versuchen Sie herauszufinden, warum Sie all diese Befehle benötigen, und machen Sie sich mit der Befehlszeile vertraut. Und Disketten werden sterben. Die Festplatten werden sterben. Auch Flash-Laufwerke werden sterben. Machen Sie sich nicht zu viele Sorgen.
  3. Lesen Sie mehr über Algorithmen, verstehen Sie Sortieren, Bäume und Heaps. Bücher lesen.
  4. Sie benötigen keine kostenpflichtigen Kurse, um die Grundlagen zu verstehen. YouTube erscheint bald – Sie werden überrascht sein.
  5. Bleiben Sie nicht bei BASIC hängen. Es gibt hundert Technologien auf der Welt, die Ihre Aufmerksamkeit wert sind, und eine Million Dinge, die interessanter sind, als noch einmal Benutzerformulare in Excel zu zeichnen. Nehmen Sie einfach Python und Sie werden es herausfinden.
  6. Lernen Sie, Git zu verwenden und alle Quellen zu sichern. Schreiben Sie mindestens eine Client-Server-Anwendung, um zu verstehen, wie sie funktioniert. Verstehen Sie Netzwerke, Switches und Router.
  7. Und wenn Sie dies jetzt lesen, bedeutet das, dass nicht alles umsonst ist.

Sagen Sie uns in den Kommentaren, was Sie Ihrem früheren Ich schreiben würden? Haben Sie einen Rat für aktuelle Schüler und Studenten, die noch am Scheideweg stehen und versuchen, ihren Weg zu finden? Lass uns darüber sprechen.

Source: habr.com

Kommentar hinzufügen