Hallo, ich heiße Pascha! Ich arbeite bei Mad Devs und ich denke, dass nur Programmieren nicht ausreicht, um ein guter Spezialist zu sein.
Ich hoffe, dass dieses Material nicht die Gefühle von jemandem verletzt. Dieses Material ist ein Versuch, das Skill-System des modernen Programmierers aus einem anderen Blickwinkel zu zeigen. Nicht mehr.
Ein Programmierer ist ein wesentliches Glied in der Softwarekette. Ohne sie kann keine neue Software erstellt werden. Was ist so wichtig, dass ein Programmierer tut? Welche Verantwortung liegt bei ihm, da er so unersetzlich ist.
Ich möchte Ihre Aufmerksamkeit sofort darauf lenken, dass die Verantwortung eines Programmierers von der historischen Zeitachse abhängt. Wir werden vor etwa 20 Jahren zurückkehren.

Dieses Mem hat wenig mit dem Image eines modernen Entwicklers zu tun. Lassen Sie uns dennoch diskutieren, wofür dieser fantastische Spezialist verantwortlich ist. Höchstwahrscheinlich entwickelt er ein System, das im Betrieb instabil ist. Benutzer dieser Software sind zu dieser Zeit die sogenannten fortgeschrittenen PC-Benutzer. Zu diesem Zeitpunkt konnten nur fortgeschrittene Benutzer die Software über einen Texteditor hinaus verwenden.
Was ist die Verantwortung eines solchen Spezialisten? Es sollte nur Code in einer Programmiersprache schreiben. Dieser Spezialist nennt sich stolz C ++ - einen Programmierer (ersetzen Sie eine andere damals beliebte Programmiersprache). Seine Führung versteht in der Regel nicht ganz, was er tut. In dieser Hinsicht hat er die Möglichkeit, das Bild seiner Tätigkeit zu schaffen, das er sich selbst wünschen wird. Dieses Bild kann negativ sein, Programmierer wurden damals nicht viel bezahlt, deshalb waren sie wütend. Es mag positiv sein, er kann Probleme aus seiner Führung lösen und nützliche Magie erschaffen. Einige meiner Kollegen glauben immer noch, dass es die Norm ist, das Image eines negativen Spezialisten aufrechtzuerhalten. In ihren Unternehmen verstehen Manager immer noch nicht, was sie tun, und diese Spezialisten stehen ihrer gesamten Welt um sie herum absolut negativ gegenüber. Aber es gibt nicht viele von ihnen - es gefällt. Wie auch immer, es scheint mir, dass IT-Unternehmen diejenigen Unternehmen sind, in denen Manager verstehen, was in der modernen Industrie passiert. Dies ist für mich ein ausreichendes Kriterium, um ein IT-Unternehmen zu sein.
In diesem Zusammenhang die Frage: Was ist die Verantwortung eines modernen Programmierers? Diese Frage kann sehr lange beantwortet werden, aber ich werde versuchen, sie schneller zu öffnen und die wichtigen Dinge sofort zu verwerfen, aber dieses Material kann bis ins Unendliche gedehnt werden. Und wir werden beginnen, dies mit den Kompetenzen zu offenbaren, die ein moderner Programmierer besitzen kann.
Die Kompetenzen moderner Spezialisten in jeder Branche sind in drei große Kategorien unterteilt:
- Harte Fähigkeiten;
- Soft Skills;
- Digitale Fähigkeiten.
Die Logik schlägt vor, dass in jedem Spezialisten alle Arten von Fähigkeiten gleichermaßen entwickelt werden sollten. Sie ergänzen sich gegenseitig.
Ich werde diese Begriffe nicht offenlegen, da sie auf Russisch nicht einmal einen dauerhaften Namen haben. Viele Pädagogen beziehen sich unterschiedlich auf diese Fähigkeiten, was das Publikum manchmal verwirrt. Ich werde Sie auf eine Korrespondenztabelle dieser Namen aufmerksam machen.
Wenn die Namen des Problems, mit der Definition und noch mehr. Ich werde nur die Konzepte nennen, die für die heutige Diskussion benötigt werden.
Um es kurz zu machen. Jeder Spezialist benötigt genau eine berufliche Fähigkeit : einen Programmierer - zum Programmieren, einen Baumeister - zum Bauen, einen Chirurgen - zur Operation (unangemessener Witz) und so weiter. Diese Fähigkeit beinhaltet die unendliche Menge an Wissen, die ein Spezialist besitzt. Im Fall eines Programmierers umfasst dies das Verstehen der sehr guten Basis, die jeder kennen sollte, das Verstehen der Prinzipien seiner Programmiersprache und so weiter.
Digitale Fähigkeiten sind für die meisten Berufe eine andere Geschichte. Weil die IT heute alle Branchen durchdringt. Es ist schwer, eine Branche zu finden, die heute nicht digitalisiert ist: Zu einem anderen Zeitpunkt würde ich sagen, dass dies eine Religion ist, aber nein! Für Fachleute in den meisten Berufen sind digitale Fähigkeiten daher ein separater Artikel, mit dem sie arbeiten können. Für Programmierer überschneiden sich digitale und berufliche Fähigkeiten aus offensichtlichen Gründen. Obwohl ich jeder Programmierer bin, denke ich, dass ich ein fortgeschrittener Software-Benutzer sein sollte. Ich meine, nutzen Sie verschiedene Dienste, um Ihr Leben zu organisieren, versuchen Sie, ein intelligentes Zuhause zu schaffen, verwenden Sie moderne Anwendungen fürs Leben und so weiter. Es entwickelt digitale Fähigkeiten mehr. Um ein guter Lieferant zu sein, ist es schließlich schön, ein guter Verbraucher zu sein.
Überprofessionelle Fähigkeiten - darauf werden wir noch näher eingehen. Im Vergleich zu beruflichen Fähigkeiten benötigt jeder Spezialist mehrere und vorzugsweise viele überprofessionelle Fähigkeiten. Beispiele für berufliche Fähigkeiten: Zeitmanagement, Ressourcen finden, Ressourcen nutzen, Verhandlungsgeschick, Kommunikationsfähigkeit, Personalmanagement, öffentliches Sprechen usw.
Warum brauche ich diese Fähigkeiten? Ich schreibe in React! - wird vom Publikum klingen.
Hier beginnt der Unterschied in der Verantwortung zwischen Programmierern vor 20 Jahren und Programmierern heute. Heute sind wir Lieferanten der Zukunft, ohne uns ist Softwareentwicklung nicht möglich. Unsere Kollegen aus Unternehmen (Manager, Produktbesitzer, Vertrieb, Stakeholder, Vermarkter und andere) brauchen unsere Hilfe. Unsere Kompetenzen (nämlich berufliche Fähigkeiten) und wie wir sie anwenden können, spielen manchmal eine entscheidende Rolle bei der Entwicklung eines Produkts. Warum so? Ich habe in einem Artikel über echte Full Stacks auf Habré beschrieben. Es beschreibt, wo Sie Ihre beruflichen Fähigkeiten mehr einsetzen müssen, als die meisten von uns es gewohnt sind. Tatsächlich summieren sich die Fähigkeiten, über die ich jetzt schreibe, zu einer sehr coolen Qualität, die wir in Mad Devs entwickelt haben - Kundenaffinität (Nähe zum Kunden).
Wie ich oben geschrieben habe, sollten alle Arten von Fähigkeiten in jedem Spezialisten gleichermaßen entwickelt werden. Und um Ihre beruflichen Fähigkeiten in Situationen, die ich im Artikel unter dem obigen Link beschrieben habe, qualitativ anzuwenden, müssen Sie auch über gut entwickelte superprofessionelle Fähigkeiten verfügen.
Welche speziell? Ich werde die sechs wichtigsten beruflichen Fähigkeiten auflisten, über die jeder moderne Spezialist meines Erachtens verfügen sollte:
- Zeitmanagement . Hier denke ich natürlich. Die Fähigkeit des Zeitmanagements bezieht sich nur indirekt auf die Bewertung von Aufgaben. Die Beurteilung von Aufgaben ist eine berufliche Fähigkeit. Zeitmanagement für einen Programmierer ist eine logische Zeitverteilung für das Codieren, Lesen von Artikeln, Selbstbildung und Rallyes.
- Fähigkeit, im Team zu arbeiten . Fast niemand macht Projekte alleine. Die Fähigkeit, in einem Team zu arbeiten, ist eine absolut unverzichtbare Fähigkeit.
- Die Fähigkeit zu unterrichten . Und um genau zu sein, die Fähigkeit, in den Kontext einzuführen, eine Fähigkeit, die mit der Fähigkeit zu unterrichten vergleichbar ist. Die Aufgabe der Person, die unterrichtet, ist im Wesentlichen eine Einführung in den Kontext. Nur das Wissen ist umfangreicher. Programmierer wechseln sehr oft den Kontext aufgrund des Wechsels von Projekten und Teams. Und die Fähigkeit, einen Kollegen in den Kontext einzuführen, auf die wichtigsten Punkte hinzuweisen und unnötige Details wegzulassen, ist eine sehr wichtige Fähigkeit, wenn man bedenkt, wie teuer die Eingabe in den Kontext heute ist. Diese Fähigkeit wird übrigens auch beim Mentoring eingesetzt.
- Geschäftsetikette . Ausgehend von der Einhaltung der Regeln der russischen Sprache und endend mit den elementaren Regeln der Kommunikation mit Kunden. Einige Geschäftsleute vergessen, dass sie sich nicht im Chat der Gophers oder des Yii-Frameworks befinden (ersetzen Sie Ihre Technologie). In einigen Unternehmen ist die Geschäftsetikette für die Korrespondenz per Post innerhalb des Unternehmens wichtig. Bei uns bei Mad Devs ist die Geschäftsetikette nur dann wichtig, wenn sie für das Produkt, das wir herstellen, wichtig ist. Wenn es für Teammitglieder einfacher ist, genau diese Art der Kommunikation wahrzunehmen, wird eine solche Kommunikationsetikette übernommen. Aber zumindest alle Kunden, mit denen ich zusammengearbeitet habe, sind Menschen, die sich in erster Linie auf das Ergebnis konzentrieren und es vorziehen, ohne ernsthafte Suppe zu kommunizieren. Hier für jeden sein eigenes. Aber! Die Fähigkeit, die Geschäftsetikette einzubeziehen, wenn es die Situation erfordert, ist wichtig!
- Zielsetzung . Zwei Arten. Persönlich und Design. Sag mir, Programmierer, wer wirst du in 5 Jahren sein? Eine typische Frage beim Interview, aber die Antwort darauf hilft zu verstehen, wie sich eine Person auf die langfristige Planung bezieht. Meine persönliche Meinung (dies bedeutet, dass ich niemandem etwas aufzwinge, was bedeutet, dass es keinen Sinn macht zu streiten): Trotz der Entropie der modernen Welt ist langfristige Planung BENÖTIGT, BENÖTIGT, BENÖTIGT! Niemand bittet Sie, sich an einen Plan zu halten, egal was passiert. Pläne müssen geändert werden, und dies ist ein Weg für Erwachsene. Das Ziel und die Aufgabenstellung für die kommenden Jahre (vorzugsweise etwa 10 Jahre) zu berücksichtigen, ist jedoch eine Richtlinie, nach der Entscheidungen getroffen werden. Insbesondere fällt es mir leichter, mit Menschen mit langfristiger Planung zusammenzuarbeiten. Sie können in sie investieren und sich mit ihnen entwickeln, ohne befürchten zu müssen, dass sie morgen regnen. Die Zielsetzung im Projekt ist ebenfalls ein wichtiger Punkt. Selbst wenn Sie als Programmierer all diesen Unsinn über berufliche Fähigkeiten und Dinge verwerfen, sind Sie für einen der Teile des Projekts verantwortlich. Und Sie müssen die Entwicklung dieses Teils des Projekts langfristig planen. Welche Abstraktionen erscheinen, welche Module werden separat verwendet, um ihr eigenes Leben zu führen, und so weiter.
- Geselligkeit . Es geht um die Fähigkeit, mit Kollegen aus anderen Berufen zu kommunizieren. Seien Sie reaktionsschnell und helfen Sie Kollegen, ihre Probleme zu verstehen, die mit unseren beruflichen Fähigkeiten zusammenhängen. Sei ein Lebensretter für sie, wenn sie im Stillstand sind und so weiter. Geselligkeit hilft auch, den Kontakt zum Kunden herzustellen, und dies ist für jedes Projekt immer nützlich.
Diese überprofessionellen Fähigkeiten werden meiner Meinung nach dazu beitragen, Ihre beruflichen Fähigkeiten vollständig zu offenbaren.
Die Hauptbotschaft, dass ein Programmierer heute kein Code-Typer ist. Dies ist eine wichtige Kampfeinheit: Eine Einheit, die über den Ausgang eines Kampfes entscheiden kann, wenn sie alle ihre Zauber richtig einsetzt.
Und dafür müssen Sie nicht nur ein guter Entwickler sein und in der Lage sein, zu programmieren, sondern auch über eine Reihe von Fähigkeiten verfügen, die auf den ersten Blick bei der Erfüllung Ihrer Aufgaben aus der Ferne helfen, aber das ist nicht der Fall.
Wir beantworten die Frage: Was ist die Verantwortung des modernen Programmierers? In erster Näherung ist dies zu schreibender Code. Tatsächlich hat ein guter moderner Programmierer in den meisten Fällen so vage Verantwortlichkeiten, wie die Konzepte der beruflichen Fähigkeiten heutzutage vage sind. Dies hängt neben allem von Unternehmen, Team, Projekt und Teamleiter ab.
Natürlich entscheidet jeder Entwickler, wer er sein soll. Und welche Fähigkeiten zu entwickeln sind, was wichtig ist und so weiter. Sie können weiterhin ein Code-Dialer sein und in den kommenden Jahren werden Sie sich super gut fühlen.
Es stimmt, es gibt Experten, die sagen werden, dass enge IT-Spezialisten bald aussterben werden. Das völlige Aussterben bedroht sie nicht, aber in der Form, in der sie jetzt sind, werden die Berufe nicht sicher bleiben.
Es gibt so ein interessantes Projekt: Atlas der neuen Berufe . Probieren Sie es aus und sehen Sie, dass neue Berufe in der Regel Berufe vom Typ IT + eine andere Branche sind.
Im Beruf eines JS-
fehlt etwas.
Ich hoffe, dieses Material hat niemanden verletzt. Dieses Material ist ein Versuch, das Skill-System des modernen Programmierers aus einem anderen Blickwinkel zu zeigen. Nicht mehr.