"Tout informaticien qui se respecte est engagé dans la technologie pendant son temps libre" - 10 questions pour le programmeur, numéro 6



Le dernier numéro de «10 questions» de Berlin. Cette fois, nous discutons avec Artem Nikitin, qui vit à Berlin mais vole régulièrement à Moscou. Avant de déménager, il testait le backend à Qiwi et, en août 2015, a accepté une invitation de HERE Technologies. La première conversation avec le nouvel employeur a eu lieu lors d'un voyage à Hong Kong - à l'hôtel Mira. Dans celui-là même où Snowden a donné la célèbre interview du Guardian, qui a changé toute sa vie. Coïncidence? Artem n'est pas sûr et veut en quelque sorte vérifier à nouveau.

Le nouveau poste dans Here est appelé System Engineer, qui en Russie, selon l'équipe, peut s'appeler DevOps, sysadmin ou SRE . Ici, Artyom est responsable de CI et de tout ce qui l'entoure.



1. Parlez-nous de la fonctionnalité que vous avez implémentée et dont vous êtes fier.


L'année dernière, j'ai commencé à voir la mise en œuvre d'une des bibliothèques que nous avons récemment parrainée - Flatdata . Aujourd'hui - c'est probablement ma plus grande réussite en tant qu'ingénieur. Cette bibliothèque est utilisée dans l'un de nos services clés, mais j'ai fait l'implémentation pendant mon temps libre, juste pour le plaisir.

2. Et maintenant - sur le fakap le plus féroce.


Le cas le plus stupide a été il y a quelques semaines. Sur CI sur Jenkins, il était nécessaire de configurer plusieurs nouveaux espaces de travail. Il y avait plusieurs étapes dans le travail: d'abord, les fichiers ont été téléchargés, certains répertoires ont été créés, puis un git-clone via une commande dans le pipeline. Mais aux étapes suivantes, un problème est survenu - aucun fichier n'a été créé pendant la phase de configuration! J'ai commencé à creuser pour savoir si les droits nécessaires étaient établis et tout le reste. J'y ai passé un ou deux jours. Mais il s'est avéré que le plugin Jenkins pour git, lors de la création du clone, supprime par défaut tout le contenu du répertoire où vous faites le clone. En conséquence, toute la configuration que j'ai faite lors de la première étape a été supprimée. Et la solution au problème était de simplement échanger les étapes.

3. Décrivez votre espace de travail: du fauteuil et du moniteur aux environnements de programmation et à vos utilitaires préférés.


Ici, le concept de Smart Office est introduit. Il n'y a pas de table fixe pour une personne - venez en prendre. Il existe plusieurs nuances dans cette approche. Certaines personnes l'inertie occupent la même place. Et il y a des gars qui, pour des raisons de santé, par exemple, ne s'adaptent à aucune table ni chaise. Mais en général, le système semble fonctionner.



Personnellement, je suis très ascétique sur le lieu de travail. De fer, je n'ai qu'un ordinateur portable, et je n'aime pas utiliser un moniteur supplémentaire. Il me distrait plutôt qu'il ne m'aide. Par conséquent, je viens d'avoir un MacBook Pro 15 ”- dans la configuration supérieure de 2015, quand je l'ai acheté. Et le reste est une table, une chaise ...

Notre équipe crée des solutions pour les appareils mobiles, nous avons donc Xcode pour iOS et Android Studio pour Android. GoLand - pour le dieu. En général, les utilitaires standard.

4. Selon quel principe choisissez-vous un emploi? Pile, produit, conditions de vie, argent?


Pour moi, le critère principal est un défi, des tâches technologiques complexes. De plus, ils peuvent être assez ordinaires, mais chaque fois dans un nouvel endroit, leur décision sera différente, avec ses propres nuances. Si nous prenons la construction d'un pipeline CI / CD à part entière, ce sera essentiellement une tâche unique, car le produit est différent et l'équipe est différente. Kelsey Hightower a une merveilleuse phrase à ce sujet: "CI est une description de la culture d'entreprise avec des scripts bash."

L'argent, bien sûr, est important - nous vivons dans le monde matériel. Mais ils ne sont pas en premier lieu. Si la startup me proposait une tâche très intéressante, mais payait moins pour la mise en œuvre qu'auparavant, je considérerais la proposition. Mais jusqu'à présent, aucune proposition de ce type n'a été reçue. Mais il y avait beaucoup de propositions étranges, quand il y avait peu d'argent du tout et que ce n'était pas clair et pourquoi.

5. Quelles technologies et langages que vous utilisez souhaitez-vous corriger?


Go a un problème connu avec la gestion des dépendances. Elle commence à peine à se décider maintenant. Google n'a pas un tel problème, donc ils ne l'ont jamais résolu. Et ce n'est que lorsque la communauté a bourdonné toutes leurs oreilles qu'ils ont commencé à réfléchir. Il semble évoluer lentement et il est à espérer qu'avec le temps, Go deviendra plus mature et approchera Java à cet égard, par exemple.

En principe, les IDE fabriqués par JetBrains sont parmi les meilleurs. Mais il arrive que dans les produits de quelqu'un d'autre, vous tombiez sur des puces que vous aimez vraiment. Par conséquent, idéalement, j'aimerais avoir une sorte d'Uber-IDE parfait. Mais c'est de la catégorie de la fiction.

6. Où vaut-il mieux apprendre de l'expérience de quelqu'un d'autre - dans une université, dans un confe, dans une plaque tournante? Quelque part ailleurs?


Cela dépend du but pour lequel vous avez besoin d'expérience. Apprendre des livres les fonctionnalités du dernier React.js n'en vaut pas la peine. Tout y devient obsolète si vite que les livres n'aideront pas. Mais les choses de base sont tout à fait. «Réseaux informatiques» Tannenbaum, quelque chose sur les systèmes d'exploitation des appareils, des livres sur les concepts de base de la programmation - tout cela est pertinent maintenant.

Mon enseignement supérieur est technique, mais je ne dirais pas que cela m'a beaucoup aidé. Ce n'était peut-être pas la meilleure université, ou je n'ai pas très bien étudié, mais dans mon cas, je ne voyais pas la valeur particulière de l'éducation. Bien sûr, ce n’est pas une perte de temps - à l’université, on vous apprend à travailler avec des informations et à chercher des solutions - mais je ne ressens pas beaucoup d’avantages de ces cinq années. C'est peut-être une caractéristique de l'éducation en Russie - pendant la formation, il n'est pas clair comment appliquer les connaissances acquises dans le monde réel. Ce n'est que plus tard que j'ai appris qu'on nous enseignait des choses intéressantes qui sont utilisées dans la théorie des jeux. Mais la façon dont on nous a dit que cela décourageait complètement tout désir.

J'aime les cours à Coursera, ils sont cool et beaucoup plus utiles à certains égards que l'enseignement supérieur classique que j'ai reçu.

Les conférences sont cool. J'ai même joué à trois cette année: Selenium Camp à Kiev, Heisenbug à Saint-Pétersbourg et DevDays à Vilnius. Ils étaient tous dans la première moitié de l'année, et j'étais tellement fatigué que j'ai pris une courte pause. Mais d'un autre côté, j'ai acquis de l'expérience en parlant, en parlant avec des gens - à la fois avec des orateurs et avec des auditeurs. La communication en marge est probablement l'élément le plus précieux de toute conférence.

7. Si vous aviez des ressources illimitées (temps, argent, pouvoir, personnes), quel projet prendriez-vous?


Oui, je resterais toujours dans l'informatique et continuerais de le faire, car cela m'intéresse. Je n'ai pas de projets mondiaux, comme "rendre toute l'humanité heureuse".

Si vous regardez au-delà de l'informatique, la chose la plus réelle est de vous acheter un appartement ou une maison à Hong Kong et d'y passer plus de 1 à 2 fois par an, comme cela se passe maintenant.

Récemment, il y a eu une idée d'amener les restaurants Din Tai Fung et Tim Ho Wan à Berlin. Le point clé est de transmettre le goût le plus près possible de l'original. À Berlin, tous les dim sums sont au mieux moyens, à Moscou, d'ailleurs. The Chinese News, qui est essentiellement une copie de Din Tai Fung, est très moyen en termes de faibles sommes. Leurs concombres sont du feu - presque comme à Hong Kong Din Tai Fung, mais pas si tranchants. Et tout le reste est moyen. En fait, en termes de personnes, je sais même qui pourrait m'aider. J'ai un ami, son nom est Phoebe, elle vient de Taiwan - la patrie de Din Tai Fung - et en même temps elle est cuisinière, elle a étudié avec de grands chefs français.

8. Comment vous détendez-vous? Que faites-vous en dehors du travail?


Tout informaticien qui se respecte est engagé dans la technologie et dans son temps libre aussi - quelqu'un de plus, quelqu'un de moins, mais il me semble que c'est tout. Mais si je vais au-delà de l'informatique, je vais à l'entraînement au Krav Maga et au kickboxing - pas de ceinture, juste pour le plaisir. Les arts martiaux pour moi se comparent favorablement à la simple formation au gymnase, ce qui ne me plaît pas du tout.

Le reste est standard: j'aime regarder des émissions de télévision, lire un livre, jouer à la PlayStation. Bien que tout cela me prenne moins de temps qu'auparavant. Néanmoins, je ne regrette pas le temps passé. De ce dernier, je peux conseiller la série israélienne sur la façon dont les services spéciaux combattent les terroristes - «Fauda» - vont à Netflix.

9. Parlez de 3 livres préférés - éducatif, science populaire et fiction.

.
De la littérature éducative, il est logique de lire des livres de base. Le même Tannenbaum - sur les systèmes d'exploitation et les réseaux de l'appareil. Bien que Tannenbaum ait besoin de volonté. Je m'endors généralement quand je le lis.

Et si vous lisez quelques livres sur la programmation, il est logique de lire le chapitre, de passer à l'EDI et d'essayer de mettre en œuvre ce qui a été discuté dans le chapitre.

En dehors de l'informatique, je n'ai pas lu de livres depuis longtemps, pour être honnête. D'après ce qui a été donné à l'école, à cet âge, vous n'avez perçu que des choses superficielles, et ce qui a été vraiment établi par l'auteur est passé par vous, car il n'y a toujours pas d'expérience de vie pour comprendre cela.

Dès l'enfance, je me souviens du Comte de Monte-Cristo, Le Parrain (et le livre est bien meilleur que le film). Et maintenant, j'ai un livre sympa dans le Kindle intitulé "Phoenix Project" - un livre sur DevOps qui décrit les problèmes qui existent en informatique. J'étais tellement emporté que je l'ai lu du jour au lendemain.

Je voudrais également mentionner l'écrivain Ayn Rand, notre ancien compatriote qui a déménagé aux États-Unis. Ses livres me semblent très ambigus, mais cela vaut la peine de les connaître. Je recommanderais "Anthem" - il semble que ce soit l'un de ses premiers livres et très court, contrairement aux suivants. "Atlas Shrugged", c'est la même taille que "War and Peace"! Lire ceci est presque un exploit.

10. Si, juste sous vos yeux, l'IA se réveille, que lui direz-vous?


Tout ce que l'on appelle aujourd'hui «intelligence artificielle» est un logiciel conçu pour résoudre des problèmes spécifiques. La véritable intelligence n'est pas une question de futur proche. Mais si je pouvais vraiment parler à l'IA, je pense que je plaisanterais. Les émotions sont un domaine où l'IA sera très en retard pendant longtemps. Après tout, les émotions ne sont pas une chose rationnelle. Je pense qu'il sera extrêmement difficile à mettre en œuvre.

Question de l' invité précédent :

Suggérer une stratégie de pompage après les cinq premières années de travail en tant que programmeur. Et ensuite?
J'ai plus de cinq ans d'expérience et il me semble qu'il n'y a aucune restriction de la série «2, 5 ou 10 ans». Si vous voulez être ingénieur et rester pertinent, la formation doit être continue. Nous devons essayer de nouveaux langages, outils, cadres, approches. Sinon, vous resterez par dessus bord. Mais ce n'est pas nécessairement mauvais - le même COBOL est toujours d'actualité, et les gens qui le comprennent gagnent beaucoup d'argent.

Bonus: posez une question à un autre développeur


Pourquoi avez-vous décidé de vous adresser à l'informatique?

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


All Articles