"Der Teufel zog mich zur Arbeit im Büro" - 10 Fragen an den Programmierer, 9 Freigabe



    Irgendwie passierte es, dass wir fast alle acht Themen mit Büroentwicklern sprachen und nicht nach dem Leben als freiberuflicher Mitarbeiter fragten. Heute endlich richtig. Sagt Denis Kazakov ( nrcpp ). Er schrieb das erste Programm mit 14 Jahren über Pascal und an der Universität entwickelte er seinen C ++ - Frontend-Compiler und riss einen Artikel über diesen karmischen Jackpot bei Habré.

    Kush ist realistischer bei Upwork - 60 abgeschlossene Projekte und eine ordentliche Summe (gut für mich) in der Grafik des erhaltenen Geldes. Aber unter der Katze gibt es keine Rühmung und Motive im Sinne von "Sie können auch". Im Gegenteil - eine Geschichte über ein bitteres Erlebnis für ein erfahrenes Freelancer Office-Erlebnis.


    1. Erzählen Sie von der Funktion, die Sie implementiert haben und auf die Sie stolz sind.


    Das erste "Feature" war das erste Semester an der Universität. Ich bin bereits vorbereitet und habe die Sitzung automatisch bestanden. Er konnte nicht an der Prüfung teilnehmen, aber die Klassenkameraden baten, im Flur zu bleiben und zu stehen, wenn dies helfen würde. Nach 15 Minuten nach Beginn der Prüfung wechselte fast die gesamte Gruppe abwechselnd "zur Toilette gehen". Und das sind ungefähr 25 Leute.

    Jeder führte ein Blatt aus, dann zwei. Überall, mit nervöser Handschrift, wird so etwas wie „Falte 2 maximale Elemente in einem Array“ oder „Finde ein Element in einem Array, das größer als X ist“ gezeichnet.

    Eine Stunde später war es ein ganzer Förderer. Neben mir wuchsen zwei Haufen - in einem ganz neue und neue Blätter, in dem anderen bereits gelöste Aufgaben. Eine Person ging aus, führte eine neue „Party“ durch und traf die fertigen Entscheidungen. So hat die gesamte Gruppe die Session am 4. und 5. bestanden. Seitdem sind wir Freunde.

    Das zweite Feature ist mein eigener C ++ - Compiler, den ich fast während der gesamten Studienzeit an der Universität geschrieben habe. Seitdem konnte ich mein eigenes Projekt nicht allein auf die Begeisterung ziehen. Wo bekommen die Menschen Kraft für ihre neuen Projekte?

    Und das dritte Projekt ist der übliche Test für die Vision. Ich habe es erstellt, angefangen mit "Datei -> Neues Projekt" bis zum Verkauf. Aber der eigentliche Nervenkitzel ist, dass Sie sehen, wie Menschen Ihr Gehirn verwenden, und es hilft ihnen, Gesundheitsprobleme zu erkennen.

    2. Und jetzt - über den heftigsten Fakap


    Ich habe nicht bei Google gearbeitet, ich habe keine Software für Chirurgen und Raketenwissenschaft geschrieben, daher kann ich mich aufgrund meines Codes nicht an helle Fakaps erinnern. Ich erzähle Ihnen besser, wie ich mich als Teamleiter profakapilieren kann.

    Nach vielen Jahren freiberuflicher Tätigkeit von zu Hause aus zog der Teufel mich in ein Büro, zu einem großen Outsourcing-Unternehmen mit einem noch größeren Kunden (einem der weltweit führenden Unternehmen der Branche). Die Situation ist anstrengend für mich, ich arbeitete früher nicht wirklich im Büro und organisierte dann eine Menschenmenge. Zuerst waren es 6, dann 10, dann 18 und am Ende waren es 25! Ich rechnete nicht mit einer solchen Höhle. Auf der Fernbedienung, weil jeder für sich ist. Ich nahm die Karte in Jira und sah mich lautlos. Und du willst nicht gesägt werden.

    Hier wird es nicht funktionieren. Um 10 Uhr stehen Sie still und seien Sie nett. Sagen Sie "Ich arbeite an meiner Aufgabe" im Stand-Up. Um 16 Uhr rief der Kunde an. Sie sagen dasselbe, nur auf Englisch. Zwischen diesen beiden Berufen werden Sie von den Junas, Praktikanten, Buchhaltern, Reinigungskräften gezogen. Natürlich liegt die Verantwortung für alles bei Ihnen.

    Im Allgemeinen hatte ich das Gefühl, dass ich nicht zurechtkomme, und eine solche Arbeitsorganisation ist nichts für mich. Ich verlor mein Interesse an der Arbeit, behielt aber mein Gehalt und meine Willenskraft im Sinne von „Sie können!“. Tun Sie das nicht.

    Wenn ein Teamleiter kein Interesse hat, gibt es Chaos. Ein Juni hat 50% der Aufgaben übernommen, einfach weil er neben mir im Openspace saß. Ein anderer Praktikant nahm ein kritisches Einzelmodul, das von fast dem gesamten Team abgeschlossen wurde.

    Ich bin wegen gesundheitlicher Probleme einen Monat lang gestürzt, und als ich zurückkehrte, ordnete das Projekt an, "lange zu leben". Ein Team, das sich auf andere Projekte desselben Kunden verteilt hat. Nach einer Weile kehrte ich zu meiner üblichen freiberuflichen Tätigkeit zurück.

    3. Beschreiben Sie Ihren Arbeitsbereich: vom Stuhl und Monitor bis zu Programmierumgebungen und bevorzugten Dienstprogrammen. Und füge Screenshots hinzu, wenn du kannst


    Ich denke, ein großer Tisch ist eine Garantie für Produktivität.



    Eisen wird alle 5-6 Jahre komplett gewechselt. Jetzt drücke ich ein Maximum der zweiten Generation des i5 heraus, mit einer SSD für 500 GB + alte Festplatte und 16 GB RAM DDR2. Es war lange Zeit, sich die Hände zu kratzen, besonders wenn der Prozentsatz überhitzt. Aber ob die Kröte drückt oder die Wärmeleitpaste leichter zu wechseln ist. Mit einem Knarren habe ich diesen Sommer von Windows 7 zu den Top Ten gewechselt, da es unter Xamarin einfacher ist, darauf zu schreiben.

    Es gibt auch ein MacBook Pro 2011 für iOS-Projekte. Gefährliche Bratpfanne aus Altersgründen. Wieder ist das Dilemma, ob Geld für eine Wohnung zur Verfügung gestellt wird oder ob ein neues MacBook gekauft wird, das „nicht backt“.

    Aus den Körpern - aus dem 99. Jahr des Visual Studio. Und mit jeder neuen Version bin ich überzeugt, dass nichts anderes benötigt wird. Einige sehr kleine Erweiterungen wie Strg + Klicken, um zur Methodendeklaration und zum Kampf zu gelangen.

    Für Git - SourceTree. Zum Testen unter verschiedenen Betriebssystemen - VmWare. Manchmal bitten sie das Installationsprogramm darum - für dieses erweiterte Installationsprogramm. Alles andere wird entweder im Web oder in notepad.exe erledigt. Als Java benötigt wurde, IntelliJ.

    4. Wie wählst du deinen Job aus? Stapel, Produkt, Lebensbedingungen, Geld?


    Wenn es Aufträge für Freiberufler gibt - Sie sind auf dem Pferd, gibt es keine Aufträge -, sind Sie bereit, sich rund um die Uhr für Nahrung einzusetzen. Gott sei Dank, diese Zeiten liegen vor fünf Jahren. Es kam jedoch vor, dass die Schüler aus indischen Cursoren es taten, und die anderen stummen Malvari wurden gebeten, zu schreiben. Jetzt arbeite ich daran, was interessant ist. Aktuelle Projekte sind beispielsweise Webautomation und NLP.

    Ich bin 32 Jahre alt und bin jetzt weniger begeistert davon, mich in einige neue Trends einzuarbeiten. Mein idealer Bürojob ist irgendwo in fünf Metern Entfernung vom Haus, besser in der nächsten Etage. Eigenes Büro mit bequemem Tisch, Stuhl und Bügeleisen. Und die Technologien, die ich kenne. Vielleicht weitere 10-20% der Arbeitszeit, wenn Sie mit neuen experimentieren können. Ich habe jedoch beschrieben, wie ich heute arbeite.

    Über das Produkt lässt sich nicht immer herausfinden, ob es sich um Outsourcing handelt. Wenn es jedoch einen Zoo mit verschiedenen Technologien gibt, von Fortran bis Go, dann wahrscheinlich nicht.

    Normalerweise frage ich etwas Geld über dem Markt, aber das ist nicht kritisch.

    5. Was möchten Sie in den von Ihnen verwendeten Technologien und Sprachen festlegen?


    Das erste, was Ihre Zähne belastet, ist das Fehlen einer plattformübergreifenden Benutzeroberfläche für .NET. Oder der Einfachheit halber - WPF für macOS. Der zweite Punkt ist die Qualität des Projekts selbst Xamarin heute. Insbesondere die Geschwindigkeit des Zusammenbaus und der Bereitstellung von Xamarin-Anwendungen fliegt Xamarin XAML Previewer aus unbekannten Gründen ständig zu Fehlern, die erst nach einem Neustart der IDE verschwinden.

    Sobald ich mich hingesetzt hatte, um meine erste seriöse Anwendung auf Xamarin Forms zu schreiben (Forms ist das Ende, ich weiß, aber es gab keine Wahl), war ich einfach verrückt nach der Anzahl der Tamburine, die erforderlich sind, um die Anwendung für iOS / Android aus der Box zu bekommen. Jetzt wird die Drittanbieter-Software, auf die Xamarin angewiesen ist, vollständig aktualisiert - die Situation hat sich geändert.

    Ich möchte ein Skelett des Programms in mehreren Zeilen erstellen. Wie das Domänenmodell und die von IDE generierte ViewModel, mocap-Benutzeroberfläche, Klassen für die Arbeit mit Konfigs, Protokollen, Ausnahmebefangen, DAL, BAL, SAL beschrieben - dh Wrapper um die API.

    Es scheint in ASP.NET MVC wie Gerüste zu sein, oder war in dem späten LightSwitch ähnlich. Aber in der Anlage, wie ich beschrieben habe, so dass alles zusammen erzeugt wurde - nein.
    In den meisten Fällen ist jedes neue Projekt ein Code der Vergangenheit. Verbinden Sie dann die Komponenten der neuen Codebase über Abstraktionsschichten miteinander.
    Ich denke, dass sich die Situation sehr bald ändern wird, und wir werden 90% des Anwendungscodes in ein paar DSL-Zeilen generieren. Obwohl Versuche, „Silberkugeln“ zu machen, nicht aufhören, seit das erste Programm erstellt wurde.

    6. Wo kann man die Erfahrungen eines anderen besser anwenden - in der High School, auf Konferenzen, in Habré? Woanders?


    Nimm es und mach es. Schreiben Sie einfach den Code. Aber im Allgemeinen für jeden sein eigenes. Ich fing zum Beispiel Feuer, um Programme zu schreiben, wie in Filmen über Hacker. Ich habe die Kurse zu Turbo Pascal besucht. Schrieb das erste Programm, das zwei Zahlen hinzufügt. Ich startete und schleppte mich dreißig Kilometer durch alle Portale des Universums. Und dann wurde mir klar, dass es mir gehörte.

    Das zweite und dritte Programm waren bereits schwieriger zu meistern - wenn und wann. Und umso mehr ging ich nicht zu den Kursen. Aber der Wunsch blieb bestehen. Und da es keine erfahrenen Kollegen und später auch Lehrer gab, kaufte ich nur Bücher. Programmlisten umschreiben und erneut gekauft.

    Dann begann er, etwas Eigenes zu erfinden. Ich dachte daran, meinen eigenen C ++ - Compiler zu schreiben. Drei Jahre sind vergangen. Und ich war bereit für das Projekt unter realen Bedingungen, für die sie Geld zahlen. Projekt für Projekt, das im Laufe der Zeit verbessert wurde, wuchs auf Microsoft MVP, MCP und realisierte 60 Projekte.

    Aber Exploits zu schreiben, wie im Film "Hackers" nicht gelernt hat.

    7. Wenn Sie unbegrenzte Ressourcen hätten (Zeit, Geld, Macht, Menschen), welches Projekt würden Sie durchführen?


    Wissen Sie, ich möchte ein System schaffen, das den Entwicklungsansatz radikal verändern würde. Sondern auf den Prozess des Schreibens von Code.

    Erinnern Sie sich, wie die Hauptfigur aus dem Film "Password" Swordfish "seinen Khidr geschaffen hat? Aki, der Schamane, winkte und wirbelte einen Würfel-Rubik. Oder wie im Film "Iron Man". Ja, das ist der Hollywood-Standard: Sie winken mit den Händen auf einem durchscheinenden Bildschirm und falten die Würfel. Ich möchte so etwas schaffen und den Massen vorlegen.

    Ich habe übrigens in aller Ernsthaftigkeit bereits in ein ähnliches Werkzeug für Programmierer investiert, die auf dem iPad gearbeitet haben. Aber anscheinend reichen 3 freie Mitarbeiter und 20.000 Dollar nicht für eine Revolution in der Programmierung.

    8. Wie entspannst du dich? Was machst du neben der Arbeit?


    Wenn mich Leute nach Hobbys und Freizeit fragen, gerät ich in Betäubung. Stellen Sie sich sofort den Gesprächspartner in einem Skianzug vor, der bekanntlich aus den Bergen der Alpen absteigt. Oder ein Reisender in den Wäldern des Amazonas.

    Ich habe kein bestimmtes Hobby. Zuvor spielte er professionell Fußball, bis er mit 16 Jahren Kapitän der Junioren-Oberligamannschaft war. Und dann habe ich das erste Programm geschrieben ... Jetzt schaue ich mir gerne Qualitätsspiele an, gelegentlich gehe ich selbst los.

    Ich gehe gerne alleine in die Innenstadt. Um eine neue Technologie zu erlernen, dauert die Sicherung zwei oder drei Wochen. Gehen Sie zu einer völlig treshovy Seite, wie Lepra.

    Letztes Mal versuchen, herauszufinden, wie man ein Video erstellt. Erstellt einen YouTube-Kanal, in dem ich über Freiberufler spreche. Dies ist zwar eher ein Experiment.

    Und so habe ich zwei kleine Spingrosen und eine Frau, die mich nicht langweilen lässt.

    9. Erzählen Sie von drei Lieblingsbüchern - Erziehungswissenschaft, Populärwissenschaft und Kunst.


    Pädagogische und populäre Wissenschaft - Donald Knut, "Die Kunst des Programmierens" (1. und 3. Band)
    Kunst - Keine Ahnung vom Mond. Ich lese im Alter von 7 Jahren, danach erinnere ich mich an nichts, um mich selbst zu lesen. Vielleicht ist Jobs Biografie noch sehr verschwunden. Vom letzten habe ich gelesen, Sapiens. Kurze Geschichte der Menschheit.

    10. Wenn ein Bewusstsein in der KI direkt vor Ihnen aufwacht, was werden Sie ihm dann sagen?


    Nun, zuerst glaube ich, dass Geist und Seele eins sind. Und ein Eisenhaufen kann per Definition keine Seele haben. Obwohl mein Computer anders reagiert, wenn Sie ihn aus irgendeinem Grund schreien oder loben.

    Aber wenn man sich hypothetisch vorstellt, dass sich die KI an die Lebensbedingungen auf der Erde anpasst, wird sie die Verhaltensweisen der Menschen wie ein Kind übernehmen, wenn sie laufen und sprechen lernen. Dann würde ich wahrscheinlich fragen, wie man unheilbare Krankheiten heilen und Kriege vermeiden und dann die Erde überbevölkern kann.

    Frage vom vorherigen Helden


    Was würden Sie in einer intergalaktischen Expedition über mehrere Generationen unternehmen?

    Natürlich werde ich die Bedürfnisse der Expedition codieren und automatisieren.

    Und wenn Sie träumen und zugeben, dass ich nicht alt werde, es keine Zeit und keine Rahmenbedingungen für den Verbraucher gibt, dann würde ich mich bemühen, so viele bewohnbare Planeten wie möglich zu besuchen. Um Kontakte mit den Einwohnern von Gliese 581g auszutauschen, trinken Sie ein Bier auf dem Mars, starten Sie ein Startup auf Andromeda, schlafen Sie mit einem Alien.

    Frage an den nächsten Helden


    Welchen Rat würdest du dir vor 10 Jahren geben?


    Jetzt auch beliebt: