«J'ouvrirais une zone informatique spéciale dans le sud de la Russie» - 10 questions au programmeur # 11. Nouvelle saison

image

L'été dernier, nous avons lancé la colonne «10 questions pour le programmeur», et pour 10 numéros, c'était assez amusant. Les bonnes personnes qui n'ont pas toujours accès à un large public pourraient s'exprimer. Quelqu'un a trouvé la compréhension, quelqu'un a été critiqué.

Avant la 11e version, nous avons pris une courte pause, qui a pris trop de temps. Nous corrigeons, nous revenons. Maintenant, vous avez à nouveau l'occasion de parler de vous de façon intéressante. Le format est presque le même, nous venons de mettre à jour un peu les questions, et nous le ferons dans chaque prochain numéro.

Si vous avez quelque chose à dire sur vous-même ou qu'une question puissante est arrivée à maturité sur laquelle toute la communauté va vous casser la tête - écrivez-moi en PM ou en baragol .

Et dans le premier numéro Dmitry Yavorsky ( ekabandit ) d'Ekaterinbourg. Il raconte comment il a sauvé les chemins de fer russes du virus WannaCry, a rejeté les offres de Sberbank et, pour ainsi dire, a influencé l'industrie par voie législative.

1. Racontez une histoire de travail que vous raconterez fièrement à vos petits-enfants.


Pour le reste de ma vie, je me souviendrai que pour la première fois je suis resté pour exercer les fonctions de chef des chemins de fer russes - gérer 50 employés d'âges différents - juste au moment de l'attaque du virus Wannacry.

C'était vendredi soir. J'étais déjà chez moi, je viens d'ouvrir la bière, quand le spam a commencé dans les médias à propos d'une attaque de virus dans le monde entier. Ensuite, les informations sont passées dans les dialogues d'entreprise. J'ai rapidement terminé la bouteille et je suis allé travailler. Nous nous sommes déconnectés d'Internet, aucune infection n'a été enregistrée. Après avoir passé deux heures de plus au travail, j'ai décidé que rien de grave ne se passerait et je me suis recouché.

À sept heures du matin, le chef du service de sécurité m'a déjà donné une énorme liste de serveurs sur lesquels vous devez mettre à jour Windows. Après encore 3-4 heures, Microsoft a publié une mise à jour sur Windows 2003, qui n'a pas été prise en charge pendant plusieurs années. La liste des serveurs qui doivent être mis à jour a considérablement augmenté et j'ai dû appeler toutes les personnes libres. À ce moment-là, nous avons abandonné les tentatives de relance de WSUS, qui pour une raison quelconque ne fonctionnaient pas, et avons commencé à mettre à jour le serveur manuellement.

Nous avons passé un week-end amusant tout le week-end, déployé rapidement à partir de zéro 2-3 serveurs qui sont devenus bleus après l'installation des mises à jour, regardé le hockey sur le projecteur (à propos, la Russie a battu les Slovaques 6-0 ce week-end), supprimé des dizaines de serveurs oubliés.

En conséquence - un grand événement pour le renforcement d'équipe, et plus d'une infection de serveur dans le centre de données d'Ekaterinbourg.
Je savais à l'école que je travaillerais dans l'informatique - je voulais suivre les traces de mes parents. Malgré le fait que j'aie étudié en classe littéraire, nous avions un solide professeur en informatique. La participation à diverses olympiades a permis de sauter périodiquement des cours. Là, on nous a appris à écrire en Pascal. Je me souviens que mon père m'a parlé de l'opérateur GOTO, à l'usage duquel je recevais régulièrement dans les cours.

L'enseignant à cette époque avait des relations à Yandex et proposait de faire un stage ou d'étudier. Mais avec mon maximalisme juvénile, je lui ai dit: "Je n'aime pas Yandex, j'utilise Google." Revenez en arrière et donnez-vous une claque.

Après l'école, je suis entré à l'université des chemins de fer dans le but (avec développement ultérieur sur les chemins de fer russes) dans la spécialité "Systèmes et technologies de l'information". Je pensais que je continuerais à développer en programmation, mais pendant quatre ans (et deux ans de master après) il n'y a eu qu'un semestre de programmation en langage assembleur sur une feuille et un semestre Delphi.

À partir de la 3e année, j'ai commencé à travailler pour les chemins de fer russes, où j'étais d'abord enekeyschik. Beaucoup de temps de travail a été consacré à la préparation de documents de fin de trimestre et à jouer à CS ou à Warcraft. Après avoir travaillé pendant un certain temps, ils ont commencé à me faire davantage confiance, puis j'ai pris connaissance du grand monde de l'administration. Surtout, j'ai été accroché par IBM WebSphere, plus tard, j'ai même rejoint le groupe d'experts des chemins de fer russes pour ce produit.

2. Le cas de June, pour lequel il est toujours dommage


Je me souviens qu'au début de la carrière d'un administrateur, je déployais un serveur pour certains de mes besoins et j'ai décidé qu'il devait mettre à jour la configuration d'Apache Tomcat à partir d'un serveur productif.

Après avoir connecté aux deux serveurs, j'ai fait exactement le contraire - j'ai mis à jour Tomcat sur un serveur productif. Après quelques minutes, lorsque l'incident est survenu, je suis passé à la réserve, et sur le serveur productif, j'ai tout remis en place. J'ai réussi à tout faire en une dizaine de minutes, accusant le système de surveillance d'un faux positif.

Ma fraude a été révélée six mois plus tard, lorsque les utilisateurs ont été transférés sur ce serveur, et rien n'a fonctionné pour eux, car j'ai oublié de corriger les configurations.

En tant que développeur, il n'y a pas eu de tels cas. Bien que la rumeur disait que le serveur de surveillance que j'ai écrit mettait périodiquement l'un des systèmes importants des chemins de fer russes en raison du grand nombre de demandes, mais je n'y crois pas.

3. Le plus douloureux de vos problèmes actuels, qui n'a pas encore été résolu


Maintenant, c'est une grande douleur pour moi de comprendre Rx.js avec son observable et sa pipe. Pour moi, c'est une sorte d'héritage d'Angular. Lors de conférences et de tutoriels, ils disent que pour comprendre Rx.js, vous devez changer votre état d'esprit, comprendre certaines vérités cachées. Mais pendant que je fais du copier-coller à partir d'autres parties du code et que j'utilise redux-saga dans des projets domestiques.
Maintenant, j'ai un essai en cours avec les chemins de fer russes. J'ai étudié sur la cible et suis allé aux cours, et cela prévoit un paiement, si vous ne travaillez pas un certain nombre d'années après les études. Les chemins de fer russes ne m'ont pas fourni le plan des acomptes provisionnels, ce qui m'est dû selon leurs documents réglementaires. Il est dommage que certains dirigeants individuels ne sachent pas bien se séparer des employés. C'est l'opinion sur l'ensemble de l'entreprise, même si au cours du travail, j'ai réussi à connaître des gens de différentes villes et de différentes professions, et les gens là-bas sont vraiment cool. En général, les chemins de fer russes ont une politique de la jeunesse très développée et les unités individuelles investissent beaucoup d'énergie dans le développement des compétences non techniques des employés.

4. Selon quel principe choisissez-vous un emploi


Lors du choix d'un travail, je ne considère que les options de ma pile. Maintenant, c'est React, Redux et dans un avenir proche, je ne prévois pas de les abandonner.

Le deuxième facteur important est l'équipe. Je préfère travailler avec des collègues au-dessus de moi dans des compétences qui ont beaucoup à apprendre. Récemment, j'ai commencé à prêter attention à la taille et au profil de l'entreprise. S'il est grand et que l'informatique est le profil principal, vous n'avez pas besoin d'être administrateur système en tant que programmeur.

Eh bien, je pense qu'il convient de mentionner - bien que cela soit déjà devenu la norme pour les programmeurs - le début flottant de la journée de travail, la possibilité de travailler à domicile ou de prendre des congés à tout moment. Le reste est une question d'argent.

5. Pourquoi les bons programmeurs sont-ils devenus si difficiles à trouver ces dernières années?

(Question d'Ivan Shmakov ishmakov de Voximplant)

Je vois plusieurs raisons:

  • Maintenant, le concept de bons programmeurs est déplacé vers les médias.
  • L'éducation existante ne vous donne pas la possibilité d'obtenir même un poste junior. De plus, l'écart de connaissances augmente chaque année en raison de l'obsolescence des programmes et du développement rapide du domaine.
  • Beaucoup de gens deviennent programmeurs à cause des salaires relativement élevés et du grand battage médiatique de l'industrie.
  • Encore une fois, en raison du manque de programmeurs, même dans les meilleures entreprises russes, les RH utilisent la chasse active. Et si le spécialiste est vraiment bon, en plus du vôtre, il a probablement déjà 2-3 offres, et il n'est peut-être même pas à la recherche de travail.

6. Imaginez que la graduation de Junior, Middle, Senior n'existe pas. Quelle échelle introduire pour désigner les compétences des développeurs? Où vous y mettez-vous?

(Question de Lisa Schvez Schvepsss de Dodo Pizza)

Existe-t-il? Il n'y a pas de liste de compétences généralement acceptée pour chaque grade. Qu'on le veuille ou non, tout revient à renommer cette gradation. Eh bien, par exemple, si vous le regardez du point de vue d'un gestionnaire, les niveaux seront les suivants:

  1. Cela ne résoudra pas à lui seul un gros problème.
  2. Il résoudra le problème seul, mais la qualité du code et la vitesse laissent beaucoup à désirer.
  3. Il résoudra bien et rapidement le problème avec une qualité de code acceptable.
  4. Entre autres, il pourra discuter de la fonctionnalité avec le client (compétences générales pompées + compréhension du processus métier).

Vous évaluer ne semble pas tout à fait objectif, mais vous placez tout de même au troisième niveau.
Mon interview la plus mémorable a été à Sberbank sur le Middle Frontend du développeur (à savoir, Sberbank, pas Sbertech). Quand j'ai été invité à un entretien, j'avais déjà une offre d'une autre entreprise, mais j'ai décidé d'y aller quand même - probablement plus pour l'expérience.

Tout s'est déroulé en plusieurs étapes. Au début, j'ai répondu aux questions sur JS, après trois jours, j'ai parlé avec le chef de l'unité. Nous avons discuté avec lui de mes photos en VK de Sheregesh et dans quelle station de ski il vaut mieux aller, de mon expérience de participation à des projets en tant que leader, diplômes, certificats.

Quelques jours plus tard, ils m'ont envoyé une offre moins élevée que les autres. J'ai refusé. Puis une autre rencontre avec le leader a eu lieu, et j'ai été aligné sur l'offre pour le montant moyen de l'année, en tenant compte des primes trimestrielles et annuelles. Lors de la dernière conversation téléphonique, j'ai été invitée à parler avec les employés de la Sberbank, qui ont quitté l'entreprise dont j'ai accepté l'offre. Ils auraient dû me décrire pourquoi cela ne vaut pas la peine d'y aller. Je comprends qu'il n'y a pas assez de spécialistes sur le marché, mais c'est une porte dérobée.

Après cet entretien, j'ai conclu que les grandes entreprises sont plus susceptibles de considérer les diplômes, les connaissances et les certificats que les compétences réelles.

7. Quelles devraient être les caractéristiques d'un langage / cadre de programmation / autre outil idéal et que ne devrait-il pas y avoir?


La «fonctionnalité» idéale pour la langue est une bonne documentation des créateurs. Prenons l'exemple de Javascript. Il existe une spécification ECMAScript très détaillée, elle convient certainement pour comprendre le comportement anormal de parties individuelles du code / des fonctions, mais je pense que cela ne vaut pas la peine d'apprendre une langue à partir de celui-ci.

Chaque langue est bonne tant qu'elle résout vos problèmes. Avec l'avènement du langage idéal, le développement s'arrêtera et une personne (éventuellement une entreprise) apparaîtra qui dirigera l'industrie. Et pour un développement ultérieur, une concurrence importante.

8. Si vous avez la possibilité d'exercer une influence législative sur l'industrie - que ferez-vous?


Je vais introduire une taxe sur la création de cadres frontaux. Une plaisanterie.

En Russie, pour commencer, je mettrais le code d'état IP en open source. Je pense que la communauté résoudrait beaucoup de problèmes d'accessibilité et de bugs dans les systèmes gouvernementaux que nous devons utiliser.

J'ouvrirais, quelque part dans le sud de la Russie, une zone spéciale pour le développement des entreprises informatiques à fiscalité réduite. Cela aurait pu être quelque chose comme la Silicon Valley. Je pense que c'est une bonne décision en ce qui concerne l'ouverture de la communauté russe au monde, la rétention de spécialistes sensés dans notre pays, et une fois que cette tendance sera alignée, elle se fera par substitution aux importations.

9. Si vous aviez des ressources illimitées (temps, argent, pouvoir, personnes), quel serait votre projet personnel?


Je développerais une ville intelligente. Je commencerais par Ekaterinbourg, avec les problèmes que je vois moi-même au quotidien. Par exemple, les routes. Maintenant, je vais en voiture pour travailler 20 minutes, revenir 60 minutes, voire plus. Je mettrais en œuvre l'intelligence artificielle qui, en fonction de la circulation et des piétons, régule les feux de circulation dans toute la ville.

10. Que dites-vous à une IA qui est devenue plus intelligente que vous?


Je me forcerais à enseigner. Ou l'invité à concevoir la vie d'une ville expérimentale sous le contrôle de l'IA et à dire à quoi cela mènerait.

Source: https://habr.com/ru/post/fr457966/


All Articles