Le parcours d'un développeur kazakh : comment je suis arrivé à Java

Hey! Je m'appelle Binali, je suis à la tête du département développement de Beeline Kazakhstan, je travaille dans l'entreprise depuis près d'un an. Je suis arrivé chez Beeline le 1er juin 2020 en tant que développeur Java, maintenant je suis responsable du département développement ESB. La gestion commence à prendre beaucoup de temps, mais il est encore temps de prendre parfois la tâche en développement, afin de ne pas perdre ses compétences en programmation.



Je vais vous raconter comment un Kazakh ordinaire a décidé de devenir programmeur, est passé d'une pile technologique à une autre, et pourquoi il a finalement choisi Java. Tout d'abord, j'écris ce texte pour démystifier le mythe de la difficulté de changer un outil de travail.







Historique de la formation



Avant de parler de changer la pile (j'écrirai à ce sujet en détail dans le deuxième article ), je veux partager mon histoire. J'ai décidé que l'histoire serait incomplète sans elle.



Je m'intéresse à la technologie depuis l'enfance. La magie pour moi était d'insérer un morceau de plastique dans un magnétophone et d'entendre la musique jouer. Plus tard, je me suis intéressé à l'électricité. Une fois, j'ai essayé de réparer un support défectueux, après avoir observé comment mon oncle, un électricien, l'avait fait. Du ruban adhésif électrique, un couteau et mon idée ingénieuse de connecter des fils les uns aux autres ont provoqué un court-circuit, des prises cassées et quelques gifles de ma mère. En 2007, alors que j'étais en septième année, j'ai eu mon premier téléphone portable, le Nokia 6151.







Après quelques mois, je voulais déjà faire une sorte d'analogue du site Web tegos.ru. Le téléphone n'avait que du WAP (les vieux, je pense, ils se souvenaient), et je n'avais pas d'ordinateur avec Internet. Mais je cherchais toujours des options pour mettre en œuvre l'idée. Je suis tombé sur un constructeur de site wap wen.ru - le plus primitif, mais c'était sa particularité. J'ai donc dû apprendre le balisage WML - une extension XML pour WAP. Oui, à cette époque il y avait déjà du xHTML, mais je n'ai toujours rien compris.





Trouvé dans les archives :)



J'ai créé un site Web, qui hébergeait principalement des liens utiles pour les propriétaires de Nokia, et j'ai également trouvé un service pour organiser un chat. C'est ainsi que la mini-fête des fans de Nokia a commencé sur le site, qui ne contenait que quelques dizaines de pages. Ici, j'ai rencontré de nombreuses personnes partageant les mêmes idées de Biélorussie, d'Azerbaïdjan et de Russie. Soit dit en passant, s'il y a quelqu'un de ce parti ici, veuillez répondre dans les commentaires.



La prochaine étape de mon évolution technique concerne les sites avec des formulaires d'inscription, des livres d'or et des formulaires de commentaires. Leur principale caractéristique est l'abondance de couleurs et d'images d'arrière-plan. Ici, je me suis familiarisé avec xHTML et PHP4. A cette époque, j'avais un ordinateur - une boulangerie basée sur un processeur AMD Athlon XP, 2 Go de RAM, 128 Go de disque dur. Il a été acheté par le patron de ma mère, qui a remarqué ma passion pour la technologie. En 2008, un ordinateur d'occasion coûtait 18 000 tenges (il est maintenant d'environ 40 $). Mon voyage dans le monde de la programmation réelle a commencé par la lecture d'un tas d'articles sur PHP, et j'ai commencé à écrire du code pour trouver des solutions à divers problèmes.



Déjà en 11e année, j'étais engagé dans des projets indépendants d'applications en PHP, et dès la deuxième année j'ai trouvé un emploi officiel dans une petite entreprise informatique engagée dans le développement de produits. Il fallait programmer en C#. Pour réussir l'entretien, j'ai créé et complété une tâche de test pour moi-même : description ici , code ici . Il a été implémenté en PHP, grâce aux seniors, qui à ce moment-là voulaient juste comprendre si je pouvais écrire au moins quelque chose.



Plus tard, j'ai commencé à aller à des conférences et nos concurrents m'ont remarqué. Les gars m'ont attiré dans une entreprise dont le langage principal était Java. La raison de ma transition était mon intérêt pour les nouvelles choses et mon désir d'expérimenter.



Puis quelques autres transitions d'entreprise à entreprise, notre propre projet de développement de jeu, travail sur un système de gestion de services (MRO ou MMS) avec l'utilisation active des technologies RFID. D'ailleurs, dans ce projet, mes collègues et moi avons créé un framework pour le framework, que les dirigeants nous ont permis d'apporter à OpenSource. Le code est ici .



Maintenant, je travaille à Beeline Kazakhstan, où nous écrivons en Java, mais j'ai réalisé que j'étais prêt à raconter toute l'histoire de mes transitions de langue en langue. Peut-être que cela sera utile à quelqu'un.



Mon premier projet .NET



J'ai découvert .NET sur mon premier lieu de travail officiel : une petite entreprise informatique coopérant avec l'industrie pétrolière. Mon premier projet portait sur le calcul du temps de fonctionnement des conduites dans les puits de pétrole. J'ai obtenu un exemple de mise en œuvre de cette idée, écrit en ASP.NET, .NET 4.1. Honnêtement, alors je ne comprenais pas du tout comment fonctionnaient ces technologies.





Nous avons un projet qui fonctionne, mais nous ne pouvons pas le construire.



J'ai passé une semaine entière à assembler le projet sans succès, après quoi j'ai décidé de contacter un développeur senior pour obtenir de l'aide pour la construction. Ce n'était pas facile. Maintenant, vous pouvez considérer cela comme un énorme problème dans ASP.NET classique à propos du système alambiqué de dépendances de liaison.



Après l'assemblage, une autre surprise m'attendait : le projet fournissait une interface pour charger un fichier excel. Pour lire, il a lancé un MS Office à part entière et a parcouru les cellules, en lisant les valeurs en mémoire. Après avoir lu dans la mémoire et effectué des calculs, l'application a rouvert Office et a noté les données de la cellule. Oui oui, directement une application graphique grâce à l'interopérabilité.



J'ai été choqué, car on m'a dit que le projet fonctionnait déjà et qu'il suffisait de le déployer sur IIS sous Windows Server. C'est là que ma véritable connaissance du monde .NET a commencé.



Naturellement, rien n'a fonctionné sur le serveur. La raison est évidente - le serveur IIS n'a pas accès au sous-système graphique et ne peut donc rien démarrer, y compris interagir avec le bureau.



En retroussant mes manches, j'ai commencé à chercher une solution pour appeler le bureau graphique et analyser manuellement le fichier excel.J'ai donc maîtrisé la bibliothèque OpenXML, ce qui n'était pas facile pour moi, mais a rapidement résolu toutes les questions. Maintenant, le fichier a été analysé à l'aide d'OpenXML, après quoi les données ont été enregistrées dans la base de données. Les données de sortie pourraient être obtenues sous la forme d'un rapport avec les filtres nécessaires.



J'étais très content d'avoir pu retirer la béquille en juin.



Au fil du temps, .NET m'a semblé une technologie encore plus cool, et j'ai complètement arrêté d'écrire en PHP. À un moment donné, il a commencé à participer à des différends et à des discussions sur la fraîcheur de telle ou telle technologie, et a parlé spécifiquement pour .NET. Maintenant, mon opinion a changé.



La pire chose à laquelle j'ai dû faire face était le développement pour Windows Mobile sur le .NET Compact Framework. Soit dit en passant, c'était dans le cadre de la société dont j'ai parlé ci-dessus. De tels projets étaient si difficiles à développer que le senior répondait constamment à notre responsable "c'est impossible" à une demande pour n'importe quelle fonctionnalité :)



En général, j'aimais le langage C # et la plate-forme .NET, mais j'écrirai en détail sur tout le pour et le contre dans le prochain article . Là je vous dirai aussi combien de fois je suis passé de pile en pile, et pourquoi je me suis arrêté à Java.



All Articles