Übergänge innerhalb von Abteilungen werden manchmal unterschiedlich behandelt. Jemand ist einfach eher daran gewöhnt, berufliche Veränderungen innerhalb eines Unternehmens durch das Prisma des Beschäftigungswachstums zu sehen. Jemand hält es nicht für möglich, den Tätigkeitsbereich zu ändern, selbst wenn er an den aktuellen angrenzt. Wieder andere sind sich im Prinzip sicher, dass der Übergang von Abteilung zu Abteilung bedeutet, dass eine Person die Position „weder Fisch noch Fleisch“ einnimmt und wahrscheinlich nichts Sinnvolles erreicht.

Gleichzeitig begrüßen einige Arbeitgeber dies in jeder Hinsicht und betrachten es als eine Art Sicherung gegen Burnout - eine Person wird ihren Aufmerksamkeitsfokus ändern, ihre Abteilung oder Abteilung ändern, aber die Arbeit selbst als Ganzes nicht ändern.
Mein Name ist Kostya und ich arbeite seit fast 4 Jahren bei QIWI. Heute werde ich Ihnen erzählen, wie ich erfolgreich von der Frontend-Entwicklung zum Backend gewechselt bin.
Frontend
In QIWI habe ich seit Ende 2014 als Entwickler von iOS-Anwendungen angefangen und im Prinzip seit einigen Jahren eine QIWI-Brieftasche entwickelt. Gleichzeitig kann ich nicht sagen, dass es langweilig war - die Aufgaben waren im Rahmen einer Anwendung ganz anders: Wir haben die Brieftasche in unsere anderen Dienste integriert, Fehler behoben und die Animation verschärft. Darüber hinaus gab es eine interessante Erfahrung bei der Erstellung einer Anwendung für die Apple Watch. Dann erweiterte er seinen Fokus ein wenig und arbeitete an der iOS-Anwendung für Conscience.

Ungefähr zu dieser Zeit begann ich langsam auf Backing umzusteigen. In Bezug auf eine flexible Methodik ist es sogar praktisch - ich habe gewechselt, im ersten Sprint konnte ich einige Aufgaben im Backend erledigen und im zweiten konnte ich die von mir geschriebene API integrieren.
Aber zu dieser Zeit gab es im Backend zu wenige Entwickler und zu viel Backlog, so dass ich am Ende immer noch komplett auf das Backend umgestiegen bin. Was ich jetzt mache, sind die klassischen Aufgaben des Backends - ich schreibe Code in unsere Microservices, behebe Fehler, mache Refactoring, verstehe Kotlin. Es besteht die Möglichkeit, an einem frischen Produkt des Unternehmens zu arbeiten - QIWI Investor.
Übrigens kann ich nicht sagen, dass ich es in diesen zwei Jahren irgendwie geschafft habe, mich vorne zu versteifen. Ich habe klar erkannt, dass es dort auch Raum für Entwicklung gibt. Ich sehe zum Beispiel, was jetzt im mobilen Entwicklungsteam passiert, und ich verstehe, dass ich, wenn ich dort geblieben wäre, mit den Jungs weiter wachsen würde.
Es gab also eine Win-Win-Situation - ich wollte dem Team und dem Produkt helfen (der Vorteil bei der Entwicklung lag nicht in Richtung Backend) und neues Wissen gewinnen. Die Timlids haben alles verstanden und mich ohne Beschwerden gehen lassen, auch das Produkt.
Außerdem wollte ich das Wissen diversifizieren, um nicht an eine Plattform gebunden zu sein (Android gefällt mir ein wenig, aber Apple verliert immer noch an Boden). Nun, in diesem Fall bestand der Wunsch, einen Antrag für sich selbst (sowohl vorne als auch hinten) stellen zu können, wenn plötzlich eine coole Idee auftaucht. Bisher hat es sich nicht wirklich als nützlich erwiesen.
Backend

Das allererste Problem, auf das Sie bei einem solchen Übergang stoßen, sind natürlich die Lücken in der Ausrüstung. In meinem Fall waren dies einige der Feinheiten der Arbeit mit Datenbanken, aber sowohl die Selbstlernfähigkeit als auch das Team haben hier geholfen - die Jungs sind reaktionsschnell und immer bereit, zu helfen und etwas im Detail zu erklären. Im QIWI ist im Prinzip mit einer Ausbildung in allen Phasen alles in Ordnung, egal ob Sie zu Beginn der Arbeit mindestens ein Junior sind, zumindest ein paar Jahre später entscheiden und die Sphäre ändern.
Niemand ärgerte sich darüber, dass ich beim ersten Mal eindeutig nicht so effizient arbeitete, weil ich viel bewegen musste (aber auf lange Sicht gewann das Team immer noch).
Natürlich hatte ich vorher ein wenig Erfahrung in verschiedenen Bereichen - Handyspiele und im Internet, aber dies waren alles eher Versuche, etwas Eigenes zu finden, als nur praktische ernsthafte Erfahrungen zu sammeln.
Impressionen des Backends nach dem Frontend
Keine Arbeit mit der Benutzeroberfläche. Im Allgemeinen. Früher musste ich die Zeit für die Behebung von Fehlern in der Benutzeroberfläche vertreiben, jetzt ist dies nicht mehr der Fall. Die Nachteile dieser Situation sind, dass der Endbenutzer die Ergebnisse meiner Arbeit nicht speziell sieht, wie dies bei der Front der Fall war. Ich versuchte herauszufinden, was schwieriger war - hinten oder vorne, und stellte fest, dass es (für mich persönlich) immer schwieriger war, mit Multithreading und dem Netzwerkstapel zu arbeiten. Und hier ist es nicht so wichtig - bist du für die Vorderseite oder für die Rückseite? Vorne bin ich zum ersten Mal ohne Vorbereitung auf solche Aufgaben gestoßen, und im Backend hatte ich bereits einige Erfahrungen.
Sie können in jedem Bereich Erfahrungen sammeln und etwas Cooles tun, es wäre ein Wunsch und eine Ausdauer, hier laufen die Praktiken zusammen - etwas zu tun (und es gut zu machen), und dass es zuverlässig funktioniert und leicht zu warten ist. Darüber hinaus ist für das Backend das Vorhandensein oder Fehlen von Erfahrung im Frontend nicht so kritisch. Wenn der Entwickler all die kleinen Dinge berücksichtigt, die Eckfälle selbst ausdenkt und im Großen und Ganzen versteht, wie seine APIs verwendet werden, wird er alles ohne Vorkenntnisse tun, wie es sollte.
Es ist für mich einfacher, mögliche Probleme zu erkennen, nur weil ich die Funktionen der Implementierung unserer mobilen Anwendungen kenne. Aber dies ist keine Art von Supermacht - es ist eine Reihe von Kenntnissen, die jeder Backender hat, der oft auf die eine oder andere Weise mit Fronten arbeitet.
Was ist das Ergebnis?
Die Backend-Entwicklung ist für mich zu einer weiteren guten Erfahrung geworden. Ich habe gelernt, wie man Code schreibt, Überprüfungen durchführt und Architektur durchdacht. Das ist eigentlich interessant.
Aber zur gleichen Zeit, nachdem ich versucht habe, diese Front, diese Unterstützung zu leben, werde ich nicht sagen, dass ich in diesem Fall gleich zu Beginn meiner Karriere sofort ein Backend wählen würde. Für mich ist es immer noch wichtig zu sehen und zu verstehen, wie Benutzer mein Produkt wahrnehmen. Mit dem Backend ist alles ziemlich gespenstisch.
Wenn ich jetzt eine Kugel wähle, würde ich höchstwahrscheinlich zu einem Spieleentwickler oder Web-Frontend gehen. Das Web ist immer noch eine gute Plattform für die Einführung neuer Produkte, und gleichzeitig ist es nicht mehr gruselig und schwer zu verstehen. Alle diese Tutorials aus dem Spaghetti-Code und der Callback-Hölle liegen zum Glück weit zurück.