Hallo Habr!
Die Entwicklung in einem Integrator unterscheidet sich normalerweise erheblich von der Arbeit in einem Startup oder Softwareentwicklungsstudio. Von den Vorteilen - viel mehr globale Aufgaben - arbeiten Hunderte von Spezialisten gleichzeitig an der Lösung einiger von ihnen, damit Sie sich nicht langweilen. Und auch - die Fähigkeit, schnell eigene Fähigkeiten zu entwickeln und im Team zu wachsen.
Von den Minuspunkten - diese Arbeit ist für den Endbenutzer nicht immer sichtbar, und aufgrund einiger NDAs von der Größe eines Toasters kann nicht alles gesagt werden.
Als ich über ein amüsantes Projekt sprechen wollte, gab es aber wieder die NDAMein Name ist Ivan, ich bin technischer Manager (Java) bei CROC. Und heute werde ich versuchen, den Schleier der Geheimhaltung ein wenig zu öffnen und darüber zu sprechen, wie wir im Allgemeinen für Entwickler arbeiten, die etwa 350 Mitarbeiter umfassen, sowie über aktuelle Stellenangebote (Java, PHP und Front-End). Details - unter dem Schnitt.
Ich selbst bin zufällig in das CROC gekommen, ich kam 2012 zur zweiten Lektion des Java-Kurses, die hier abgehalten wurde. Ich mochte sofort den Kurs selbst (Nützlichkeit und Präsentation des Materials) und das Unternehmen im Prinzip. Zu diesem Zeitpunkt war ich noch in einem Forschungsinstitut (ich arbeitete dort als Techniker, erhielt ein Diplom, wurde Ingenieur und arbeitete insgesamt 4 Jahre) und hatte ein Angebot eines anderen Unternehmens in der Hand. Was hat mich vor eine solche Wahl gestellt:
- regelmäßig zu einer bestimmten Firma in C ++ gehen, weil ich C ++ ziemlich gut kannte;
- Gehen Sie zu CROC in Java, aber zu einer Junior-Position und lernen Sie alles von Grund auf neu.
Nach einer kurzen Qual ging der oben erwähnte Kurs All-in - entschied sich für CROC.
Das allererste Projekt, an dem ich gearbeitet habe, war die Automatisierung des Workflows für ein großes staatliches Projekt (und - ja, eine enge Bekanntschaft mit der NDA). Es war ein wenig erstaunlich - Sie kommen von einem der Forschungsinstitute mit einem stolzen Wissen über Adressarithmetik und ungarische Notation, und dann haben Sie sofort Java, CamelCase, BPM, ECM und andere Namen, die für Ihr Ohr angenehm sind und nach der rostigen * Welt C etwas Magisches zu sein scheinen.
Wir haben einige Zeit an dem Projekt gearbeitet, weil die Anzahl der Iterationen offen gesagt nicht schwach war.
Zuerst habe ich meinen Kollegen viele Fragen gestellt - wie ist es allgemein anerkannt, zu arbeiten, um nicht nur das Wissen selbst, sondern auch die Prinzipien der Arbeit mit dem Stack in CROC aufzunehmen. Die Kollegen gingen zu dem Treffen und halfen mit Ratschlägen und gaben mir ganze Stunden. Ich nehme schnell Wissen auf und wechselte ein Jahr später von einem Junior zu einem regulären und ein Jahr später zu einem neuen Entwickler. Das Unternehmen durfte Architekt, Teamleiter und technischer Vorverkauf sein. Jetzt - technischer Manager.
Im Prinzip sehen unsere Entwicklungspfade selbst ungefähr so aus - Sie können Projektmanager, technischer Experte oder technischer Manager werden. Die Rolle eines technischen Managers besteht darin, alle Personen und Ressourcen für ein bestimmtes Projekt zu koordinieren. Eine Art Guru. Dies setzt eine hohe Verantwortung und Kompetenz voraus: In diesem Fall sollte ein solcher Spezialist in der Lage sein, jedes Mitglied des Teams zu ersetzen.
Ich habe mich für die dritte Option entschieden, jetzt leite ich ein Entwicklungsteam von 7 Personen. Nachdem ich einige Jahre hier verbracht und die Karrierewege anderer verglichen habe, kann ich sagen, dass dies keine Ausnahme von der Regel ist - so kann man in ein paar Jahren wachsen, sondern die Situation ist für CROC normal. Jemand wählt die horizontale Bewegung zwischen den Teams - wechseln Sie das Back-End und das Front-End und umgekehrt - kein Problem.
Es gibt Leute, die seit ungefähr 10 Jahren bereit sind, an einem großen Projekt zu arbeiten (und es gibt viele solcher skalierbaren Projekte hier) und sich darin zu entwickeln. Es gibt diejenigen, die es vorziehen, an verschiedenen Projekten zu wachsen und ihr Fachwissen ständig zu erweitern. Beide Ansätze sind willkommen.
Welche interessanten Dinge machen wir bei CROC?
Kürzlich gab es ein großes Projekt
„Elektronische Justiz“ - es beinhaltete die Arbeit mit dem Moskauer Stadtgericht und 35 Bezirksgerichten von Moskau. Der Umfang der Aufgaben ist mein Respekt. Etwa 400 Personen arbeiteten gleichzeitig an dem Projekt.
Vor einigen Jahren haben wir begonnen, an der Automatisierung des Workflows von SIBUR zu arbeiten.
Wenn sich jemand an Blockchain-Projekten in realen Wirtschaftsbereichen versuchen möchte
, haben wir auch diese . Zum Beispiel arbeite ich jetzt in Projekten vom digitalen Contracting bis zur Verwendung von Blockchain im sozialen Bereich. Natürlich alles unter der NDA, daher kann ich leider keine Beispiele nennen.
Übrigens gab es bei einem zwischenstaatlichen Projekt noch etwas Interessantes. CROC hat seit langem ein eigenes Framework für die „schnelle Entwicklung“ entwickelt und erfolgreich eingesetzt, das auf der Beschreibung des Domänenmodells basiert. Es ist übrigens im russischen Softwarekatalog registriert und kann für die Entwicklung verwendet werden, einschließlich und für Regierungsbehörden. Im Rahmen des Projekts wurde auf dessen Basis eine neue Version erstellt, die es ermöglicht, auf der Basis eines einzigen Informationsmodells Anwendungen in verschiedenen Zuständen zu erstellen. In diesem Fall wurde die Basisversion der Anwendungen durch Codegenerierung erstellt, und der Rest der Anpassung blieb bei den Entwicklern.
Ein weiterer Fall ist ein Projekt im Zusammenhang mit der elektronischen Signatur. In einer Reihe von Staaten haben GOSTs auf EPs die gleiche Anzahl, aber gleichzeitig sind die Implementierungen so unterschiedlich, dass sie de facto inkompatibel werden. Wenn in Russland der Anbieter von Kryptografielösungen CryptoPro ist, ist der Anbieter in Belarus anders.
Es musste sichergestellt werden, dass ein in einer Kommission gebildetes Dokument mit einer in seinem Land akzeptierten elektronischen Signatur unterschrieben werden konnte. In allen anderen Ländern wurde bei der Prüfung dieses Dokuments seine Gültigkeit gemäß den örtlichen Entscheidungen festgestellt.
Mein Arbeitsplatz und meine Kollegen
Anstelle des üblichen großen Freiraums für 100 Personen haben wir Räume für 5-10 Personen. Daher sieht mein Arbeitsplatz folgendermaßen aus:

Einer der HauptassistentenIch werde Sie meinen Kollegen vorstellen. Hier zum Beispiel Zhenya, technischer Manager (Java, Frontend).


Apropos Frontend. Für große Projekte verwenden wir CROC WebClient. Dies ist ein Framework, mit dem effektive und ergonomische Schnittstellen für Clientanwendungen erstellt werden, die auf der Basis des "dünnen" Clients in modernen Browsern arbeiten. Mit den Systemfunktionen können Sie die Arbeit an Workstations und Mobilgeräten unterstützen, in verschiedenen Browserauflösungen und mit einer Touch-Oberfläche arbeiten.
Wort an Frau:Das Vorhandensein des Frameworks vereinfacht die Arbeit des Entwicklers erheblich. Entwickelte sind in der Regel in Richtungen unterteilt: Java, Dotnet, Front. Aber nicht alle IT-Unternehmen haben eine solche Aufteilung. Ehrlich gesagt hatten wir es auch nicht sofort. Zum Beispiel gibt es Stereotypen, sie sagen, wenn Sie wissen, kennen Sie das Web.
Trotzdem surfen nicht alle Entwickler gerne im Internet. Für Manager ist dies ein Problem. Der Web-Client löst es teilweise - schließt eine Reihe von Routineaufgaben und vereinfacht das Leben ein wenig.
In den meisten Produkten haben wir unser eigenes Design und unsere Komponenten, und es werden Mitarbeiter benötigt, um sie zu unterstützen und zu verfeinern. Javisten wollen sich hier nicht wirklich entwickeln, deshalb brauchen wir hier Leute für ein sauberes Frontend. Jeder, der daran interessiert ist, Full-Stack zu sein, ist jedoch willkommen.
Zum Beispiel aktualisieren wir jetzt das Design der Benutzeroberfläche für ein Justizsystem, das vor langer Zeit in der vorherigen Version unseres Frameworks entwickelt wurde und eine lange Geschichte hat. Im Laufe der Jahre ist es gut veraltet und ähnelt eher einem Lagerbuchhaltungssystem als einem freundlichen System für einen modernen Menschen.
Wir arbeiten an zweiwöchigen Sprints. Die Entwickler befinden sich physisch in 8 verschiedenen Regionen der Russischen Föderation. Zu Beginn jedes Sprints setzen sich die Jungs gemeinsame Ziele, skizzieren Aufgaben und verteilen sie an die Entwickler. Dies ist ein separater Tag für die Bewertung und Planung. Dann wird die Zusammensetzung des Sprints bei Bedarf angepasst. Jeden Tag für 15 Minuten, kleine Treffen auf Webeh, am Ende des Sprints - Rückblicke. Alle aufkommenden organisatorischen Schwierigkeiten werden im nächsten Sprint besprochen und behandelt, wir sparen nichts. Warum auf Webex - auf Habré gab es irgendwie einen Posten, auf dem wir eine ganze Reihe von Entwicklungsbüros im ganzen Land haben. Zum Beispiel habe ich an diesem Projekt bis zu 7 Büros beteiligt - von Krasnodar bis Irkutsk. Das Unternehmen hat übrigens einmal im Jahr die Möglichkeit, für ein paar Wochen in ein anderes Büro zu ziehen und von dort aus zu arbeiten.
Einmal im Monat - eine allgemeine Demo, in der das gesamte Team sehen kann, was es erreicht hat und wo es weitermachen kann.
Es gibt genug Arbeit am Frontend - Sie können speziell zu diesem Projekt kommen, aber Sie können jederzeit zu jedem anderen wechseln. Wir haben den gleichen Rahmen, daher gibt es keine Schwierigkeiten bei projektübergreifenden Übergängen.
Dies ist übrigens einer der Unterschiede zwischen der Front-Line-Arbeit in CROC und in anderen Unternehmen - sie versuchen normalerweise, etwas Fertiges als Framework zu verwenden, während wir unser eigenes sägen. Dies hat auch seine Schwierigkeiten, insbesondere in der Anfangsphase, aber es gibt noch weitere Vorteile für die Aussicht.
Und hier ist
Andrey , ein Experte für Softwareentwicklung. Ein Experte, wie oben erwähnt, ist der Name der Position. Vor einigen Jahren war er der erste in der Abteilung, der sich entschied, eine Karriere nicht im Entwicklungsmanagement, sondern im Aufbau von technologischem Fachwissen zu entwickeln. Als ich zum ersten Mal zu CROC kam, hatte ich das Glück, im Team von Andrei zu arbeiten, der hauptsächlich an R'n'D-Projekten beteiligt ist und in dem Stellenangebote für angehende Entwickler selten auftreten. Umso wertvoller ist es, dass eines seiner beiden Mentor-Abzeichen von mir an Andrei ging, und die Empfehlungen, die ich während des Prozesses erhielt, ermöglichten es mir, mich in Zukunft dynamisch als Entwickler zu entwickeln.

Übrigens, wenn Sie genau hinschauen, befindet sich auf dem Tisch des Andrei eine Kappe aus dem Logo des Podcasts
„Debriefing Podcast
“ - ein bekannter Podcast für echte IT-Benutzer. Die aufmerksamsten werden feststellen, dass dies keine einfache, sondern eine seltene Kappe ist und das Logo darauf Vintage ist. Andrei ist seit 2013 an der Analyse beteiligt, als er erstmals bei JavaOne in San Francisco aufgenommen wurde.

Außerdem ist Andrei regelmäßiger Teilnehmer und Mitglied des Programmkomitees aller drei führenden Java-Konferenzen des Landes:
Joker in St. Petersburg,
JPoint in Moskau und
JBreak in Nowosibirsk, sodass er mehrere Enten gleichzeitig in seinen Assistenten hat. In diesem Jahr hielt er eine
Präsentation bei JPoint.

Und natürlich ist er wahrscheinlich vielen Javisten als Anführer der Moskauer Java-Community bekannt - den Entwicklern. Ungefähr einmal im Monat treffen sich Dutzende von Community-Mitgliedern, um sich mit führenden Experten aus der Java-Welt zu treffen, um Präsentationen anzuhören und in einem informellen Umfeld Kontakte zu knüpfen. Wenn Sie noch nicht im Moskauer Krug waren, kommen Sie zu einem der nächsten Treffen. Unten finden Sie einen Link zu einer Gruppe mit Besprechungsankündigungen.
Foto von einem der Treffen im CROC-BüroMach weiter. Hier ist der Ort des Technikers
Alexei , der mit PHP-Entwicklern zusammenarbeitet.

Sein Team entwickelte ein Portal der allgemein zuständigen Gerichte in Moskau, das einen persönlichen Bericht über die Bürger enthielt. Das Team hat sich seit langer Zeit gebildet und ist nun ein etabliertes Projektteam mit starkem Wissen und Erfahrung von Spezialisten.
Bei der Entwicklung des Internetportals musste berücksichtigt werden, dass Benutzer im Prinzip nicht in den positivsten Momenten ihres Lebens mit dem Justizsystem konfrontiert sind. Daher haben wir versucht, ein persönliches Konto für die Bürger so komfortabel und bequem wie möglich einzurichten.
Ziemlich schnell wurde uns klar, dass für die Arbeit an diesem Projekt flexible Entwicklungsmethoden angewendet werden müssen. Die externe Plattform ist in der Tat das Gesicht des Justizsystems, daher war es besonders wichtig, interessierten Parteien Zwischenversionen des Portals zu zeigen. Infolgedessen wurde der Prozess so aufgebaut, dass es möglich war, einen Teil des Teams im Urlaub freizulassen und sich keine Sorgen zu machen, dass jemand etwas nicht tun würde.
Das Portal wurde ursprünglich unter Berücksichtigung der Tatsache erstellt, dass es von Bürgern der Russischen Föderation genutzt wird. Im Laufe der Zeit begannen jedoch auch Nichtansässige, an dem Portal zu arbeiten. Und wenn Sie zum Beispiel belarussischer Staatsbürger sind, gibt es bei der Arbeit mit der elektronischen Plattform bereits Schwierigkeiten - es gibt keinen russischen Pass und keine SNILS. Daher wurde das Portal im Rahmen der Projektunterstützung unter Berücksichtigung der Interessen ausländischer Staatsbürger fertiggestellt.
Über Burnout

Es scheint mir, dass unser Modell der Arbeitsorganisation so konzipiert ist, dass es sehr schwierig ist, auszubrennen. Wenn Sie ein führender Entwickler sind, können Sie sich ein Projekt, zwei, drei nehmen. Zusätzlich zu den Projekten selbst gibt es normalerweise einige Nebenaktivitäten, die im Allgemeinen klein sind, aber beim Wechseln und Entspannen helfen.
Im Rahmen solcher Aktivitäten haben wir unsere
Java-Schule besucht . Jemand macht Videos mit Lektionen, die von KROKovets an der Corporate University angesehen werden können (melden Sie sich einfach für eine interessante Vorlesung an und schauen Sie sie direkt vom Arbeitsplatz aus an). Zum Beispiel habe ich kürzlich einen Vortrag über Best Practices in der Java-Code-Verwaltung aufgenommen.
Es stellt sich heraus, dass das Aufzeichnen einer Videovorlesung nicht die schnellste und trivialste Aufgabe ist, wie ich es ursprünglich beabsichtigt hatte.
Wir haben auch eine Schule von Ausbildern (wir verbessern die Fähigkeiten der Mitarbeiter, um ihr Wissen unabhängig zu präsentieren), wir haben eine technische Fakultät (Erfahrungsaustausch zwischen Abteilungen).
Zusätzlich zu den bereits erwähnten Blockchain-Projekten für Unternehmen erstelle ich ein Tool für die schnelle Integration in Java. Dies ist im Wesentlichen eine Produktentwicklung.
Und hier hilft uns die Erfahrung eines internen Unternehmensbeschleunigers sehr - die Fähigkeiten in Bezug auf die Herangehensweise an die Produktentwicklung, die Kundenentwicklung usw. - all dies wurde genau im Beschleuniger erhalten und wird jetzt in vielen Projekten erfolgreich angewendet.
Wir sprechen über ein dreimonatiges Intensivprogramm, eine Art Schütteln des Produkts, das Sie zum Beschleuniger bringen, und das Gehirn des Teams, das daran arbeitet. Während des Shake-Ups werden dem Team zwei Tracker zugewiesen - einer von CROC und einer von einem externen Team professioneller Produktexperten. Mit dem Accelerator können Sie Produktteams innerhalb des Unternehmens schulen, die in Zukunft entweder an ihren Produkten oder an den Produkten des Unternehmens arbeiten können. Zum Beispiel haben mein Team und ich an einem Reinigungsprojekt für Fitnessstudios gearbeitet. Spoiler - das Thema ist nicht aufgegangen, aber alle haben Erfahrungen gesammelt.
Agil
Wenn Sie versuchen zu schreiben, wie cool Sie dort arbeiten, wo Sie arbeiten, müssen Sie normalerweise auf jeden Fall Agilität erwähnen. Erwähnen Sie auch hier.

"Wort für Wort": Wir arbeiten nicht an Agilität.
Ja, wir werden für ein paar Wochen einen Plan erstellen, was wir tun und wie, wann es Lieferungen geben wird - und im Allgemeinen ist das alles. Wir folgen in dieser Hinsicht nicht dem Dogma, sondern nehmen nur die Werkzeuge, die gefragt sind. Wir arbeiten in kurzen Iterationen, diskutieren Bereiche, halten Synchronisationsrallyes ab, besitzen den allgemeinen Besitz des Codes und so weiter - das ist natürlich.
Die Planung von Poker hat überhaupt keine Wurzeln geschlagen. Es gibt nur erfahrene Leute, die verstehen können, wie lange dieses oder jenes Projekt dauern wird. Nun, die Bewertung liegt in der Verantwortung des Auftragnehmers. Wer sich verpflichtet, die Aufgabe zu erledigen, legt die Fristen fest. Und ist für sie verantwortlich.
Was sonst. Unser Stapel ist der frischeste. Wenn jemand bemerkt, dass eine gebrauchte Lösung veraltet ist, können Sie eine Alternative anbieten. Das ist auch normal. Ich denke, wir hatten hier Glück in Bezug auf Bürokratie und Entscheidungsfindung - alle Abteilungsleiter, Ressourcenmanager und Vorgesetzten sind offen für Innovationen. Wenn Sie eine neue Technologie anwenden möchten, schlagen Sie sie vor.
Jobs
Ich habe ganz am Anfang des Beitrags versprochen, über einige unserer offenen Stellen zu sprechen - hier sind sie. Ich muss gleich sagen, dass alle offenen Stellen nicht nur auf Moskau beschränkt sind - solche Leute werden auch in den Regionen gesucht.
Java Development Engineer
Über die Tatsache, dass wir eine Integration in Java haben, schrieb ich. Eine freie Stelle in diesem Bereich umfasst die Arbeit mit Integrationslösungen sowie die Entwicklung kundenspezifischer Software.
Wenn Sie an Projekten zur Entwicklung kommerzieller Software, Workflow-Systeme, Integrationslösungen oder zur Entwicklung eines Frameworks interessiert sind (und über die höchste technische + Erfahrung in der Softwareentwicklung ab einem Jahr verfügen), finden Sie
hier Details.
PHP-Entwickler
Die Hauptaufgaben sind die Entwicklung und das Design von Webdiensten sowie von Modulen und Subsystemen von Webanwendungen. Detaillierte Aufgaben und Anforderungen finden Sie auf
der Seite mit
den Stellenangeboten.
Frontend-Entwickler
Erstellen Sie Schnittstellen unter Berücksichtigung der Tatsache, dass Zehntausende von Benutzern sie in Unternehmens- und öffentlichen Systemen verwenden. Sie können sowohl mit einem Absolventen als auch als Student kommen, vor allem - praktische Erfahrung von 2 Jahren und Kenntnisse dieser
Technologien .
Wenn Sie Fragen zu diesen offenen Stellen oder Arbeitsbedingungen insgesamt haben, schreiben Sie in die Kommentare, ich werde sie gerne beantworten.
Referenzen:
Letzter Beitrag über unsere Länderentwicklungsbüros .
Ein Podcast mit Andrei über das Leben der Entwickler in CROC, aufgenommen in Irkutsk, unter Besuch von
@golodnyj .
Gruppe jug.msk.ru VKontakte .
Ankündigungen der Sitzungen
hier vollständig.
Meine Mail für Fragen ist ipopkov@croc.ru.