譯者註:本文是翻譯自 Google Career 的一篇職業規劃指南,需閱讀原文的請自備牆梯。以下是譯文:打好紮實的計算機科學基礎對於成為一個成功的軟件工程師是非常重要的。本指南主要關於如何提升自己的技術能力,非常適合學生用於製定教學課程,當然這裡提供的網絡資源,並不意味著就可以完全取代現有的課程,正式的課程安排還是要學的(除非你不想拿到畢業證書)。
計算機科學課程導論,介紹編碼的基本知識。
在線資源: Udacity – intro to CS course , Coursera – Computer Science 101
初級在線資源: Coursera – Learn to Program: The Fundamentals , MIT Intro to Programming in Java , Google’s Python Class , Coursera – Introduction to Python , Python Open Source E-Book
中級在線資源: Udacity’s Design of Computer Programs , Coursera – Learn to Program: Crafting Quality Code , Coursera – Programming Languages , Brown University – Introduction to Programming Languages
注:添加到你的知識庫中——JavaScript、CSS & HTML、Ruby、PHP、C、Perl、shell script、Lisp 和 Scheme
在線資源: w3school.com – HTML Tutorial , Codecademy , Udacity – Mobile Web Development , Udacity – HTML5 Game Development
注:學習如何捕捉 bug,創建測試,破壞軟件
在線資源: Udacity – Software Testing Methods , Udacity – Software Debugging
在線資源: MIT Mathematics for Computer Science , Coursera – Introduction to Logic, Coursera – Linear and Discrete Optimization, Coursera – Probabilistic Graphical Models, Coursera – Game Theory
注:了解基本的數據類型(棧、隊列和包),排序算法(快速排序、歸併排序、堆排序),數據結構(二叉搜索樹、紅黑樹、哈希表),和算法的時間複雜度.
在線資源: MIT Introduction to Algorithms , Coursera Introduction to Algorithms Part 1 & Part 2 , List of Algorithms , List of Data Structures , 書籍: The Algorithm Design Manual
在線資源: UC Berkeley Computer Science 162
在線資源: Udacity – UX Design for Mobile Developers
在線資源: Stanford University – Introduction to Robotics , Natural Language Processing , Machine Learning
在線資源: Coursera – Compilers
在線資源: Coursera – Cryptography , Udacity – Applied Cryptography
在線資源: Coursera – Heterogeneous Parallel Programming
注:可以是創建和維護網站,構建服務器,或打造機器人。
在線資源: Apache List of Projects , Google Summer of Code , Google Developer Group
注:可以在 GitHub 上閱讀他人的代碼,研究他們的項目。
在線資源: GitHub , Kiln
注:這能有助於你提高團隊合作能力,同時還可以取長補短。
注:通過類似於 CodeJam 和 ACM 國際大學生程序設計競賽的方式來實踐自己的 算法知識。
在線資源: CodeJam , ACM ICPC
這有利於增強和鞏固自我的學科知識。
注:提前申請實習。比如說美國的實習期是在夏天的 5 至 9 月,那麼你應該提前幾個月就開始申請。
怎樣 coding 才能速度快、Bug 又少?
推薦!國外工程師整理的系統管理員資源大全
你自己選吧:當工程師不需數學好,但神級工程師的數學都很好