Maison >interface Web >js tutoriel >Ingénierie de l'invisible : mon travail en tant qu'ingénieur logiciel
J'ai signé une NDA et je ne suis pas sûr de ce que je peux dire sur mon travail quotidien, mais je ferai de mon mieux pour l'expliquer sans entrer dans trop de détails.
Je suis ingénieur logiciel dans une multinationale américaine et je programme un middleware qui assure une communication sûre et fluide entre une IA de chatbot et divers services afin de pouvoir fournir des informations aux clients liées à ces services. .
J'utilise principalement JavaScript et Node.js, qui est un environnement d'exécution pour Javascript sur le backend. L'application s'exécute sur plusieurs serveurs Red Hat Linux (RHEL).
Nous avons choisi Node.js car le développement précoce est rapide dans Node et nous devions montrer les progrès à la direction le plus rapidement possible. Node.js utilise un modèle asynchrone, excellent pour gérer efficacement un volume élevé d'opérations d'E/S, telles que les requêtes vers et depuis les API. Node est également bien adapté à la mise à l'échelle horizontale, ce qui signifie que vous pouvez facilement ajouter des serveurs supplémentaires exécutant l'application pour gérer l'augmentation du trafic ou de la charge de travail.
Je développe sous Windows, mais l'application elle-même fonctionne sur des serveurs RHEL. Nous avons choisi RHEL car il est hautement personnalisable et connu pour ses solides pratiques de sécurité. La gestion des configurations en profondeur est bien plus facile sous Linux que sous Windows, ce qui est essentiel lors de la gestion de plusieurs couches de sécurité et certifications. De plus, nous sommes moins dépendants de sociétés externes comme Microsoft. RHEL est optimisé pour les applications hautes performances, offrant une meilleure gestion de la mémoire et des ressources que Linux standard. Il est également largement compatible avec d'autres logiciels d'entreprise et comprend des outils de surveillance, de journalisation et de gestion des performances du système, ce qui facilite son intégration dans une pile technologique complexe.
L'application est basée sur l'architecture des microservices, ce qui permet à l'application d'avoir autant de modules que possible, la rendant adaptable à diverses fins. Mon middleware, par exemple, prendra en charge non seulement l'IA, mais aussi d'autres applications où la communication sécurisée des E/S et des API est essentielle.
L'équipe est composée d'environ 30 à 40 personnes, mais je développe principalement ce middleware tout seul, même si j'ai un stagiaire qui m'assiste
Je dirais que la partie la plus difficile du travail est de communiquer avec les autres. Lorsque j'ai besoin de contacter d'autres équipes pour obtenir une API ou une application afin de mettre en œuvre des services, ou lorsque j'ai besoin de l'avis d'autres ingénieurs, parfois ils ne répondent pas ou donnent des réponses inutiles, ce qui peut être frustrant. Il faut vraiment être insistant, ce que je n’aime pas particulièrement faire.
La partie la plus difficile de mon travail est que nous devons toujours nous précipiter, ce qui nous laisse peu de temps pour suivre les meilleures pratiques comme le développement piloté par les tests.
La meilleure partie du travail est le codage lui-même et la recherche de solutions pour implémenter différentes fonctionnalités dans le middleware.
Mon objectif futur est de devenir une figure reconnaissable dans le domaine technologique, en écrivant des blogs et en parlant de sujets de programmation. C'est pourquoi je trouve l'anglais si important et je travaille à améliorer mes compétences orales et écrites. Je veux être un bon orateur public et un rédacteur technique.
J'aimerais aussi coder davantage en TypeScript. Pour le moment, nous garantissons la sécurité des types avec JSDoc, mais je souhaite me concentrer davantage sur TDD et intégrer TypeScript dans mon travail.
Avez-vous d'autres questions liées à mon domaine ou à moi-même ? N'hésitez pas à me le faire savoir dans les commentaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!