Maison  >  Article  >  interface Web  >  Mon parcours dans le génie logiciel #Débogage, Docker et croissance

Mon parcours dans le génie logiciel #Débogage, Docker et croissance

DDD
DDDoriginal
2024-11-21 10:07:09407parcourir

My Journey into Software Engineering #Debugging, Docker, and Growth

Cela a été un tourbillon depuis mon dernier message, et je voulais partager ce que j'ai fait, ce que j'ai appris et où je vais. Ces derniers mois ont été pleins d'opportunités d'évolution en tant qu'ingénieur logiciel, et même si cela a été un défi, je suis fier des progrès que j'ai réalisés.

Avancée du projet de dispositif de test de fuite
Nous approchons de la ligne d’arrivée du projet de dispositif de test d’étanchéité. J'ai travaillé sur la compréhension de la base de code et j'ai contribué là où je peux. Bien que mes contributions se soient principalement concentrées sur les tests et la vérification, elles ont été essentielles pour garantir que nous respectons les spécifications requises.

La base de code du projet est fascinante : Java gère l'interface utilisateur et certaines parties du backend, tandis que les scripts Python gèrent la communication des sockets avec les composants internes de l'appareil. Ces scripts contrôlent les différents programmes de test de fuite exécutés par la machine.

Le plus grand changement pour moi a été d'apprendre à utiliser efficacement IntelliJ et son débogueur. Au lieu de regarder le code et d’essayer de le reconstituer dans ma tête, j’ai pu le parcourir et comprendre comment tout s’emboîte.

L'un de nos défis les plus difficiles a été la rétro-ingénierie d'un fichier JAR décompilé pour récupérer le code source. Le programmeur qui l’a écrit à l’origine a refusé de partager la source et a été licencié, nous laissant recoller les morceaux. Je suis fier du chemin parcouru et j'ai hâte de finaliser le référentiel une fois tous nos tests terminés.

Plonger dans le C
J'ai perfectionné mes compétences en C. J’ai suivi la série C de The Cherno et cela m’a ouvert les yeux. Des concepts tels que les pointeurs partagés, les pointeurs uniques et les pointeurs faibles ont été intéressants et j'ai hâte d'explorer des sujets plus avancés.

Pour m'entraîner, j'ai joué avec un repo Super Mario Bros C. Utiliser le débogueur dans VS Code pour parcourir le code ligne par ligne a été un excellent moyen d'apprendre comment tout fonctionne sous le capot.

Un nouveau concert : ReactJS, Docker et portage d'un programme
J'ai récemment décroché un autre poste grâce à une recommandation (toujours non rémunérée). Le projet consiste à porter un programme Windows vers Linux. Le code source est en C, et même si j'ai réussi à faire fonctionner le .exe sous Linux en utilisant Wine, il nous manque quelques fichiers d'en-tête. Je vérifie auprès de l'équipe à quel point ils sont critiques, mais en attendant, j'ai commencé à me plonger dans ReactJS et Docker, qu'on m'a tous deux demandé d'apprendre pour le rôle.

Docker a été une révélation. Si le matériel de virtualisation de la VM, Docker virtualise le système d'exploitation. J'ai commencé à répliquer l'environnement Raspberry Pi dans lequel nous développons, en configurant JDK 11 et MariaDB. Future note à moi-même : cela résout essentiellement le problème « ça fonctionne sur ma machine ! » problème.

Réflexions sur la recherche d'emploi et les conseils de carrière
Le marché du travail a été difficile, on a parfois l’impression qu’il le sera toujours, mais les choses commencent enfin à s’arranger. Mon CV s'est considérablement amélioré au cours des derniers mois et je commence à me sentir comme un ingénieur logiciel professionnel.

Une chose que j'ai apprise, c'est que les conseils contradictoires sont omniprésents dans cette industrie. Par exemple, votre CV doit-il contenir une ou deux pages ? Tout le monde semble avoir une réponse différente. En fin de compte, je me concentre simplement sur l’obtention d’autant de commentaires que possible et sur leur itération.

Une autre chose que j’ai remarquée, c’est à quel point il est facile de se laisser entraîner par ce qu’il faut apprendre. Développement web ? L'IA ? Développeur de jeux ? Des systèmes embarqués ? Mon conseil : choisissez-en un et respectez-le. Pivotez plus tard si vous en avez besoin, mais ne vous dispersez pas trop. En ce moment, j'apprends tout ce qui est requis pour les concerts sur lesquels je travaille (ReactJS, C et Docker) et c'est suffisant pour m'occuper.

Regard vers l'avenir
J’ai chaque jour davantage confiance en mes compétences, mais je sais que j’ai encore un long chemin à parcourir. Je souhaite rafraîchir mes structures de données et mes algorithmes avec LeetCode et commencer à construire plus de projets pour mettre en valeur ce que j'ai appris.

En tant qu'étudiant de première génération ayant obtenu son diplôme pendant la COVID, le voyage a été difficile. Mais je suis là, j’apprends et je suis fier du chemin parcouru. J'ai hâte de recevoir mon premier salaire en tant qu'ingénieur logiciel professionnel.

Restez à l'écoute.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn