Les transitions au sein des ministères sont parfois traitées différemment. Quelqu'un est tout simplement plus habitué à voir tout changement de carrière au sein d'une entreprise à travers le prisme de la croissance de l'emploi. Quelqu'un ne considère pas qu'il soit possible de modifier le périmètre d'activité, même s'il est adjacent au périmètre actuel. D'autres, en principe, sont convaincus que la transition d'un département à un autre signifie qu'une personne ne prend la position «ni poisson, ni viande» et qu'il est peu probable qu'elle aboutisse à quelque chose de significatif.

Dans le même temps, certains employeurs saluent à tous égards cela et le considèrent comme un fusible contre l'épuisement professionnel - une personne changera son attention, changera de département ou de département, mais ne changera pas le travail lui-même dans son ensemble.
Je m'appelle Kostya et je travaille chez QIWI depuis près de 4 ans. Aujourd'hui, je vais vous dire comment j'ai réussi à passer du développement frontend au backend.
Frontend
Dans QIWI, depuis la fin de 2014, j'ai commencé à travailler en tant que développeur d'applications iOS et, en principe, je développe un portefeuille QIWI depuis quelques années. Dans le même temps, je ne peux pas dire que c'était ennuyeux - les tâches étaient très différentes dans le cadre d'une application: nous étions engagés dans l'intégration du portefeuille avec nos autres services, la correction de bugs, le resserrement de l'animation. De plus, l'expérience de création d'une application pour l'Apple Watch a été intéressante. Puis il a élargi un peu son attention et a travaillé sur l'application iOS pour Conscience.

Et à cette époque, j'ai commencé à passer lentement au support. En termes de méthodologie flexible, c'est même pratique - j'ai changé, dans le premier sprint, je pouvais faire quelques tâches sur le backend, et dans le second, je pouvais intégrer l'API, que j'ai écrite.
Mais à ce moment-là, dans le backend, il y avait trop peu de développeurs et un backlog trop lourd, donc à la fin je suis toujours passé complètement au backend. Ce que je fais maintenant, ce sont les tâches classiques du back-end - j'écris du code dans nos microservices, corrige des bugs, refactorise, comprends Kotlin. Il est possible de travailler sur un produit frais de la société - QIWI Investor.
Soit dit en passant, je ne peux pas dire que pendant ces deux années, j'ai réussi à me raidir à l'avant d'une manière ou d'une autre, j'ai clairement réalisé qu'il y avait également de la place pour le développement. Par exemple, je vois ce qui se passe maintenant dans l'équipe de développement mobile et je comprends que si j'étais resté là-bas, je continuerais à grandir avec les gars.
Il y avait donc une situation gagnant-gagnant - je voulais aider l'équipe et le produit (l'avantage en développement n'était pas dans le sens du back-end) et acquérir de nouvelles connaissances. Les Timlids ont tout compris et m'ont laissé partir sans aucune plainte, le produit aussi.
De plus, je souhaitais diversifier les connaissances afin de ne pas m'attacher à une seule plateforme (Android est un peu à mon goût, mais Apple perd encore du terrain). Eh bien, il y avait un désir, dans ce cas, de pouvoir prendre et faire une demande pour vous-même (à la fois avant et arrière), si une idée cool surgit soudainement. Jusqu'à présent, ce n'est pas vraiment utile.
Backend

Bien sûr, le tout premier problème que vous rencontrez lors d'une telle transition est les lacunes dans l'équipement. Dans mon cas, ce sont quelques-unes des subtilités du travail avec les bases de données, mais la capacité d'auto-apprentissage et l'équipe ont aidé ici - les gars sont réactifs et toujours prêts à aider et à expliquer quelque chose en détail. Dans QIWI, en principe, avec une formation à toutes les étapes, tout va bien, que vous soyez au moins junior au tout début du travail, décidez au moins et changez de domaine quelques années plus tard.
Personne n'était ennuyé que la première fois, je ne travaillais clairement pas aussi efficacement, car je devais beaucoup bouger (mais à long terme, l'équipe a quand même gagné).
Bien sûr, avant cela, j'avais une petite expérience dans divers domaines - les jeux mobiles et le Web, mais il s'agissait plus probablement de tentatives pour trouver quelque chose de moi-même, plutôt que de simplement accumuler une expérience sérieuse pratique.
Impressions du backend après le frontend
Pas de travail avec l'interface utilisateur. Généralement. Auparavant, je devais tuer du temps pour corriger les bogues dans l'interface utilisateur, maintenant ce n'est pas le cas. Les inconvénients de cette situation sont que l'utilisateur final ne voit pas spécifiquement les résultats de mon travail, comme c'était le cas pour la face avant. J'ai essayé de déterminer ce qui était plus difficile - l'arrière ou l'avant, et j'ai réalisé que (personnellement pour moi), il était toujours plus difficile de travailler avec le multithreading et la pile réseau. Et ici, ce n'est pas si important - êtes-vous pour l'avant ou pour l'arrière? Au front, je me suis heurté à de telles tâches pour la première fois, sans préparation, et au backend j'avais déjà une sorte d'expérience.
Vous pouvez acquérir de l'expérience et faire quelque chose de cool dans n'importe quel domaine, ce serait un désir et de la persévérance, ici les pratiques convergent - faire quelque chose (et bien faire), et que cela fonctionne de manière fiable et est facilement maintenu. De plus, pour le back-end, la présence ou l'absence d'expérience à l'avant n'est pas si critique. Si le développeur prend en compte toutes les petites choses, il pense lui-même aux cas d'angle et, dans l'ensemble, comprend comment ses API seront utilisées, alors il fera tout comme il se doit sans connaissance préalable.
Il m'est plus facile de détecter d'éventuels problèmes simplement parce que je connais les caractéristiques de la mise en œuvre de nos applications mobiles. Mais ce n'est pas une sorte de superpuissance - c'est un ensemble de connaissances que tout backender travaille souvent avec les fronts d'une manière ou d'une autre.
Quel est le résultat
Le développement du backend est devenu une autre bonne expérience pour moi - j'ai appris à écrire du code et à effectuer des révisions, à réfléchir à l'architecture. C'est vraiment intéressant.
Mais en même temps, après avoir essayé de vivre ce front, ce support, je ne dirai pas que dans ce cas je choisirais immédiatement un backend au tout début de ma carrière. Il est toujours important pour moi de voir et de comprendre comment les utilisateurs perçoivent mon produit. Avec le backend, tout est assez fantomatique.
Très probablement, en choisissant une sphère maintenant, j'irais vers un développeur de jeu ou une interface Web. Le Web est toujours une bonne plate-forme pour lancer de nouveaux produits, et en même temps, il a cessé d'être effrayant et difficile à comprendre. Tous ces tutoriels du code spaghetti et de callback-hell sont loin derrière, heureusement.