資深工程師給畢業新鮮人的建議:想在工作上獲得成就,必須先對自己的「人設」負責

你是否也認為「我就是很害羞也不太喜歡跟別人社交,這樣機會是不是比活躍的人少很多?」
評論
Photo Credit: Shutterstock/ 達志影像
評論

本篇來自五倍紅寶石資深工程師 RUBY 大叔投稿,INSIDE 經編審刊出。

最近畢業季,很多學生還沒做好「畢業」準備就要離開校園,彷彿人生才剛開始就立刻「卡關」了。

這幾年,也陸續擔任面試的工作,觀察到許多職場新人對職涯發展抱有許多疑問。大部分人畢業後開始進入投履歷找工作的環節,這時會碰到一個大問題:「不知道自己到底能做什麼。」

以軟體工程師的工作來看,會根據你所在的公司有不同的工作,可能是在新創公司做著包山包海的任務研發產品,也可能是在一間企業擔任分工明細的固定任務,因此在求職之前,先思考自己在這個類型的工作中想做些什麼、接觸什麼跟學習什麼,並設定一個相對明確的目標在求職過程中會更順利,下面幾點是我常用的方式,大家可以參考看看。

長期目標可「隨時整頓」,短期目標要「小單位」執行

「設定目標」在我最近讀的不少書中都有出現,這也是我一直以來持續在做的事情。

設定短期、中期及長期目標,看起來很抽象,不過並沒有想像中那麼困難,當你想到的目標很大,這就是長期目標,再從長期目標切分中期,最後再細節到短期,例如:「你想花幾個月把什麼事情做到什麼程度」,把目標「最小單位化」就會變得看起來可行,也比較能確實感受到前進的反饋。

然而,選擇一個好的目標和下定決心沒有這麼容易,前幾年我也遇到了職涯的選擇,直到今年才意識到自己的目標並最終能下定決心,目標設定好並非再也不能變動,整個世界都是在快速變化的,在軟體工程師這個領域中更是如此,因此隨時依照自己的狀況、能力調整目標到能夠持續前進並且不會過度勞累是很重要的。

另外,很多人很常看別人追求什麼,自己也跟著追求,你必須要分辨得出在學習上的「深度」與「廣度」差異。尤其以工程師職業來看,要是一開始就過度追求高深的技巧跟知識,反而會難以跟其他人合作,也會因為對其他技術的不了解有許多誤判跟耗費多餘的心力在上面。

學得太廣太雜,又可能面臨只能解決簡單的問題,太複雜的卻沒有對應的知識跟能力去應對。設定目標就是一個很好的方式,可以幫助我們認清「現在該做什麼」這件事情。

真的沒目標要怎變成厲害的人?其實「謀生」也是目標

「沒有目標」也是很常見到的狀況,在我們的學習環境中很少有機會讓我們多接觸不同的事物,也只有少數人運氣很好能找到適合自己的職業。

我會建議還沒畢業的學生,把握一下實習的機會,多瞭解業界的運作,即使先找一個地方實習,至少你可以提前瞭解工作是否符合喜好,以及累積在工作上的必要經驗,不至於像一張白紙。

如果你已經錯過學生時期的實習機會,同時對未來也很茫然,不過「謀生」也是一個目標,別覺得先賺錢是愧對自己的理想,如果把自己的理想設為目標,短期的小目標就是獲得能夠實現理想的資源,兩者是不完全衝突的。

當然「謀生」並非要你出社會隨機嘗試,你可以先設想自己想要獲得什麼,再從成果往回推,看看必須完成什麼事才能達成目的,沒有多項技能也不要緊,只需要知道:當下做什麼事,是對自己有幫助的即可。像我覺得,工程師的工作,某種程度上來說就是「幫某人實現想法」,我們需要思考的是如何專注在「重要的事情上」來幫客戶實現想法。

「被動社交」的人照樣可以為自己創造機會

最後一點,如果你認為「我就是很害羞也不太喜歡跟別人社交,這樣機會是不是比活躍的人少很多?」

其實,這真的不是太大的問題,我自己就不太喜歡跟陌生人交流,在很多場合也都會找一個小角落躲起來,但我會去參加一些或技術研討會或者社群活動,不一定要到處社交或者交流,但如果遇到給你非常有啟發的講師,你應該把握機會去找講師交流,願意參加這類活動的講師都是樂於分享的,除了可以幫你解惑之外,甚至能讓講師有一個印象在,如果有機會簡單交換聯繫方式,對於未來求職上也會有直接的幫助。

以我自己的經歷而言,我就是透過參加研討會認識到現在的老闆,從實習慢慢走到如今的地步,除此之外當初我在準備履歷時,也很幸運能獲得一些業界前輩們的指點,作為一個軟體工程師需要能做些什麼、在職涯上應該怎麼看,所以我相當鼓勵學生們可以去參加活動,即是現在疫情的緣故很多活動被取消,但線上視訊的課程及活動一樣可以進行互動,就我的經驗來說,如果能獲得前輩的賞識進入公司,這份工作會遠比在求職網站上找得更好、更適合自己。

總而言之,當你想在工作上獲得成就,你必須先對自己的「人設」負責,你不開始學攝影但卻想成為攝影師,這個「人設」就有問題,如果成為攝影師是你想要的結果,那麼往前設定的目標就是學攝影,藉此慢慢完整你的人設,這才是負責的行為,希望各位畢業生能順利找到屬於自己的職場生存之道。

我們公司最近都還是有持續在找工程師和實習生,如果有興趣的話可以來投履歷看看。除此之外我也蠻喜歡跟大家討論在程式開發上的問題,如果有任何問題都歡迎留言給我。

責任編輯:Anny
核稿編輯:Chris

延伸閱讀:



蛻變敏捷開發組織並不難! AWS Amplify幫前端工程師從雲端快速建立REACT程式

台灣企業勢必需要明確轉型策略,搭配適合的雲端工具作為入場券,一來降低數位化門檻、二來減少摸索資源的浪費。
評論
shutterstock_1451794139.jpg
評論

打造敏捷開發流程、加速前後端工程師的協作效率,是許多企業在面臨疫情之後,認為亟需將彈性元素納入為企業文化當中。雲端運算服務領導業者 AWS 台灣,觀察到前端工程師主要負責處理最貼近用戶的 Web、行動應用程式,但他們往往需要與後端團隊合作過程,遭遇耗費大量討論時間,才能處理使用者介面事項。

為了降低前後端的溝通成本,有些前端工程師在掌握介面管理能力之後,開始橫跨到後端的伺服器、資料庫開發經驗,甚至進一步培養技能,成為能負責測試、安全、效能多面向的全端工程師。

有的人會透過 Side Project(利用業餘時間開發有興趣的專案)或參加 Hackathon(黑客松)方式,運用 AWS 雲端工具嘗試自行擴展後端,並建立簡單易用的工具程式。究竟,AWS 平台提供哪些資源幫助前端工程師擴展更多元的技能樹?

掌握入門教學!前端工程師如何將 REACT 程式快速上雲

前端工程師運用 AWS Amplify,快速在雲端建立 REACT 應用程式

事實上,AWS 的入門課程指出,運用 AWS Amplify 在雲端建立 React 應用程式及服務集,只需五個學習歷程,包含建立 React 應用程式、初始化本機應用程式、新增身份驗證、新增 API 和資料庫、新增儲存體。如果想快速了解 REACT 程式快速上雲的方法及示範教學,本文節錄 AWS QUICKSTART 學習資源內容,幫助前端工程師更快掌握重點。

首先,何謂 AWS Amplify?AWS Amplify 是一項全托管 Front-End Web & Mobile 服務,採取無伺服器模式,在後端建立、部署和託管單一頁面 Web 應用程式或靜態網站的 Git 型 CI/CD 工作流程,加速開發過程直接整合其他 AWS 服務。舉例來說,像是整合封裝好的 Library 資源、或運用一些 Components UI 軟體去配置後端,以及利用 Admin 的 UI 做資源上的管理。

透過 AWS 增加雲端技能 在組織發揮你的影響力

AWS Amplify加速Develop、Deliver 與 Manage流程

AWS Amplify 主要優勢展現在三大項工作階段,分別是 Develop、Deliver 和 Manage。Develop 部分可利用 CLI(Command-Line Interface)或 Admin UI 設定後端,使用 GraphQL 或 REST API 設定也是可行的,進而快速建構一個前後端專案。此外,開發者還能搭配 AWS 其他服務,例如使用 AWS Authentication 全托管認證服務,或 DataStore、Storage 等多項 Feature Categories。

到了 Deliver 階段,若是要透過 AWS Amplify 執行 Web Hosting 任務,可拆解出三個流程。首先是將 Repository 與 AWS Amplify 進行連結,這邊可整合 Amplify Console 提供的支援資源包含 Github、Bit Bucket、Gitlab、以及 AWS 的程式碼代管工具 AWS CodeCommit。一旦連結以後,開發者可透過自己的 Configuration,决定在各個不同的 Build 要執行什麽樣的指令,最後再透過 Deploy 方式,幫助工程師進行前端的 Hosting。

在最後一個 Manage 階段,開發者則可利用 AWS Amplify 的 Admin UI,以開啓瀏覽器方式,透過視覺化介面統一管理資源。例如在 Admin UI 介面左側選單,涵蓋 Content、User Management 的區塊,讓參與專案但沒有 AWS Console 權限的使用者,可利用 E-mail 方式邀請使用者進到 Admin UI,進行一些設定或觀看其他相關資源;甚至在 Set Up 區塊還有相關選項,例如要針對 Data Modeling 或 APP User 做權限管理,以及可連結到 AWS 其他服務。

運用開放資源 AWS Amplify Framework,打造高效能應用服務

AWS QUICKSTART 學習資源還介紹到另一個 AWS 提供的開放資源 Amplify Framework,一樣可利用 Amplify CLI 的方式,配置 Web 和行動應用程式的前後端,以及開發者需要用到的服務,讓應用程式更易於構建,並獲得安全、高性能的使用體驗。

Amplify CLI 一樣有支援多個不同 Category,例如較常使用的幾個 Comment Line,像是Amplify Init 指令做初始化或創建幾個不同資源;或是 Amplify Status 指令,隨時在開發過程查看各個 Category 狀態;甚至專案結束後,可利用 Amplify Delete 直接把 Amplify 所創建的資源做一次性删除。另外也可透過 AWS Amplify Client 利用比較抽象化方式,讓開發者直接利用 Component 實現想要完成的項目。

填寫表單 找到適合你的快速上雲服務與工具!

實際示範給你看,設定 React 程式可以如此簡單

假設前端工程師現在要快速部署一項有驗證功能(Authentication)還要搭配 Rest API、GraphQL、Analytics 等服務的應用,如何快速設定 React 程式?在 AWS QUICKSTART 的學習資源後半段,有詳細說明要啟動這類型專案的操作方法。

開發者可以先利用 AWS Lambda Function 結合 Amazon API Gateway 方式,創建出一個 Rest API,到了 Authentication 階段,則使用到 AWS Cognito 的服務,接著針對 GraphQL 需求,可利用 AWS AppSync 服務,以及最後如果有 Analytics 的需求,也可以串聯 Amazon Pinpoint 工具。Amazon Pinpoint 是一項彈性而可以擴展的行銷通訊服務,開發人員可利用 Amazon Pinpoint API 追蹤 Web 使用者的行爲,或是針對 APP 推送、電子郵件、簡訊點擊行為蒐集到具體的資訊。

在這整套流程示範之後,值得特別強調的是,AWS AppSync 是一項全托管的服務,能及時更新,甚至在使用者離線時仍可以持續去創建和修改數據。一旦設備連上線之後,這項應用程式就可重新連線,並接到後端同步數據,達成彈性、自動化擴展或減縮各式 API 的請求。

打造第一個你在 AWS 上的應用程式

AWS 最後強調,Amplify 是相當適合建構出一個靜態 Web、Apps 服務模式,例如說像是打造部落格,或者是一項 APP 內的代辦事項應用等;加上 Amplify 具全托管服務特色,可串聯上述 AWS 在雲端所提供的資源,都能在部署過程加以整合,加速開發流程及效率,並且有效節省開發資源。如果想用低門檻的雲端解決方案,其實前端工程師是能在開發流程更靈活配置資源,甚至為公司的商業、服務模式挖掘出創新價值。

了解更多:AWS 開發者系列