Glücklicher Programmiertag! Liebe deine Entwickler

Heute ist der Tag des Programmierers, der 256. Tag des Jahres. Und wir haben beschlossen, einen Beitrag nicht für unsere Mitentwickler zu schreiben, sondern für diejenigen, die neben ihnen und bei uns sind. Für diejenigen, die uns zur weißen Hitze bringen, bringt es uns dazu, unser Gehirn zu kochen, Dampf abzulassen und nervös über die Essenz, die Schnittstelle und die Gründe für die gebrochene Frist zu sprechen. Für Sie, liebe Manager, Geschäftsleute, Analysten, Manager ohne IT-Hintergrund und andere Bürofreunde.

Wenn Sie das Habr lesen, müssen Sie höchstwahrscheinlich mit Programmierern kommunizieren, sie bitten, das Frontend oder Backend der Site fertigzustellen, den Analysecode zu ändern, das nächste Codefragment in den Header der Site zu hängen, Verbesserungen an der Client-Software vorzunehmen und vieles mehr. Wie finde ich eine gemeinsame Sprache mit dem Entwickler, um nicht zu streiten? Wir wissen etwas darüber.


Also gleich von der Liste.

Geben Sie Ihre Anforderungen klar an. Immer: Es spielt keine Rolle, ob Sie eine kleine Auswahl aus der Datenbank treffen oder ein seriöses Softwareprojekt für den Kunden vorbereiten möchten. Es gibt keine Beschreibung der Aufgaben in der Form „Machen Sie mir eine Ereigniskarte als VKontakte-Profil“ (es gibt viele Programmierer, die an VKontakte arbeiten, stellen Sie den gleichen Betrag ein und erledigen Sie dies), „Nun, Sie tun alles, und ich werde wählen“ (mehrere Optionen für das Programm sind teuer, Sie CEO stimmte zu?), "Lassen Sie uns einen solchen Ball machen" (dies ist ein Band und spezielle Bibliotheken werden für seine Implementierung benötigt). Zunächst müssen Sie verstehen, was Sie empfangen möchten, und genau das muss der Programmierer senden. Formulieren Sie die Anforderungen auf Russisch, ohne Büro und pseudotechnische Aussagen - und ja, vorzugsweise schriftlich.

Apropos schreiben. Dies ist die größte Erfindung in der Geschichte der Menschheit, die heutzutage vom Computer optimiert wird. Verwenden Sie Papier in einem Gespräch mit dem Entwickler:

  • Erstellen Sie Skizzen und Prototypen von dem, was Sie sehen möchten (wenn es sich um ein Programm oder eine separate Oberfläche handelt) - heute gibt es dafür viele Tools
  • Verwenden Sie Mind Maps, um die Arbeit zu planen und einen Projektplan zu erstellen
  • Beschreiben Sie die gewünschte Funktionalität so einfach und detailliert wie möglich
  • bilden die Leistungsbeschreibung (TOR).

Wenn Ihnen dies wie eine komplizierte Wissenschaft erscheint, googeln Sie, was ein Systemanalytiker tut und was er in seiner Arbeit verwendet - vieles kann in Betrieb genommen werden.

Sie müssen keine UML-Diagramme, Flussdiagramme und Pseudocodes verwenden, wenn Sie diese nicht besitzen. Unterwegs gab es mehr als einen Manager, der von den UML-Diagrammen fasziniert war und alles einzeichnete, was er brauchte: vom Besprechungsplan bis zur Beschreibung der Marketingkampagne. In der Tat scheint das Tool logisch und praktisch zu sein, aber - eine Überraschung - UML wurde erstellt, um die Softwarearchitektur zu entwerfen, und jede Bezeichnung ist nicht nur ein Pfeil oder ein Kreis, sondern eine sehr bedeutsame Komponente. Außerdem kennt Ihr Programmierer UML möglicherweise nicht und für ihn sind es völlig bedeutungslose Blöcke.

Dieselbe Geschichte mit Blockdiagrammen, in denen verschiedene Formen von Blöcken nicht für die Schönheit existieren, sondern mit Pseudocode. Keine Notwendigkeit, im Stil zu schreiben: " WENN Monat = April, DANN Datenplatte Feld 1 Feld 2 Feld 3 ". Dies ist einfach unlesbarer Unsinn, der den IT-Service nicht erobert, sondern bestenfalls lacht.

Beantworten Sie die Fragen rechtzeitig. Jeder weiß, dass Programmierer Faulenzer sind, sie sitzen und sägen ihren Code, sie werden niemals Manager mit hundert Aufgaben erreichen. Ok Wenn Sie jedoch ein Projekt durchführen, sind Sie dafür verantwortlich und geben die Aufgabe an den Programmierer weiter. Sie haben das Gewissen, die Fragen rechtzeitig zu beantworten. Sie müssen Anrufe und Chats nicht vermeiden, E-Mails als wichtig markieren und in einem separaten Ordner ablegen. Der Programmierer verbringt viel Zeit mit der Interaktion mit Ihnen. Möglicherweise hat er aufgrund einer unbeantworteten Frage eine einfache - und das ist Ihre Schuld. Bitte setzen Sie sich während der Arbeitszeit mit Fragen in Verbindung, die Sie vor anderen Entwicklern angesprochen haben. Dies gilt übrigens auch für Drittkunden.

Und doch - wenn Sie gefragt wurden, was passiert ist, bewerten Sie den Prototyp oder testen Sie die Funktionalität, um festzustellen, ob er Ihren Anforderungen entspricht, gehen Sie nicht zu zehn benachbarten Mitarbeitern und tun Sie dies nicht zusammen. Sie verlängern also die Zeit bis zur Fertigstellung der endgültigen Version erheblich.



Überschrift "Ihre Manieren." Vergleichen Sie ähnliche Abfragen in Russisch und Englisch. Arbeit, Liebe, Geld - alles ist wie alle anderen. Aber am wichtigsten ist, wie sehen sie Benutzer?

Beschuldigen Sie die Entwickler nicht für alle Probleme. "Der IT-Service hat so lange an dem Code gearbeitet", "IT-Leute verpassen eine Frist", "Etwas, das der Programmierer so lange in die TK eingegraben hat" - ist das bekannt? Es ist leicht, das Problem einer Person zuzuschreiben, die mit Technologie interagiert - nun, auch dort könnte etwas falsch gewesen sein. Nein, führen Sie eine strenge Zeitaufzeichnung, notieren Sie die Tatsache der Übertragung von Aufgaben (Sie können dies beispielsweise in CRM oder im Gantt-Diagramm tun), und lassen Sie alle nur für ihre Arbeit verantwortlich sein.

Ein weiteres Extrem - bei Unzufriedenheit der Kunden Asche auf den Kopf streuen und rufen: „Was machen Sie? Auf der Suche nach Kritik und übersetzen Sie! Wir verlieren Geld und Ansehen! Dringend! " Panik wird von Kollegen und Management leicht aufgenommen, die Nerven des Programmierers sind am Limit. Tatsächlich stellt sich jedoch heraus, dass der Port des Clients abgefallen ist oder die Verbindungsgeschwindigkeit gesunken ist. Lernen Sie nicht zu beschuldigen, sondern zu fragen: „Vasya, Volga LLC hat ein Problem: Es besteht keine Verbindung zur Datenbank. Kannst du mir nicht sagen, was sein könnte, wo ich graben soll? " Fühlen Sie den Unterschied?

Zeichnen Sie keine Ideen aus aller Welt in einen Arbeitsentwurf ein. Google hat der Suche Filter hinzugefügt, Yandex hat Alice aktiviert , Habr hat eine neue mobile Version gestartet, Salesforce hat künstliche Intelligenz aktiviert , RegionSoft hat CRM v.7 veröffentlicht, und jetzt rasen Sie den Korridor entlang, um anzubieten, diese Technologien in das Projekt Ihres Unternehmens einzuführen, denn genau das tun sie IT-Giganten. Änderungen sollten jedoch in Bezug auf Durchführbarkeit, Relevanz und Amortisation vorgenommen werden. Und wenn die Verbesserungen dem Endbenutzer nicht zugute kommen und nicht zu Gewinn führen, wird ihre Implementierung eine zusätzliche Belastung für den Entwickler darstellen. Bereiten Sie eine Begründung und Berechnungen vor, berechnen Sie die Kosten für die Einführung von Funktionen und treffen Sie erst danach die Entscheidung, mit der Erörterung des Problems zu beginnen.

Bewerten Sie nicht die Komplexität eines Programmierers, wenn Sie kein Teamleiter sind. "Wir brauchen ein Modul zur Berechnung des Volumens einer Box für den Versand eines Pakets. Hier ist ein halber Tag, setzen wir uns!" - Optimist Marketer Masha ruft und eilt vor dem dritten Treffen, um Tee zu trinken. Gleichzeitig weiß Mascha selbst nicht, woher sie eine solche Zeit hat. Der Programmierer hat Arbeitsaufgaben, aktuelle Probleme, ein Bug-Tracker hängt über ihm und ein Rückstand blinzelt an der Seite, sodass er zwischen ihnen nach Zeit sucht, um das Problem zu lösen. Und es ist keine Tatsache, dass das in 15 Codezeilen gelöste Problem während des Satzes dieser Zeilen gelöst werden kann - die Zeit erfordert die Wahl des Algorithmus, die Suche nach einer Lösung, die Auswahl von Bibliotheken, das Debuggen von Code, Autotests usw.

Das Beste ist, wenn Sie eine Unternehmensverordnung haben, die das Verfahren für die Beantragung außergewöhnlicher Fertigstellungen / Entladungen / Platzierungen usw. vorschreibt. In diesem Fall wird sich jeder sicher fühlen und die ungefähren Fristen für die Lösung des Problems kennen. Und ja, setzen Sie echte Bedingungen.



Versuchen Sie nicht, den Stapel von Entwicklungstechnologien zu beeinflussen, wenn Sie selbst nichts entwickeln. Die Situation ist banal: Der Manager geht zur nächsten intergalaktischen IT-Konferenz, hört sich Berichte an und sein Gehirn unterbricht plötzlich, dass überall um Go herum Lärm ist, und dann wurde ihm ein Plüsch-Gopher präsentiert. Und jetzt steht er vor der IT-Abteilung, streichelt den gefundenen Gopher und spricht über die Vorteile, die Go gehört hat, und wie man sie in unserem blutigen Unternehmen einsetzt.

Die Antwort ist einfach. Programmierer sind sehr neugierig und lernen Programmiersprachen, DBMS, neue Betriebssysteme, Bibliotheken und Frameworks viel früher kennen, als ein anderer Konferenzteilnehmer einen Bericht über sie schreibt. Gleichzeitig sind sie nicht nur neugierig, sondern suchen auch, ob diese oder jene Technologie dazu passt, die Arbeit zu erleichtern und das Vertrauen in das Produkt zu stärken (weil Programmierer auch im guten Sinne des Wortes extrem faul sind). Daher liegt es an ihnen, zu entscheiden, was auf den Entwicklungsstapel gezogen werden soll und was bis zu besseren Zeiten und neuen Aufgaben ruhen soll. Und es ist unwahrscheinlich, dass Sie sie darin übertreffen.

Seien Sie vorsichtig beim Schreiben , es vermittelt keine Intonation (dies gilt jedoch für alle Kollegen und andere im Allgemeinen). Wenn Sie schreiben "Und entladen Sie mich in einer Stunde))))))))))))))" oder "Ich würde es besser implementieren, scheint es mir, dass es langsamer wird))))))))))))) " , Klammern werden Sie nicht retten - die Hauptnachricht wird gelesen. Beschreiben Sie alle Arbeitsfragen klar und emotionslos. Wenn Ihnen die Arbeit gefallen hat, können Sie einen Schokoriegel geben :-)



Nach der Bitte „Warum sind russische Programmierer so gut“ gingen sie, um stolz zu sein

Setzen Sie Ihre Kommunikationsmethoden nicht durch. Heute verfügt jeder von uns auf einem funktionierenden PC und Mobiltelefon über ein Dutzend Kommunikationswerkzeuge: Telegramm, Skype, SMS, Telefon, Viber, Mail, Slack, Jira ... und jeder von ihnen hat seinen eigenen Aufgaben- und Abonnentenkreis. Wenn der Programmierer das Wochenende nur in den Warenkorb schreiben, Aufgaben nur in Jira festlegen und nur über Skype anrufen möchte, hat er gute Gründe dafür: Er weiß mit Sicherheit, dass er die mit diesen Kontakten verbundenen Arbeiten nicht vergessen wird. Ihre SMS „Beginnen Sie am Montag mit dem Bericht über die Zahlungen für das erste Halbjahr“ geht jedoch in den Diskussionsfäden der Sonntagskampagne verloren. Daher ist es besser, in Arbeitsprogrammen darüber zu schreiben und sich nicht als außergewöhnlich und am effizientesten bei der Kommunikation und Festlegung von Aufgaben zu betrachten. Glauben Sie mir, das ist nicht schwer.

Wenn Sie mit Programmierern arbeiten und Programme für externe Kunden erstellen, geben Sie eine Version an. Das heißt, in dem Moment, in dem das Programm fertig ist und in der Produktion gestartet wird, sollten Sie über alle Werbematerialien, Bilder, Präsentationen, Vereinbarungen usw. verfügen. Dies ist Respekt für die Arbeit des Entwicklers - denn in einem solchen Unternehmen übt er die Funktion einer Produktionseinheit aus. Wenn Sie die Programmierer angepasst haben, haben sie alles pünktlich erledigt und die Veröffentlichung wird um drei Monate verschoben. Dies ist ein großartiger Demotivator und entwertet das Team als solches. Es gibt selten einen Programmierer, dem es egal ist, was mit seinem Programm in Zukunft passieren wird, und der sich nicht dafür interessiert, wie es sich auf dem Markt und bei Kunden verhält.





Inländische Yandex sieht die Dinge ganz anders: Sogar Ada Lovelace zählt zu den 1C-Programmierern, und in den Top-Stellen sind Assembler und Delphi (wenn überhaupt, haben wir in einem anonymen Browser gesucht). Hauptsache aber sind es 256 Tage - und das ist heute :-)

Lernen Sie von Programmierern und lernen Sie Terminologie. Eine Person, die programmieren kann, systematisch und logisch denkt, Prioritäten setzt, die Essenz der Dinge sieht und das Thema perfekt kennt (nein, zu Ehren des Urlaubs kann man etwas übertreiben!). Er muss noch viel lernen - vor allem, da Sie im IT-Bereich arbeiten, benötigen Sie eine gute Beherrschung des konzeptionellen Apparats und des Fachvokabulars. Kommunizieren Sie bei der Arbeit, klären Sie kontroverse Themen, fragen Sie, merken Sie sich die Begriffe und ihre Definitionen - dies wird Ihre Karriere definitiv nicht beeinträchtigen. Aber das Verständnis mit einem Programmierer wird definitiv besser sein.

Zumindest schreiben Sie nicht auf dem Unternehmensportal "Happy Programmer's Day", aber Sie können so etwas schreiben:

„Leute! Glücklicher Programmiertag! Es ist großartig, dass Sie Code rechtzeitig festschreiben, umgestalten und unsere Software noch schneller und intuitiver gestalten, Builds rechtzeitig sammeln und in der Produktion ausführen. Ich wünsche Ihnen erfolgreiche Commits, zuverlässige Bibliotheken, praktische Frameworks und uns angemessene Benutzer. Sie machen die Welt der Gegenwart zu einer kleinen Zukunft. Und wir lieben dich! "

Hast du unsere kleine Lektion gelernt? Herzlichen Glückwunsch an Ihre Entwickler.

Schöne Ferien, Freunde! Team RegionSoft Developer Studio , Entwickler von leistungsstarkem CRM und anderer Unternehmenssoftware, die viel über die Kommunikation zwischen Benutzern und Programmierern wissen



Unser Telegrammkanal

Wir begrüßen den Hauptkanal von Nischni Nowgorod über IT-Veranstaltungen und deren Website it52.info . Gehen Sie zu Veranstaltungen, seien Sie im Thema.

Wenn Sie aus Nischni Nowgorod sind
Leute, eine nicht standardmäßige Anfrage für Habr - wir sind in Nischni Nowgorod und suchen einen Verkäufer, aber wie einen Verkäufer ++, für eine Implementierungsfirma. Wenn Sie einen jungen Einwohner von Nischni Nowgorod (leider nur ein Büro) haben, der in die IT eintreten wollte, aber nicht eintrat, fügen Sie bitte einen Link zur offenen Stelle hinzu - wir sind cool und nach uns geht die Person mit großer Erfahrung (obwohl etwas nicht stimmt) sie gehen, sie arbeiten 10-15 Jahre und es ist cool!).

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


All Articles