Heim >Web-Frontend >js-Tutorial >Meine Reise in die Softwareentwicklung #Debugging, Docker und Wachstum

Meine Reise in die Softwareentwicklung #Debugging, Docker und Wachstum

DDD
DDDOriginal
2024-11-21 10:07:09466Durchsuche

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

Seit meinem letzten Beitrag ist ein Wirbelwind vergangen und ich wollte mitteilen, was ich gemacht habe, was ich gelernt habe und wohin ich gehe. Die vergangenen Monate waren voller Möglichkeiten, mich als Softwareentwickler weiterzuentwickeln, und obwohl es eine Herausforderung war, bin ich stolz auf die Fortschritte, die ich gemacht habe.

Fortschritte beim Lecktestgerät-Projekt
Wir nähern uns der Ziellinie des Lecktestgerät-Projekts. Ich habe daran gearbeitet, die Codebasis zu verstehen und einen Beitrag zu leisten, wo ich kann. Während sich meine Beiträge hauptsächlich auf Tests und Verifizierungen konzentrierten, waren sie entscheidend dafür, sicherzustellen, dass wir die erforderlichen Spezifikationen erfüllen.

Die Codebasis des Projekts ist faszinierend – Java verwaltet die Benutzeroberfläche und Teile des Backends, während Python-Skripte die Socket-Kommunikation mit den internen Komponenten des Geräts verwalten. Diese Skripte steuern die verschiedenen Lecktestprogramme, die die Maschine ausführt.

Der größte Game-Changer für mich war das Erlernen des effektiven Umgangs mit IntelliJ und seinem Debugger. Anstatt auf den Code zu starren und zu versuchen, ihn in meinem Kopf zusammenzusetzen, konnte ich den Code schrittweise durchgehen und verstehen, wie alles zusammenpasst.

Eine unserer größten Herausforderungen war das Reverse Engineering einer dekompilierten JAR-Datei, um den Quellcode wiederherzustellen. Der Programmierer, der es ursprünglich geschrieben hatte, weigerte sich, die Quelle preiszugeben und wurde entlassen, so dass wir die Einzelteile zusammentragen mussten. Ich bin stolz darauf, wie weit wir gekommen sind – und ich freue mich darauf, das Repository fertigzustellen, sobald alle unsere Tests abgeschlossen sind.

Eintauchen in C
Ich habe meine Fähigkeiten in C verfeinert. Ich habe die C-Serie von The Cherno verfolgt und sie hat mir die Augen geöffnet. Konzepte wie Shared Pointer, Unique Pointer und Weak Pointer waren interessant und ich freue mich darauf, fortgeschrittenere Themen zu erkunden.

Zum Üben habe ich mit einem Super Mario Bros C-Repo herumgespielt. Die Verwendung des Debuggers in VS Code, um den Code Zeile für Zeile durchzugehen, war eine großartige Möglichkeit, zu lernen, wie alles unter der Haube funktioniert.

Ein neuer Auftritt: ReactJS, Docker und die Portierung eines Programms
Kürzlich habe ich durch eine Empfehlung (noch unbezahlt) einen weiteren Job bekommen. Bei dem Projekt geht es um die Portierung eines Windows-Programms auf Linux. Der Quellcode ist in C, und obwohl es mir gelungen ist, die EXE-Datei unter Linux mit Wine zum Laufen zu bringen, fehlen uns ein paar Header-Dateien. Ich erkundige mich beim Team, um zu sehen, wie kritisch sie sind, aber in der Zwischenzeit habe ich begonnen, mich mit ReactJS und Docker zu befassen, die ich beide für die Rolle lernen sollte.

Docker war eine Offenbarung. Wenn VMs Hardware virtualisieren, virtualisiert Docker das Betriebssystem. Ich habe damit begonnen, die Raspberry Pi-Umgebung, in der wir entwickelt haben, zu replizieren und JDK 11 und MariaDB einzurichten. Zukünftige Notiz an mich selbst: Es löst im Wesentlichen das Problem „Es funktioniert auf meinem Computer!“ Problem.

Überlegungen zur Jobsuche und Karriereberatung
Der Arbeitsmarkt war hart, manchmal fühlt es sich so an, als würde es immer so sein, aber endlich kommt alles in Ordnung. Mein Lebenslauf hat sich in den letzten Monaten erheblich verbessert und ich fühle mich langsam wie ein professioneller Softwareentwickler.

Eine Sache, die ich gelernt habe, ist, dass es in dieser Branche überall widersprüchliche Ratschläge gibt. Sollte Ihr Lebenslauf beispielsweise eine oder zwei Seiten umfassen? Jeder scheint eine andere Antwort zu haben. Letzten Endes konzentriere ich mich einfach darauf, so viel Feedback wie möglich zu bekommen und es zu wiederholen.

Eine weitere Sache, die mir aufgefallen ist, ist, wie leicht es ist, sich in dem zu vertiefen, was man lernen muss. Webentwicklung? KI? Spieleentwickler? Eingebettete Systeme? Mein Rat: Wählen Sie eine aus und bleiben Sie dabei. Wechseln Sie bei Bedarf später, aber machen Sie sich nicht zu weit. Im Moment lerne ich alles, was für die Aufgaben, an denen ich arbeite, erforderlich ist – ReactJS, C und Docker – und das reicht aus, um mich zu beschäftigen.

Blick nach vorn
Ich werde von Tag zu Tag sicherer in meinen Fähigkeiten, aber ich weiß, dass ich noch einen langen Weg vor mir habe. Ich möchte meine Datenstrukturen und Algorithmen mit LeetCode auffrischen und weitere Projekte erstellen, um zu präsentieren, was ich gelernt habe.

Als College-Student der ersten Generation, der während COVID seinen Abschluss gemacht hat, war die Reise hart. Aber ich bin hier, ich lerne und ich bin stolz darauf, wie weit ich gekommen bin. Ich kann den Moment kaum erwarten, in dem ich meinen ersten Gehaltsscheck als professioneller Softwareentwickler bekomme.

Bleiben Sie dran.

Das obige ist der detaillierte Inhalt vonMeine Reise in die Softwareentwicklung #Debugging, Docker und Wachstum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn