"Der Teufel hat mich gezogen, um im Büro zu arbeiten" - 10 Fragen an den Programmierer, 9. Auflage



Irgendwie stellte sich heraus, dass fast alle acht Themen wir mit Büroentwicklern gesprochen und nicht abgefragt haben, wie das Leben als Freiberufler aussieht. Heute reparieren wir es endlich. Erzählt von Denis Kazakov ( nrcpp ). Mit 14 schrieb er das erste Programm auf Pascal, und an der Universität entwickelte er seinen C ++ - Front-End-Compiler und riss einen Artikel über diesen karmischen Jackpot auf Habré ab.

Er hat Kush bei Upwork realistischer gemacht - 60 abgeschlossene Projekte und ordentliche Summen (für mich) in der Grafik des erhaltenen Geldes. Aber unter dem Schnitt gibt es keine Prahlerei und Motive im Sinne von "du kannst auch". Im Gegenteil - eine Geschichte über das bittere Büroerlebnis eines erfahrenen Freiberuflers.


1. Erzählen Sie uns 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 an der Universität angekommen und habe die Sitzung automatisch bestanden. Er ist vielleicht nicht bei der Prüfung erschienen, aber Klassenkameraden baten darum, im Korridor zu bleiben und zu stehen, um zu helfen, wenn das so ist. 15 Minuten nach Beginn der Prüfung wollte fast die gesamte Gruppe "die Toilette benutzen". Und das sind ungefähr 25 Leute.

Jeder ertrug ein Blatt, dann zwei. Überall wird mit einer nervösen Berührung etwas wie "Maximal 2 Elemente in einem Array hinzufügen" oder "Ein Element in einem Array größer als X suchen" zerkratzt.

Eine Stunde später war es ein ganzes Förderband. Neben mir wuchsen zwei Stapel - in einem immer mehr neue Blätter, im anderen - bereits gelöste Aufgaben. Eine Person kam heraus, brachte eine neue „Party“ heraus und nahm vorgefertigte Lösungen. Somit hat die gesamte Gruppe die Sitzung um 4 und 5 bestanden. Seitdem sind wir Freunde.

Das zweite Feature ist mein eigener C ++ - Compiler, den ich fast während des gesamten Studiums an der Universität geschrieben habe. Seitdem konnte ich mein eigenes Projekt nicht allein mit einer Begeisterung verwirklichen. Woher bekommen die Leute ihre Kraft für ihre neuen Projekte?

Und das dritte Projekt ist ein regelmäßiger Sehtest. Ich habe es ausgehend von "Datei -> Neues Projekt" erstellt und mit dem Verkauf beendet. Aber die wirkliche Begeisterung ist, dass Sie sehen, wie Menschen Ihre Idee nutzen, und dies hilft ihnen, Gesundheitsprobleme zu identifizieren.

2. Und jetzt - über den heftigsten Fakap


Ich habe nicht bei Google gearbeitet, ich habe keine Software für Chirurgen und Raketenwissenschaftler geschrieben, daher kann ich mich aufgrund meines Codes nicht an die hellen Fakaps erinnern. Ich werde Ihnen besser sagen, wie ich prokapapilsya bin, um ein Teamleiter zu sein.

Nachdem ich viele Jahre freiberuflich von zu Hause aus gearbeitet hatte, zog mich der Teufel dazu, im Büro eines großen Outsourcing-Unternehmens mit einem noch größeren Kunden (einem der weltweit führenden Unternehmen der Branche) zu arbeiten. Die Situation ist stressig für mich, ich habe vorher nicht wirklich im Büro gearbeitet und hier organisiere ich auch eine Menge Leute. Zuerst waren es 6, dann 10, dann 18 und am Ende waren es 25! Mit einer solchen Krippe habe ich nicht gerechnet. Schließlich ist jeder für sich. Er nahm eine Karte in Jira und sägte sich leise. Und du willst nicht schneiden.

Dies wird hier nicht funktionieren. Seien Sie um 10 Uhr an der Rezeption ruhig und freundlich und sagen Sie im Stehen „Ich arbeite an meiner Aufgabe“. Um 16 Uhr rief der Kunde an. Sie sagen dasselbe, nur zu ihm und auf Englisch. Zwischen diesen beiden Klassen werden Sie von den Junes, Praktikanten, Buchhaltern und Reinigungskräften gezogen. Natürlich liegt die Verantwortung für alles bei Ihnen.

Im Allgemeinen hatte ich das Gefühl, nicht damit fertig zu werden, und eine solche Arbeitsorganisation ist nichts für mich. Ich verlor das Interesse an der Arbeit, aber mein Gehalt und meine Willenskraft hielten mich im Geiste von „du kannst!“ Tu das nicht.

Wenn der Timlid kein Interesse hat, entsteht Chaos. Ein Juni übernahm 50% der Aufgaben, einfach weil er neben mir im Freien saß. Ein anderer Praktikant absolvierte ein kritisches eigenständiges Modul, das von fast dem gesamten Team absolviert wurde.

Ich fiel wegen gesundheitlicher Probleme für einen Monat und als ich zurückkam, befahl das Projekt, "lange zu leben". Und das Team verteilte sich auf andere Projekte desselben Kunden. Nach einer Weile kehrte ich zu meiner üblichen freiberuflichen Tätigkeit zurück.

3. Beschreiben Sie Ihren Arbeitsbereich: vom Stuhl über den Monitor bis hin zu Programmierumgebungen und Ihren bevorzugten Dienstprogrammen. Und hängen Sie Screenshots an, wenn Sie können


Der große Tisch ist meiner Meinung nach der Schlüssel zur Produktivität.



Eisen wird alle 5-6 Jahre komplett gewechselt. Jetzt drücke ich das Maximum aus dem i5 der zweiten Generation heraus, mit einer 500 GB SSD + alten Festplatte und 16 GB RAM DDR2. Es ist seit langem juckende Hände zu aktualisieren, besonders wenn der Prozentsatz überhitzt. Aber entweder drückt die Kröte, oder es ist einfacher, die Wärmeleitpaste zu wechseln. In diesem Sommer wechselte ich mit einem Quietschen von Windows 7 zu den Top Ten, da es unter Xamarin einfacher ist, darauf zu schreiben.

Es gibt auch ein spätes MacBook Pro 2011 für iOS-Projekte. Schädliche Pfanne aufgrund des Alters. Auch hier besteht das Dilemma darin, Geld für eine Wohnung zu sparen oder ein neues MacBook zu kaufen, das nicht backt.

Von Tula - aus dem 99. Jahr von Visual Studio. Und mit jeder neuen Version bin ich überzeugt, dass nichts mehr benötigt wird. Ein paar sehr kleine Erweiterungen wie Strg + Klicken, um zur Methodendeklaration zu gelangen und in den Kampf zu ziehen.

Für Git - SourceTree. Zum Testen auf verschiedenen Betriebssystemen - VmWare. Manchmal bitten sie den Installer, dies zu tun - dafür Advanced Installer. Alles andere wird entweder im Web oder in notepad.exe erledigt. Wenn Java benötigt wurde, IntelliJ.

4. Nach welchem ​​Prinzip wählen Sie einen Job? Stapel, Produkt, Lebensbedingungen, Geld?


Wenn es freiberufliche Bestellungen gibt - Sie sind auf einem Pferd, es gibt keine Bestellungen - bin ich bereit, das Essen rund um die Uhr zu nutzen. Gott sei Dank, diese Zeiten sind vor ungefähr fünf Jahren vergangen. Aber es kam vor, dass Cursor Studenten aus Indien angetan hatten und andere dumme Malvari gebeten wurden, zu schreiben. Jetzt arbeite ich an dem, was interessant ist. Aktuelle Projekte sind beispielsweise Webautomatisierung und NLP.

Ich bin 32 Jahre alt und jetzt bin ich weniger begeistert von einigen neuen Trends. Mein idealer Bürojob ist irgendwo fünf Meter vom Haus entfernt, vorzugsweise im nächsten Stock. Ein separates Büro mit bequemem Tisch, Sessel und Bügeleisen. Und die Technologien, die ich kenne. Vielleicht noch 10-20% der Arbeitszeit, wenn Sie mit neuen experimentieren können. Ich habe jedoch beschrieben, wie ich heute arbeite.

Beim Outsourcing können Sie sich nicht immer über ein Produkt informieren. Aber wenn es einen Zoo mit verschiedenen Technologien gibt, von Fortran bis Go, dann wahrscheinlich nicht.

Normalerweise bitte ich um Geld direkt über dem Markt, aber das ist nicht kritisch.

5. Welche Technologien und Sprachen, die Sie verwenden, möchten Sie korrigieren?


Das allererste, was Sie vor dem Zähneknirschen stört, 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 heutigen Xamarin-Projekts. Insbesondere bei der Montage und Bereitstellung von Xamarin-Anwendungen, die ständig mit Xamarin XAML Previewer fliegen, treten aus unbekannten Gründen Fehler auf, die erst nach dem Neustart der IDE verschwinden.

Sobald ich mich hingesetzt hatte, um meine erste ernsthafte Anwendung auf Xamarin Forms zu schreiben (Forms ist das Ende, ich weiß, aber es gab keine Wahl), habe ich nur die Anzahl der Tamburine verrückt gemacht, die benötigt werden, um die Anwendung für iOS / Android sofort einsatzbereit zu machen. Jetzt die Software von Drittanbietern, von der Xamarin abhängt, vollständig aktualisieren - die Situation hat sich geändert.

Ich möchte ein Skelett des Programms in mehreren Zeilen erstellen. Es wurde ein Domänenmodell beschrieben, und die IDE hat ein ViewModel, ein UI-Modell, Klassen für die Arbeit mit Konfigurationen, Protokollen, Ausnahmefang, DAL, BAL, SAL generiert, dh Wrapper um die API.

Es ist sozusagen wie ein Gerüst in ASP.NET MVC oder ähnlich wie im späten LightSwitch. Aber in dem Komplex, wie ich beschrieben habe, damit alles zusammen erzeugt wird - nein.
In den meisten Fällen handelt es sich bei jedem neuen Projekt um ein Kopieren und Einfügen von Code aus der Vergangenheit. Verbinden Sie dann die Komponenten der neuen Codebasis durch Abstraktionsebenen miteinander.
Ich denke, die Situation wird sich sehr bald ändern, und wir werden 90% des Anwendungscodes in mehreren Zeilen DSL generieren. Obwohl die Versuche mit der "Silberkugel" seit der Erstellung des ersten Programms nicht aufgehört haben.

6. Wo ist es besser, aus den Erfahrungen anderer zu lernen - an einer Universität, auf Konferenzen, in Habré? Woanders?


Nimm es und mach es. Schreiben Sie einfach den Code. Aber im Allgemeinen für jeden sein eigenes. Zum Beispiel habe ich Programme geschrieben, wie in Filmen über Hacker. Ich habe Turbo Pascal Kurse besucht. Schrieb das erste Programm, das zwei Zahlen hinzufügt. Er startete es und schleppte mich dreißig Kilometer durch alle Portale des Universums. Und dann wurde mir klar, dass es meins war.

Das zweite und dritte Programm waren bereits schwieriger zu meistern - es gab wenn und während. Und ich habe keine Kurse mehr besucht. Aber der Wunsch blieb bestehen. Und da es keine erfahrenen Kollegen und später Lehrer gab, kaufte ich nur Bücher. Ich habe Programmlisten umgeschrieben und wieder gekauft.

Dann fing er an, etwas Eigenes zu erfinden. Ich dachte daran, meinen C ++ - Compiler zu schreiben. Drei Jahre sind vergangen. Und ich war bereits unter realen Bedingungen für das Projekt bereit, für die Geld bezahlt wird. Projekt für Projekt verbesserte sich auf dem Weg zu Microsoft MVP, MCP und schloss 60 Projekte ab.

Aber er lernte nicht, wie man Exploits schreibt, wie im Film "Hackers".

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


Wissen Sie, ich möchte ein System schaffen, das den Entwicklungsansatz grundlegend verändert. Vielmehr der Prozess des Schreibens von Code.

Erinnerst du dich, wie die Hauptfigur aus dem Film "Password Swordfish" seine Khidra erschaffen hat? Aki Schamane, winkt mit den Händen und wirbelt einen Zauberwürfel herum. Oder wie im Film Iron Man. Ja, dies ist der Hollywood-Standard - um Ihre Hände auf einem durchscheinenden Bildschirm zu bewegen und Würfel zu falten. Ich möchte so etwas erschaffen und in die Massen bringen.

Übrigens habe ich allen Ernstes bereits in ein ähnliches Tool für Programmierer investiert, die am iPad gearbeitet haben. Aber anscheinend reichen 3 Freiberufler und 20.000 US-Dollar nicht für eine Revolution in der Programmierung.

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


Wenn sie mich nach Hobbys und Freizeit fragen, gerate ich in einen Stupor. Stellen Sie sich sofort den Gesprächspartner in einem Skianzug vor, der bekanntermaßen aus den Alpenbergen stammt. Oder ein Reisender in den Amazonaswäldern.

Ich habe kein bestimmtes Hobby. Zuvor war er professionell im Fußball tätig, bis er mit 16 Jahren Kapitän der Jugendmannschaft der Major League war. Und dann habe ich das erste Programm geschrieben ... Jetzt schaue ich mir gerne hochqualitative Spiele an, gelegentlich gehe ich raus, um mich selbst zu rennen.

Ich gehe gerne alleine in die Innenstadt. Lernen Sie eine neue Technologie, aber die Sicherung reicht für zwei bis drei Wochen. Klammern Sie sich an eine völlig trashige Seite wie Lepra.

Vor kurzem versuche ich herauszufinden, wie ein Video erstellt wird. Ich habe einen YouTube-Kanal erstellt, in dem ich über Freiberufler spreche. Dies ist zwar eher ein Experiment.

Und so habe ich zwei kleine Spingrose und eine Frau, die mich nicht langweilen lassen.

9. Erzählen Sie von 3 Lieblingsbüchern - Pädagogik, Populärwissenschaft und Belletristik.


Erziehungs- und Populärwissenschaft - Donald Knuth, „Die Kunst des Programmierens“ (1. und 3. Band)
Künstlerisch - Keine Ahnung auf dem Mond. Ich habe es im Alter von 7 Jahren gelesen, danach kann ich mich an nichts mehr erinnern, um mich selbst zu lesen. Vielleicht hat Jobs 'Biografie einen langen Weg zurückgelegt. Vom letzten, was ich gelesen habe - Sapiens. Eine kurze Geschichte der Menschheit.

10. Wenn AI direkt vor Ihren Augen aufwacht, was werden Sie ihm sagen?


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

Wenn wir uns jedoch hypothetisch vorstellen, dass sich die KI an die Lebensbedingungen auf der Erde anpasst, übernimmt sie die Verhaltensgewohnheiten von Menschen, genau wie ein Kind, wenn sie laufen und sprechen lernen. Dann würde ich wahrscheinlich fragen, wie man unheilbare Krankheiten heilt und Kriege und dann eine Überbevölkerung der Erde vermeidet.

Frage vom vorherigen Helden


Was würden Sie auf einer intergalaktischen Expedition über mehrere Generationen tun?

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

Und wenn Sie träumen und davon ausgehen, dass ich nicht älter werde, es keine Zeit- und Verbraucherrahmen gibt, dann würde ich versuchen, so viele Planeten wie möglich zu besuchen, die für das Leben geeignet sind. Tauschen Sie Kontakte mit den Bewohnern von Gliese 581g aus, trinken Sie Bier auf dem Mars, starten Sie ein Startup auf Andromeda, schlafen Sie mit einem Außerirdischen.

Frage an den nächsten Helden


Welchen Rat würden Sie sich geben, wenn Sie vor 10 Jahren zurückkehrten?

Source: https://habr.com/ru/post/de426947/


All Articles