第一篇:我是如何成為了谷歌的軟件工程師
作者 YK Sugi 編譯 Mika
本文為 CDA 數據分析師原創作品,轉載需授權
前谷歌軟件工程師YK Sugi分享了他是如何通過六個步驟,順利開啟了自己的數據科學職業生涯。
大家好,有很多人問我如何獲得谷歌的軟件工程師工作,在本文中我將分享我是怎么做的。
用相同的方法,你也可以在頂尖科技公司獲得軟件工程師的工作。
在以上公司順利求職共需要6個步驟,此外我還將討論以下內容:
· 首先該如何學習編程 · 學會編程后要學什么 · 如何獲得第一份編程工作或實習機會 · 軟件工程師工作求職的最佳方式 · 如何充分準備編程面試 · 是否要獲得計算機科學學位? · 是否要畢業于頂尖大學?
好的,我們開始吧!
第1步:學習編程
這是成為軟件工程師所需的最低要求。
為此,我建議你使用Codecademy和freeCodeCamp等交互式網站。在這些網站上你可以學習大多數編程基礎知識,SoloLearn也是不錯的選擇。
之后,我會使用視頻教程來學習更深入的知識。我推薦YouTube,Pluralsight,Lynda.com和Udemy等網站。在這些網站上,你能夠找到以下主題的教程:
· Web開發 · 移動開發 · 游戲開發
取決于你的興趣。
但是等一下,我應該先學習哪種編程語言呢?
我的簡短回答是,選擇JavaScript或Python,但這實際上取決于你的興趣。我在之前的文章中有探討過這個問題。
第2步:做些個人項目
在學習了一些編程教程之后,你應該通過構建一些個人項目來練習學到的知識。
為此,你應該找到你感興趣的東西。
例如,如果你喜歡攝影,那么你可以開發一個網站整理你所拍的照片。如果你對股票感興趣,那么可以構建一個系統來分析股票圖表。如果你喜歡解決問題,那么可以嘗試參加編程比賽。
當處理項目時,首先要盡可能靠自己完成。然后,如果遇到困難,可以使用在線或離線資源獲取其他人的幫助。例如,如果遇到與編程相關的問題,你可以在Stack Overflow對特定技術問題進行提問。
第3步:獲得第一個編程工作或實習
一旦完成了一些個人項目,你就有機會獲得第一份編程工作或實習機會。這樣在與頂級科技公司面談之前,你將有一些編程的經驗。
你完全有可能在一家頂級科技公司獲得第一份工作,但是這種幾率比較小,你獲得的第一份工作更可能是在一家不那么知名的公司。
**申請軟件工程師工作的最佳方式**
除了在網上投簡歷,你還有其他的方法可以嘗試。
在LinkedIn上,首先找到你感興趣的公司的招聘人員。然后,你可以問他們你是否有資格獲得你感興趣的職位。如果你的資格還不夠,你也應該問他們如何能更好地做準備。
還有Meetup這種人脈網絡的網站,你可以直接與當地公司的工程師和招聘人員進行交流。
這還不是全部。
LinkedIn這種人脈網站對于中小型公司的職位很適用。但是,對于想應聘谷歌和Facebook等大型公司而言,效果就不那么好了。
對于這些大公司,我建議結合以下三種方法:
1.參加你附近大學舉辦招聘會。
2.通過在其中一家公司工作朋友的推薦。3.網上投簡歷。
結合這些方法能夠增加你獲得大型公司面試的機會。
對于大型公司,LinkedIn上大公司招聘人員收到的消息太多了,因此效果不太好。
第4步:學習數據結構和算法
谷歌和微軟等頂級科技公司在面試時,經常會問到關于數據結構和算法的問題。所以,如果你對這方面不太了解,那么你應該學習。
針對這方面的基礎知識,我推薦我YouTube頻道的數據結構和算法系列視頻。
書籍:
《算法設計手冊》(The Algorithm Design Manual)作者Skiena 《算法》Algorithms 作者 Robert Sedgewick
第5步:準備編程面試
谷歌和微軟等公司的編程面試很難,但可以有針對性的進行準備。
一旦你對數據結構和算法有了深入了解,我就會推薦以下三種資源用于練習:
· Leetcode——練習編程面試問題的互動平臺。· 《搞定編程面試》(Cracking the Coding Interview)——關于編程面試的熱門書籍。· 每日編程問題(Daily Coding Problem)——每天給你提供一個編程問題的郵件列表。
在自己練習幾周之后,你可以開始進行模擬面試。
**怎么做模擬面試**
與你的朋友一起練習,從我以上提到的資源中選問題互相提問。
解答每個問題,并對你的解決方案進行解釋。
在練習時,除了面試者還要充當面試官的角色,從而揣摩面試官的想法。
進行約20次模擬面試,之后你對實際面試將有一定把握。
第6步:反復嘗試
使用我以上提到的三種方法應聘頂級科技公司:
· 招聘活動/招聘會 · 朋友推薦 · 網上求職。
如果第一次沒有成功,請不要泄氣。在找到心儀的工作前必然會經歷一些失敗。
在我成為谷歌的軟件工程師之前,我曾嘗試了五次。
總結:
第1步:學習編碼 第2步:做些個人項目
第3步:獲得第一個編程工作或實習第4步:學習數據結構和算法 第5步:準備編程面試 第6步:反復嘗試
等等,真的那么簡單嗎?
是的,但是完成這六個步驟需要大量的時間和精力。
其他問題
問題1:我需要獲得計算機科學學位嗎?
不用,但是擁有計算機科學學位有很大幫助。如果你參加一個完善的計算機科學課程,當中包含了步驟1,2,3和4的大部分內容(學習編程,做個人項目,獲得第一個編程工作或實習,以及學習數據結構和算法)。
如果沒有計算機科學學位,你需要自學當中許多內容。
要注意,即使擁有CS學位,獲得頂級科技公司的軟件工程師工作也需要付出很多努力。
問題2:我是否需要畢業于麻省理工學院,斯坦福大學,卡內基梅隆大學等頂尖大學?
同樣,并不需要。畢業于頂尖大學當然有些幫助,但這并不是必備條件。
谷歌人事業務部的高級副總裁Laszlo Bock也同意這一觀點。
在他的書《 Work Rules!》中提到,比起來自麻省理工學院等頂尖學校但表現平庸的學生,谷歌更青睞來自普通院校但表現優異的學生。
我認為這是有道理的,如果你很聰明且專注,那么來自哪所學校并不重要。
問題3:我需要很高的GPA(績點)嗎?
不用。
較高的績點在面試中有一定優勢,但你擁有扎實的實踐經驗,且完成了有趣的項目更為重要。
事實上,根據《 Work Rules!》,谷歌過去常常注重面試者的績點。然而之后他們發現,較高的績點并不意味著出色的工作能力。因此谷歌不再強調面試者的績點。
問題4:那我需要什么?
你所需要的是強大的編程能力和解決問題的能力,熟練掌握計算機科學的基礎知識,以及在簡歷中展示出完成的項目和具備的經驗。
根據我在文中提到的六個步驟,你就能做到。
問題5:怎么能寫一篇好的簡歷呢?
你可以參考我在面試谷歌時用的簡歷。
簡歷的篇幅最好控制在一頁,我的稍微有些長,但可以作為參考。
祝你好運!
第二篇:谷歌工程師文化
Google狂熱的技術信仰,塑造了獨特的工程師文化,這跟我們常見的銷售導向的企業文化截然不同。
1.在Google,工程師享受最高的待遇。工程師在Google,有最好的辦公室,最好的薪水,就連著名的“20%的時間”原則,也只是對工程師有效。所以,產品經理、銷售人員,在Google永遠是處在被別人俯視的位置上,因為在Google看來,工程師的出色工作,可以讓銷售人員變得沒價值。
2.工程師在那里享有充分的自由,他們可以訪問所有的Google核心代碼,所以在他們發揮他們的天才創意的時候,從一開始就可以考慮如何跟Google已有的平臺銜接。當然,他們的作品的所有權,屬于Google。
3.不擔心上班會遲到,由于公司實行的是彈性工作制,很多員工都是中午才上班。
4.只要你不利用Google的品牌和資源,你甚至可以一邊在Google工作,一邊創辦自己的公司。
5.管理層不能限制員工在公司內部自由流動。“只有做自己喜歡的事情,才能很有創意。如果有所限制的話,就難以發揮出個人的最大潛力”。
6.最為人稱道20%的“員工自由時間”。這個制度讓Google在條件許可的范圍內,最大限度地把工作變成一種興趣。在Google工作的人,感覺不像是在一家公司上班,更像是在一個大學或研究機構做有趣的研究。而Google則可以從這些自由員工的大腦中,源源不斷地提取新的創意和新的商業計劃。Google的聰明就在于,它知道即使不給員工自由時間,員工也會想辦法偷懶,與其偷偷摸摸,弄得兩邊都不爽,何不讓員工公開地、自由地支配一小段時間?更重要的是,員工的感受會完全不同,有了20%的自由時間而不是20%的偷懶時間,他感到自己被尊重,他感到自己在為興趣工作。
7.不管是在哪一棟辦公室,每走20步、每過個轉角,就會看到食物。這里有20個零食間,24小時供應各式各樣的糖果、餅干,還有在超市一瓶要價超過新臺幣100元的「Naked juice」100%純果汁。而這一切,都免費。
8.Google也有硅谷最出名的五星級「免費吃到飽」餐廳。這個由Google前CFO(主廚長)查理?艾爾斯(Charlie Ayers)一手打造的Charlie's Cafe,里面就有85位廚師和助理,提供85%都是有機食材做成的有機飲食。中午過后,Google的五星級餐廳打烊,你又能看到工人搬進了音響、氣球、電子琴,另一場party不遠了。
9.Google有沙灘排球場、游泳池、健身房,還有全身按摩服務;他們提供托嬰、牙醫、甚至醫師看診;Google有洗衣間,歡迎員工把臟衣服帶來洗;Google還擺有鋼琴,任何人、任何時間都可以演出自己的另一面。
10.在Google工程師辦公空間中,沒有隔間屏風,取而代之的是一個個白壁紅頂、看似現代蒙古包的帳篷。這種帳篷式辦公室可以隨拆隨搭,正符合Google一直都以2~3位工程師隨項目編組的小團隊模式,開發新產品。
11.Googlers除了能帶寵物來上班,還享有20%的工作時間來養自己感興趣的「寵物計劃」(pet project),也就是工程師每周有一天,可以為自己最狂野的夢想付出。不少Google最受歡迎的產品,像是G-mail、Google News等,都是由寵物計畫中誕生的創新。
12.Google有一種平等、自由的文化,每個人都能發出自己的聲音,就連跳槽Google的李開復說,他看到Google有在微軟看不到的創新活力,哪怕想法還沒有成熟的商業模式,還是可以去嘗試。
13.GOOGLE內部一些員工經常集中起來“頭腦風暴”。這樣一種獨特的內部文化,打破了金字塔式的等級結構,打破了傳統的管理內耗,打破了員工思維和自身工作范圍的框架,打破了產生官僚主義和自私自利思想的土壤,屬于一種尊重個性張揚、個性解放的管理新思維,正好與GOOGLE所從事的2.0范疇的網絡業務的個性化相映成趣。
第三篇:什么是java軟件工程師?
什么是java軟件工程師?
Java軟件工程師的定義:
Java軟件工程師主要是運用Java這個開發工具去完成軟件產品的軟件程序設計、開發、測試、維護升級等工作。
成為java軟件工程師必備的條件:
有一定的軟件分析設計能力;熟悉Java、Servlet、JSP、EJB等開發技術;熟練使用Eclipse或jbuilder等java開發工具;熟悉JAVA+STRUTS體系結構和開發工具;熟悉至少一種數據庫的開發和設計;具有良好的學習能力,具有強烈的工作責任心、有良好的溝通能力和團隊合作精神。
Java軟件工程師主要的工作內容:
完成軟件的設計、開發、測試、修改bug等工作,包括業務需求的溝通,功能模塊詳細設計,業務功能實現與單元測試,系統維護;參與產品構思和架構設計;撰寫相關的技術文檔;支持售前技術服務;支持項目對產品的應用服務。
Java軟件工程師的薪資:
根據I統計,在所有軟件開發類人才的需求中,對Java工程師的需求達到全部需求量的60%~70%。同時,Java工程師的薪水相對較高。Java軟件工程師一般月薪范圍在4000-10000元,遠遠超過了應屆畢業生月薪2500元的平均水平。通常來說,有一年工作經驗的Java高級軟件工程師的薪酬大致在年薪10—13萬左右。
Java軟件工程師發展前景:
目前,雖然Java人才的薪水很高,但是對該類人才需求旺盛的IT企業卻很難招聘到合格的Java軟件工程師。其中,最根本的原因就是許多計算機專業的畢業生在讀期間沒有掌握實用的技能與經驗,距離企業的實際用人要求有較大的差距。因此,計算機專業的大學生欲成為Java軟件工程師,最便捷的一條路就是參加以實戰項目為主要教學方法的Java職業技能培訓,從而有效地縮短同企業具體用人要求之間的差距。
Java軟件工程師的未來發展方向大致分為兩類:
一是成為管理人員,例如產品研發經理,技術經理,項目經理等;
二是繼續他的技術工作之路,成為高級軟件工程師、需求工程師等。
第四篇:軟件工程師是干什么的
軟件工程師是一個認證考試,具體地說是從事軟件職業的人員的一種職業能力的認證,通過它說明具備了工程師的資格.。
一般情況下.都是分4級軟件技術員助理軟件工程師軟件工程師高級軟件工程師目前國內軟件測試工程師的來源主要有三方面:一是以前專業做軟件開發的人員后來轉行做軟件測試,二是從大學招聘的本科或者研究生,三就是通過培訓機構招聘的專業學員。據了解,在國外測試人才的供應方式多以第三種為主,而國內目前除少數培訓機構外尚未形成足夠的人才供應規模。以北京中關村為例,現有軟件企業5000多家,僅對曰本軟件外包領域的人才缺口就高達5000人,而對美軟件外包人才缺口更大,可供量不足10%。中關村一位負責人介紹,未來5年北京將有至少200億美元的外包訂單,由此可推算出中關村將出現100萬的軟件人才缺口。巨大的產業前景和匱乏的人才現狀,使越來越多的IT企業關注軟件測試人才的儲備工作。
軟件構架師
什么是軟件構架師?構架師是在分析設計階段根據系統的主要功能和特性對軟件總體藍圖做出規劃的開發人員。請注意,這是一件風險很大的工作,設計出的構架要能夠容納主要的功能需求,還要有健壯的結構,還要有一定的擴展余地。這不是一件輕松的事,因為軟件是十分精細的,簡單的說,軟件的開發過程就是不斷給出邏輯判斷的過程,這樣的邏輯判斷稱為斷言,當一個軟件設計完畢,成千上萬個斷言就被建立起來,它們是隱含在程序和數據中的,一眼看上去,很難發現。如果存在自相矛盾的斷言,那么這個軟件系統的某些功能就肯定有問題。
很遺憾,恐怕沒有一個軟件不含有這樣自相矛盾的斷言。構架師的任務就是在設計構架時,盡量減少引入或者誘導產生自相矛盾的斷言,才能最終保證軟件質量,減少開發成本。構架設計就有點像下圍棋開局的時候,憑經驗判定該下哪幾步,但這卻是關系到成敗的關鍵步驟。所以,訓練構架師是很難的,經驗很重要,這需要長時間的實踐。只是看看那幾本關于軟件構架的書,學習到一些風格、模式這類的東西是遠遠不夠的!
關于更加有效的訓練構架師,我可以提供以下建議:
1、加強數理邏輯知識,掌握公理語義,能夠通過邏輯演算找出構架的問題。
2、注重專業化,不要指望一個構架師什么類型的軟件都能搞,既然主要靠經驗,就要專業化。
3、學習開發案例,找到以前的設計文檔來分析問題。從需求-〉構架-〉詳細設計,一層一層找問題,從四個方面:(1)主要找別人的問題,要求構架師在盡量短的時間內發現別人的構架問題。(2)構架是否簡單、易于理解?記住科學家說過“正確的必簡單”。給出任意一個需求,構架師能不能找到相應的模塊,還能改進嗎?(3)構架容易擴展嗎?在這個構架上增加一個合理的需求,引起的變更范圍是哪些?能改進使變更范圍縮小嗎?(4)構架的其他方面——健壯性、穩定性、高可用性、負載均衡等等。
第五篇:我是誰,為了誰
發言稿
程
霞
“我是誰、為了誰、依靠誰” “我是誰,為了誰,依靠誰”發言稿
發言人:程 霞
各位尊敬的領導大家好:
六個字、三個簡單的問題,工作多年卻從來沒有思考過,作為一個共產預備黨員深感慚愧。近日經認真深刻的思考,對三個問題有了更深的看法和感悟,反思如下:
首先,“我是誰”這個問題。我是名來自邊遠農區一個普通農民家庭的孩子,當初憑借父母的勤勞和自己的努力通過國家層層選拔和認可,自愿成了一名牧區學校的教師,工作之后,也是憑著自己的努力和成績得到單位的肯定,在這些過程中,沒有一個環節被享所謂“權貴”的不公。而我自己在平時的工作中,常常會有抱怨,抱怨身處的環境不好,抱怨領導的決策不近情理等,缺忘記了自己是誰,把一切困難問題的責任都推向外界因素,缺少反思“我是怎樣的出路,怎樣選擇了一條路”。
其次,“為了誰”這個問題。多年來我們在社會上一直擁有一個光榮的稱號“人民教師”,人民將我們比喻為“蠟燭”、比喻為“春蠶”,“奉獻”是師德的精髓和靈魂,而平時只覺得“人民教師”為人民服務這些對我來說太大太空,認為老師的工作就是完成自己的課堂工作。深知教師是自己的職業,自己卻履行了教師職業的部分職責,教好學生不是簡單的上好課,需要從多方面去影響學生,就是需要我們有高尚的師德,并將師德的全部履行在日常工作和日常生活中,帶出一批又一批對社會有用的人才,才能體現我們的社會價值。我們不僅承載許多家庭的幸福愿望還承載著社會和國家給我們的信任和期望,為了學生的成長和長遠的發展考慮,“一切為了學生,為了學生的一切”是教師的天職。
最后,“依靠誰”這個問題。眼下的我們穿梭在美麗的校園里,坐在寬敞明亮的辦公室,用著現代化的辦公設備,為了健康和便捷,使用著高科技的白電子板設施,這一切都是國家和政府為了學生的發展索必備的,另外政府還給我們外出提深自己能力的學習機會和深造自己的機會,從各方面證實政府和國家是我們的堅實后盾,而學生就是我們的依靠,有了這個依靠才能談及我們的發展,才能體現我們的人生價值,依靠學生我們才擁有了這份高尚的工作,得到了該有的待遇,也因為依靠學生才有了自己的幸福生活,因此,有學生才有我們,常說,老師如同父母,倒不如說學生是我們的父母,我們應該用心愛護、用心去啟迪他們,用思想和智慧為學生搭建通往智慧的橋。
以上是我對三個問題的反思,未來還很長,我會在生活和工作中點滴做起,做一名擁有高尚師德的教師、做一名人民滿意的教師。