File d'attente dans le backend: que représentons-nous et par où commencer notre voyage?

image

Pour tous ceux qui n'aiment pas faire d'interface utilisateur, "respire" les files d'attente et rêve d'une API idéale, dans le quatrième numéro du podcast "Dry Oars", nous avons appelé les développeurs backend Andrey, Azat et Anton.

Les développeurs Iron de Redmadrobot Artyom et Roma enregistrent un podcast où, avec des invités, ils discutent des différents aspects de la création de produits informatiques et partagent leurs expériences dans le numérique. Dans le numéro 4, les animateurs ont découvert auprès des interlocuteurs comment ils ont commencé leur voyage vers le backend, quel cadre Web devraient-ils choisir, s'ils rêvent de la disposition des écrans et comment expliquer à leur maman avec qui vous travaillez.

Joindre un podcast et des réponses à plusieurs questions brûlantes


Horaire


01:27 - Comment en viennent-ils au développement backend
10:33 - Qu'est-ce qui attire les spécialistes du backend
12:32 - Perturbation: Avez-vous besoin d'une connaissance approfondie des algorithmes pour ceux qui "scient l'outil"?
15:17 - Questions sur la mise à l'échelle et la sécurité
16:23 - Tous les développeurs backend font-ils le même travail?
19:23 - Ruby on Rails, sa «magie», monte et
descend 24:23 - Comment choisir une plateforme?
28:06 - Pourquoi les microframes sont-elles nécessaires et comment travailler avec elles?
33:55 - Qu'est-ce qu'un serveur asynchrone et pourquoi est-il nécessaire?
35:58 - Go: simplicité et architecture
41:46 - Postgresql au lieu de MySQL. Pourquoi?
44:58 - Pourquoi avez-vous besoin d'apprendre Docker le plus rapidement possible et pourquoi installer nginx?
50:49 - Développeurs verts: de quelles compétences minimales les diplômés universitaires ont-ils besoin pour trouver un emploi?
1:04:21 - Les meilleurs livres sur les algorithmes
1:09:33 - Ce que vous devez savoir et ce que vous n'avez pas besoin de faire lors de l'entretien?
1:14:29 - Voulez-vous que les gars quittent le backend?
1:20:28 - Et pourtant, que ne faut-il pas faire au travail et pourquoi "avoir besoin de communiquer avec les gens"?

Comment se fait le développement backend?


Malgré la popularité du développement mobile, il y a encore ceux qui sont plus jolis que le bon vieux backend. Parmi eux, bien sûr, se trouvent nos invités.

Azat, par exemple, a expliqué qu'il n'était pas allé au développement mobile et a décidé qu'il serait plus logique de s'engager dans le développement Web au sens large. Mais l'histoire d'Anton est étroitement liée à Python.

Python. , - «». , , - -, CMS’ — . . - , , - . , , . , , , . , , backend .

backend...


... Quand y a-t-il un frontend super populaire? Artyom a rappelé de nombreuses entrevues au cours desquelles les candidats ont expliqué pourquoi ils souhaitaient faire carrière dans le développement mobile. Juste pour montrer plus tard la fraîcheur de l'application. Dans le backend, c'est plus compliqué.

Mais en fait, si les amis avec qui vous partagez la joie de créer un backend comprennent le développement informatique, ils vous en féliciteront. Mais maman peut dire ce que le serveur a fait pour l'application mobile du magasin, qu'elle utilise. Et même si elle ne comprend pas bien ce qu'est un serveur, maman sera toujours fière.

Avantages du développement backend


Azat a suggéré que les gens sont attirés par le fait qu'il n'est pas nécessaire d'imposer. Il y a toujours une opinion que le backend est plus dur et plus cool, bien que chacun, bien sûr, le sien. Après cela, les gars ont entamé une conversation sur la mise à l'échelle et la sécurité. Plus de détails - à partir de 15h17.

Tous les développeurs backend font-ils un travail?


Ce n'est pas vrai. Les tâches de développement backend sont différentes et ne dépendent pas du langage ou de la plate-forme, mais des besoins et des spécificités de l'entreprise, ainsi que du niveau du développeur.

Parfois, le travail peut consister à affiner une méthode API existante ou à effectuer l'intégration entre deux systèmes tiers, mais quelque part, il peut être nécessaire de développer une architecture de système distribué à partir de zéro.

Python, Ruby, Go, C ++ et tout-tout


Les gars du studio ont commencé à parler de la façon de choisir une plate-forme. Et aussi sur le fait que Ruby est "toujours en vie" (Roma a récemment vu la preuve), et aussi pourquoi Anton a commencé à apprendre Python, sur les noms étranges des créateurs de langages de programmation, la simplicité de Go, les microframes (ils en ont surtout parlé - écoutez à partir de 28:06) , MySQL, Docker, serveurs asynchrones et rails magiques.

Développeurs «verts» et compétences minimales pour le demandeur


À quel niveau, par exemple, un diplômé universitaire doit-il comprendre le backend pour trouver un emploi?

Au cours de la discussion, il s'est avéré qu'il devrait être un «utilisateur de PC confiant». Mais sérieusement, selon Azat, un jeune spécialiste doit avoir des compétences minimales dans l'administration de systèmes Unix - pour connaître un certain ensemble de commandes: cd, ls et autres.

J'ai également besoin de comprendre ce qu'est un processus, quels sont les droits d'accès, quel est le système de droits Linux et comment les réseaux fonctionnent en général, comment IPC (communications inter-processus), les sockets TCP fonctionnent. C'est suffisant pour commencer. Il vous suffit de pouvoir programmer. Voici ce qu'Anton a dit:

Il y a des choses de base qui sont communes à tout développement, par exemple, pour la POO (programmation orientée objet), il y a des règles pour écrire, concevoir des classes. S'il s'agit d'algorithmes, il vous suffit de savoir comment ils sont conçus, ce qui s'y trouve, la programmation dynamique et «utilisez la pile partout où vous le pouvez».

En d'autres termes, pour commencer, vous n'avez pas besoin de plonger avec la tête.
Le novice n'a pas besoin de connaître tous les algorithmes de tri existants. Mais en même temps, une question similaire se pose lors des entretiens. Il est nécessaire pour voir comment une personne pense et quelle solution elle offrira.

Quels livres sur les algorithmes valent la peine d'être lus


Andrew s'est «noyé» pour Stephen Skien et ses «algorithmes». Développement et application. " Anton a recommandé un livre de Thomas Cormen, dans lequel «il y a un équilibre entre rigueur, clarté et simplicité de présentation», et «Cracking the Coding Interview» est un bon guide pratique pour comprendre rapidement les algorithmes.

Les invités ont également conseillé «l'art de la programmation» de Donald Knuth, conçu comme un guide pour les compilateurs, mais qui est devenu un véritable «livre de livres».

En fin de compte, backend - oui ou non?


Les gars sont arrivés à la conclusion que dans tous les domaines du développement Web, il y avait des avantages et des inconvénients. Et c'est normal. Si vous aimez le backend, les algorithmes et les files d'attente, alors vous devriez penser à une carrière. Si brièvement. Si vous souhaitez entendre le raisonnement en direct, rejoignez le podcast à partir de 1:14:29.

Matériaux utiles


Pour ceux qui veulent plonger dans Python, vous pouvez lire:


Une sélection pour les futurs REST Jedi:



Numéros précédents du podcast Dry Oars


  1. Architecte logiciel: pourquoi est-il nécessaire et quelle est sa malédiction
  2. Source de vérité: comment un analyste apprend à un manager et à un développeur à travailler ensemble
  3. CTO all startup
  4. QA pour les débutants: comment tester une fusée ou un avion

Écoutez-nous quand cela vous convient: Soundcloud , Apple , Google Podcasts
Évitez de discuter du problème dans le chat Telegram

All Articles