自從我上一篇文章以來,這是一場旋風,我想分享我一直在做的事情、我學到的東西以及我的前進方向。過去的幾個月充滿了作為軟體工程師成長的機會,雖然充滿挑戰,但我為自己所取得的進步感到自豪。
洩漏測試設備專案進度
我們的洩漏測試設備專案即將完成。我一直在努力理解程式碼庫並盡我所能做出貢獻。雖然我的貢獻主要集中在測試和驗證上,但它們對於確保我們滿足所需的規格至關重要。
這個專案的程式碼庫非常有趣——Java 處理 UI 和部分後端,而 Python 腳本則管理與裝置內部元件的套接字通訊。這些腳本控制機器運行的各種洩漏測試程序。
對我來說最大的遊戲規則改變者是學習有效地使用 IntelliJ 及其調試器。我不再盯著程式碼並試圖在腦海中將它們拼湊在一起,而是能夠單步執行程式碼並理解一切是如何配合的。
我們最艱鉅的挑戰之一是對反編譯的 JAR 檔案進行逆向工程以恢復原始程式碼。最初編寫它的程式設計師拒絕分享原始碼並被解僱,留下我們來收拾殘局。我為我們所取得的進步感到自豪,我很高興在所有測試完成後最終確定存儲庫。
深入 C
我一直在提高我的 C 技能。我一直在關注 The Cherno 的 C 系列,它讓我大開眼界。共享指針、唯一指針和弱指針等概念很有趣,我期待探索更高級的主題。
為了練習,我一直在玩《超級瑪利歐兄弟 C》儲存庫。使用 VS Code 中的偵錯器逐行瀏覽程式碼是了解所有內容在幕後如何運作的好方法。
新工作:ReactJS、Docker 和移植程式
我最近透過推薦找到了另一份工作(仍然沒有報酬)。該專案涉及將 Windows 程式移植到 Linux。原始碼是 C 語言,雖然我已經成功使用 Wine 在 Linux 上運行 .exe,但我們缺少幾個頭檔。我正在與團隊聯繫,看看它們有多重要,但同時,我已經開始深入研究 ReactJS 和 Docker,這兩個都是我被要求學習的角色。
Docker 是一個啟示。如果說VM虛擬化了硬件,那麼Docker則虛擬化了作業系統。我已經開始複製我們一直在其中進行開發的 Raspberry Pi 環境,設定 JDK 11 和 MariaDB。未來的自我提醒:它本質上解決了「它可以在我的機器上運行!」的問題。問題。
對求職與職涯建議的思考
就業市場一直很艱難,有時感覺會一直如此,但事情終於開始好轉。在過去的幾個月裡,我的履歷有了顯著的改善,我開始感覺自己像個專業的軟體工程師。
我學到的一件事是,這個行業中相互矛盾的建議無處不在。例如,您的履歷應該是一頁還是兩頁?每個人似乎都有不同的答案。歸根結底,我只是專注於獲得盡可能多的反饋並對其進行迭代。
我注意到的另一件事是很容易陷入學習的困境。網頁開發?人工智慧?遊戲開發?嵌入式系統?我的建議:選擇一個並堅持下去。如果需要的話可以稍後再調整,但不要把自己分散得太分散。現在,我正在學習我正在從事的工作所需的一切——ReactJS、C 和 Docker——這足以讓我忙碌起來。
展望未來
我每天對自己的技能越來越有信心,但我知道我還有很長的路要走。我想用 LeetCode 溫習我的資料結構和演算法,並開始建立更多專案來展示我所學到的東西。
身為一名在新冠疫情期間畢業的第一代大學生,這段旅程很艱難。但我在這裡,我正在學習,我為自己所取得的進步感到自豪。我迫不及待地等待以專業軟體工程師身分拿到第一份薪水的那一刻。
敬請期待。
以上是我的軟體工程之旅#調試、Docker 和成長的詳細內容。更多資訊請關注PHP中文網其他相關文章!