軟體工程師職涯規劃的一些整理

軟體工程師職涯規劃的一些整理

從事軟體開發相關工作幾年了,目前工作主要在開發 Web Application
是個時候回頭省思一下自己的職涯發展與規劃
想清楚一下自己要的是什麼,也順便把我的思考過程與有幫助的資料分享給大家

Top Tech Companies or Startup

你對自己職涯的規劃 3 年內希望可以到什麼樣子的公司/職位,新創跟大公司先天上有很多差異,在你選擇之前應該再多思考一點,讓自己對目標更加地明確與清晰

Top Tech Companies

舉凡像是 FAANG 類型的公司招聘的過程往往比起新創更加地謹慎,必須通過層層關卡才有機會取得入場卷
對招募一個軟體工程師而言,對 Computer Science 的基礎知識的掌握,程式語言的理解
這也是為什麼大多公司都會通過白板題來過濾面試者,確保他們對語言的掌握、演算法、資料結構的熟悉

Startup

比起技術新創更乎的是實現 Business Idea,開發市場、佔據市場,技術只是達成目的的手段而已
在這種時候如何快速、最小成本的實現產品反倒是比較重要的,如何有效率的使用輪子會是新創在乎,新創就好比一艘航向偉大航道的船,在有限的資源內尋找寶藏的旅途

該如何選擇程式語言

如果你規劃未來挑戰 FAANG 這類型的大公司,是該思考一下應該準備什麼語言通過白板題的考驗,通常你可以選擇自己最擅長的語言答題,但實際上也很可能受限於面試官的背景經驗。如果可以選擇目前主要的工作語言跟準備白板題的語言一致,那會是再好不過了,因為面試的過程中很大的機會會被深入語言本身的特性,藉此了解你對語言的掌握,如果特別準備另外一個語言來面白板,面對這類型的問題可能會比較難回答的很好

我認為選擇大公司合適的語言

  • Python
  • C/C++
  • Java

如果你想要在新創,程式語言不會是太大的限制,實戰經驗與實際能夠 Demo 的作品集我認為會是主要被關注的焦點,如果要加入新創我認為 JavaScript 會是很好的選項,撇開對程式語言的喜好與偏見,JavaScript 能夠從前端走到後端而且連 App 也一起包了,在新創這種人人都是樑柱的情況下,我覺得 JavaScript 會是很好的選擇。

我認為合適新創的語言

  • JavaScript
  • PHP
  • Python
  • Ruby

推銷你自己

如何撰寫好的履歷

DONT USE WEB PAGE RESUME

為什麼不要使用線上的網頁服務作為你的履歷?
投遞履歷的方式有 Email、透過官網招募投遞,PDF 會是普遍被接受的格式,Web Page 雖然可以撰寫相應 CSS @print,如果同時你又要滿足保持履歷在 1~2 頁的需求,實在是太折騰了。不要把事情複雜化 keep it simple,選擇 Word、Pages、Google Doc,或是 Latex Template 會更符合實際的應用場景,你能夠更專注的在描述自己

如何好的在履歷上描述自己的能力?
好的作文是模仿來的,我覺得多看看別人的履歷,把好的描述方式學習過來

列出有興趣的公司反覆讀 Job Description 畫重點
反覆讀有興趣的 JD,透過 JD 可以了解到這個職缺所看重的點,優先把自己缺少的加強

曾經走過的冤枉路,想要用 markdown 寫 resume link

保持聯繫

跟 HR、Hunter 保持聯繫的關係

線下活動

在各大活動可以多跟設攤的人資聊天,可以把握這個機會多問一下問題
這次 PyCon TW 我嘗試在攤位問了下列幾個問題

  • 公司是否已在獲利,目前的目標是什麼?
  • 怎麼衡量工程師的績效?
  • 這個職缺 OOO,薪資的範圍在哪個 range?

大部分的工程師都很害羞,不要把這種場合當作在面試,而是跟朋友聊天一樣,把握機會多了解一點你有興趣的部分

投一次沒用,你有投兩次嗎?

過去有個經驗投了履歷過了三個禮拜都沒有消息,那時候已經拿到可以接受的 Offer(N) 了,在這之後我 Email 給之前兩家無聲卡的公司,文情並茂的再次的確認是否有收到我的履歷,對貴公司的產品與團隊還是很有興趣能夠互相交流,如果貴公司願意再給機會希望可以近期面試。之後也成功的拿到了一次的面試機會,也順利的取得 Offer(N+5),展現你積極又不失禮的態度,也許只是收履歷的窗口疏忽了。

技術準備

  • algorithm & data structure
  • system design

目前這邊還是我很弱的地方,我儘量先從 Array 跟 Linked List 的題目做起,從經典的題型像是 Reverse Linked List,Binary Search
同樣類型的題目安排在同一個時期練習,等我有其他心得再跟大家分享

一定要下工夫在手寫程式碼,不要覺得寫在 leetcode 的 editor 上就好了,手寫的感覺是需要熟悉的

一些好的準備素材

Resume

Books

  • Cracking the Coding Interview link
  • Elements of Programming Interviews in Python link

很可惜這兩本書都沒有電子書的格式,只能夠買實體書,期待未來有機會可能有電子書的版本
第一本 CTCI 可以說是很經典的面試書籍,從面試前的準備跟選擇公司都有詳細的分析,很清楚的解析題目跟觀念

Open Source Resources

  • coding-interview-university link
  • system-design-primer link

一畝三分地

  • 一畝三分地 link

一畝三分地可以說是北美CS 找工作留學非常多乾貨的地方,大部分刷題、系統設計都可以在那邊找到討論跟各自努力的心得

photo via denvit

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×