3 Jahre Blindprogrammierung. Teil 1

Guten Tag allerseits! Ich möchte meine Erfahrungen aus der Kategorie "Enter IT" teilen. Darüber hinaus fand es in einem völlig nicht visuellen Modus statt. Über blinde Menschen in unserer Gesellschaft ist wenig bekannt, und noch weniger über blinde Programmierer. Und dieser Artikel bietet die Möglichkeit zu verfolgen, wie und woher sie kommen, auch wenn ich mein Beispiel verwende.



Der Artikel ist nicht von praktischem Nutzen. Es sei denn, jemand kann mit ihrer Hilfe ein wenig motivierend aufladen und zögern.



Start



In der 9. Klasse lernte ich das Programmieren im Informatikunterricht kennen. Zu diesem Zeitpunkt war meine Sehkraft aufgrund einer angeborenen Krankheit fast erschöpft, und ich war mehrere Jahre lang zu Hause unterrichtet worden. Es gab viel Freizeit, aber nur wenige interessante Aktivitäten. Deshalb habe ich mit großem Wunsch ein neues Thema aufgegriffen. Das Schreiben von Programmen war wie das Lösen mathematischer Probleme. Aber hier konnte das Problem unabhängig gestellt werden, und am Ende gab es einen Code, der es ohne Sie lösen konnte. Zunächst stimmte es, bis ich lernte, mit einem Computer nach Gehör zu arbeiten, nur in meinem Kopf.



Die Schule war vorbei. Ich habe sogar die Prüfung in Informatik abgelegt, also wurde ich von diesem Fach mitgerissen. Außerdem war bis vor kurzem nicht klar, an welcher Universität man teilnehmen sollte. Weder ich noch meine Eltern hatten Zweifel an der Notwendigkeit einer Hochschulbildung. Es war nicht klar, in welche Richtung man wählen sollte.



Einerseits hatte ich schon immer ein Verlangen nach Mathematik und Naturwissenschaften. Aber wie kann sich ein Mensch ohne Sicht dort zeigen? Es war weiterhin möglich, die Entwicklung in Richtung IT fortzusetzen. Infolgedessen wurde jedoch ein Kompromiss und ein universelleres Management gewählt. Darüber hinaus gab es an einer der Universitäten dieser Fachrichtung Fernunterricht. Was die Notwendigkeit beseitigte, jetzt in eine große Stadt zu ziehen. Am Ende ist es also passiert. Nach einem Jahr Ausbildung wurde das Problem der künftigen Beschäftigung jedoch deutlicher.



Ich konnte mich als Manager kaum vorstellen. Was werde ich tun? Werde ich mich verwirklichen können? Für einen Blinden ist die Berufswahl im Allgemeinen keine triviale Aufgabe. Viele gehen zu Massagetherapeuten und verwandten Medizinern. Jemand kann Übersetzungen und andere Arbeiten mit Text ausführen. Im Allgemeinen gibt es viele Orte, an denen Sie sich selbst ausprobieren können. Es besteht jedoch immer ein großes Risiko, dass etwas Wichtiges nicht verfügbar ist.



Die Arbeit mit einem Computer ist meiner Meinung nach genau die Richtung, in die sich Blinde gut zeigen können. Erstens müssen sie ihn ziemlich gut kennen. Die Verwendung eines Bildschirmlesegeräts erfordert tiefere Kenntnisse des Betriebssystems, der Tastatur, der Tastenkombinationen und der Programme, als dies für normale Benutzer erforderlich wäre. Die gleiche Tastatureingabe in Spezialkursen wird sofort studiert. Sonst funktioniert es sowieso nicht.



Zweitens sind die meisten Programme und fast das gesamte Internet über die Tastatur fast genauso gut zugänglich wie für die Arbeit mit einer Maus. Dies bedeutet, dass der Blinde bei alltäglichen Aufgaben nicht weit zurückbleibt. Und irgendwo aufgrund einer tieferen Kenntnis des Themas und übertreffen den Rest.



Nun, und drittens hat es mir einfach gefallen. Und deshalb kehrte ich im zweiten Jahr zum Programmieren zurück, aber mit dem festen Ziel, es zu meinem Beruf zu machen.



Ausbildung



Ich bin der festen Überzeugung, dass das Hauptproblem eines Anfängers darin besteht, dass er keine Ahnung hat, was moderne Programmierung tatsächlich ist. In meinem Sparschwein hatte ich einen Schulkurs PascalABC.net und ein paar hundert gelöste Probleme aus dem Lehrbuch. Aber echte Programme sind in etwas anderem geschrieben, oder? Und worauf? Die zuvor gehörten kamen mir in den Sinn: C ++, Java, C #. Wie sie sich unterscheiden und wofür sie verwendet werden, war nicht klar. Ich habe mit C ++ angefangen. Ich habe irgendwo ein Lehrbuch ausgegraben, in dem der Autor als Einführung in einem halbwitzigen Geek-Ton die Vor- und Nachteile des Phänomens der virtuellen Java-Maschine, der Speicherbereinigung und des unsicheren C # -Modus, der IDE, des Compilers und der Bibliotheken, die wir zum Arbeiten benötigen, erörtert.



Nachdem ich die ersten Kapitel durchgearbeitet hatte, wurde klar, dass dieses Tutorial nicht für mich geschrieben wurde und ich es jetzt nicht verstehen kann. Ein Mentor wurde benötigt. Und er wurde gefunden.



Einige Enthusiasten in einer Mailingliste für Blinde kündigten die Eröffnung von Programmierkursen speziell für ein solches Publikum an und boten an, die Technologie auszuwählen, die sie verwenden möchten. Ich habe ohne Zweifel für C ++ gestimmt. Was PHP und Webentwicklung ist, war unbekannt, und das Erstellen von Spielen schien eine frivole Beschäftigung zu sein. Aber am Ende hat PHP gewonnen. Wahrscheinlich, weil das selbst erstellte Internet-Abstimmungssystem in keiner Weise vor wiederholten Passagen geschützt war.



Der Vektor meiner Entwicklung verschob sich also unwillkürlich in Richtung Web. Der Kurs selbst dauerte etwas mehr als einen Monat. Während einiger sporadischer Sitzungen hatten wir nur Zeit, die Grundlagen von HTML kennenzulernen. Der letzte hat sogar ein paar Zeilen in PHP geschrieben. Aber die Begeisterung des Veranstalters und Philanthropen ließ schnell nach, der Unterricht wurde immer weniger abgehalten. Und am Ende hörten sie ganz auf. Aber die Richtung wurde festgelegt, und dann konnte ich ihr selbst folgen. Die Frage blieb jedoch ungelöst. Was genau sollte ein Programmierer wissen?



Im Internet finden Sie eine Lösung für jedes einfache Problem. Aber das ganze Bild vom Lesen vieler enger Artikel stimmte nicht überein. Und dann gab es auf meinem Weg Videokurse.

Ich habe viele Meinungen darüber gelesen. Häufiger stießen negative auf. Dass dies eine absolut nutzlose Zeit- und Geldverschwendung ist. Was sie mit fabelhaften Versprechungen zu sich locken, gibt in der Tat nichts anderes als das Vertrauen des Absolventen, dass er jetzt ein Entwicklungsguru ist. Die Kurse sind sicherlich unterschiedlich. Aber in diesem Moment stieß ich auf sehr gutes Material, mit dessen Hilfe ich in 2 Monaten die grundlegenden PHP-Strukturen, die Formularverarbeitung, die Autorisierung, Sitzungen, Cookies und die Arbeit mit db, oop und mvc herausfand. Und vor allem tat er es auf umfassende Weise. Jedes Element ergänzte das Gesamtbild der Serverentwicklung. Am Ende dieser Phase konnte ich meine Site bereits mit nicht standardmäßiger Logik erstellen und fühlte mich wie ein echter Spezialist. Anfänger, aber mit einem soliden Verständnis dafür, wohin sie als nächstes gehen sollen.



Erste Aufgaben



Zunächst musste jedoch versucht werden, das vorhandene Wissen in die Praxis umzusetzen. Selbstverbesserung und Entwicklung können endlos sein. Professionalität beinhaltet jedoch die Anwendung von Wissen in der Praxis. Darüber hinaus ist es ein großer Anreiz, jetzt Ergebnisse zu erzielen, um Ihre Bemühungen fortzusetzen. Nun, und ich hatte sicherlich das Bedürfnis, mir selbst zu beweisen, dass ich es wirklich kann.



Der beste Weg, dies zu tun, war freiberuflich tätig. Ich habe mich an mehreren Börsen registriert und angefangen, Bestellungen zu verfolgen. Und dann öffnete sich eine interessante Sache: Bei fast allen ging es entweder um das Frontend oder um PHP. Bis dahin habe ich es insgeheim bereut, diese Richtung eingeschlagen zu haben. Die Skriptsprache hat mir nicht wirklich gefallen. Es hatte nicht die Strenge von Pascal, es wurde nicht kompiliert und Sie werden keine PC-Anwendungen darauf schreiben. Und genau das sollte meiner Meinung nach die Entwicklung sein. Aber der freiberufliche und abgelegene Arbeitsmarkt hat meine Position verbessert. Und bald erhielt ich tatsächlich meine erste Bestellung.



Es war erforderlich, eine spezielle benutzerdefinierte Seite auf crm zu erstellen. Es musste Daten zu Anwendungen anzeigen und in einem speziellen Format arbeiten, und der Benutzer musste sie mit Flags markieren können. Crm selbst verfügte nicht über integrierte Funktionen zum Lösen einer solchen spezifischen Aufgabe, ermöglichte jedoch die Erweiterung seiner Funktionalität mithilfe der Sprache, in der es selbst geschrieben wurde - php.



Es genügt zu sagen, dass ich die Aufgabe zwei Wochen lang für ein oder zwei Tage erledigt habe. Hauptsächlich aufgrund der Tatsache, dass es aus Gewohnheit sehr schwierig war, genau herauszufinden, wie crm funktioniert. Und wo Sie das Schema ihrer Datenbank sehen können. Am Ende wurden jedoch alle Anforderungen erfüllt und der Kunde war sehr zufrieden. Denn wie ich später verstand, wollten andere Entwickler solche Crms überhaupt nicht übernehmen.



Rahmen



Aber „König der Freiberufler“ ist nicht der Titel, der mich zu Beginn der Reise inspiriert hat. Es war etwas leistungsfähigeres, architektonisches erforderlich, mit dessen Hilfe seriöse Unternehmen komplexe und technologisch fortschrittliche Benutzerdienste erstellen - ein Framework. Ich habe dieses Wort in Videokursen gehört, in denen beide Lehrer sagten, dass dies das Hauptwerkzeug ihrer Arbeit ist. Es war klar, dass es notwendig war, in diese Richtung zu gehen.



Zunächst wurde der Code-Zünder untersucht. Es war eine modifizierte Kopie des MVC-Frameworks, das wir in den Kursen selbst erstellt haben. Es war so einfach wie ein Korken, aber es erlaubte bereits, echte Websites zu erstellen. Ich habe mich jedoch bei der ersten Bestellung für die Überarbeitung eines Dienstes mit deren Qualität vertraut gemacht. Ich werde diese 700 Zeilen Controller-Aktionscode kaum vergessen. Natürlich kann man auf alles schlechten Code schreiben, aber CI schien ihn nur zu provozieren. Kein Wunder, dass er größtenteils der Vergangenheit angehört.



Vor mir, wie vor jedem anständigen Reisenden, öffneten sich drei Straßen: yii, laravel und symfony. Nach einer kleinen Bewertung habe ich mich für Letzteres entschieden. Natürlich aus rein subjektiven Gründen:

  1. Die Ordnerstruktur und -konfiguration über Anmerkungen hat mir sehr gut gefallen.
  2. In Bewertungen im Internet wurde Respekt über ihn gelesen. Es schien mir ein mächtiges und sehr komplexes Instrument zu sein. Manchmal übertrieben in seiner Kraft. Aber nachdem Sie es gemeistert haben, können Sie immer mit einem leichten Schielen auf die Spiele im Sandkasten der PHP-Welt herabblicken.


Ich fing an zu lernen. Und der beste Weg, eine neue Plattform zu meistern, besteht darin, etwas Interessantes darauf zu tun. Zurück in der Schule schrieb ich ein Programm für meinen jüngeren Bruder, um das Zählen zu lernen. Ein Zufallszahlengenerator und vier grundlegende arithmetische Operationen. Das Kind löst eine bestimmte Anzahl von Beispielen, und am Ende wird die Anzahl der Fehler gezählt und eine Note vergeben. Eine sehr nützliche Sache in einer bestimmten Phase des Trainings. Und jetzt könnte es auf einem neuen technologischen Niveau implementiert werden.



Es hat viel Zeit gekostet. Ich habe und umgestalten. Und parallel dazu überarbeitete die Symphonie mein Gehirn, weil ich die Idee, den Behälter im Wesentlichen zu schieben, einfach nicht aufgeben wollte. Ich habe viele seiner Komponenten herausgefunden. Von Version 3 auf Version 4 aktualisiert und Git studiert. Ungefähr ein halbes Jahr später überprüfte ich die Realität des rosa Traums, meine Superanwendung ins Licht zu rücken. Ich trauerte ein wenig um die Nullergebnisse und erkannte, dass es Zeit war, zum nächsten Level überzugehen - der Suche nach einem richtigen Job.



Fortsetzung folgt.



All Articles