首先,第一件跟大家分享的就是我離職了,離開從事了四年的手機網路遊戲設計這個工作。
今年發生滿多事情的,在上半年5月時,公司主管想將html5的技術導入遊戲開發,而不同以往是將ios與andoird分別用object-c與java撰寫,而是整合使用javascripts進行開發,兩邊的app也都可以使用mobile webview來執行html,有這個想法我們並非是先軀,但總不能是最後,因此我被選為進入這個新技術領域的人選,當然這裡也不例外,也是套了工程師必經的一句話就是「說很簡單,做很難」,不過最後結果,這個試驗品個專案目前已上架了,分別在ios與android上都有,是由我撰寫伺服器與app及整合,裡有些核心元件是由主管與同事提供,花了將近20天完成,不說手機方面的程式,光是主程式那支html就超過4000多行,全都javascripts,其他支html大約都300行以內,主程式會寫那麼多是因為我是接這個專案才開始學javascripts,所以有很多東西不會拆,例如怎麼把程式拆成n支,再以import的方式載入之類的,說到這些,或許有些人懂javascripts就會說,不就只是scripts src=xxx.js,我可以跟你們說這樣做穩死,這種寫法來載入js,會因為html的body先載入完成,而js是再之後載入,這樣會造成你在html已紿開始執行,卻讀不到js裡的function,會有機會讓程式掛掉,還找不到原因,因此這個方式是被我們捨棄不用的。
在上文(其實是廢話,沒幾個人想看XD)提到,我雖然是以java出身,但不管工作幾年,自己還是要擁有挑戰新技術的熱情與信心,當然學習一定會遇到很多奇怪問題,這時就要提出來與大家討論或是去詢問技術主管,若是能自己找到解決方式再出來與大家討論這方式是否妥當會是最好的做法,這樣大家也可以分享到技術,在學生時期,自己會覺得學一個新程式語言很難學,那是因為自己本身沒有一個基本的語言底子當基礎,在此建議大家,盡量在學生時期,不管你是要自學、私下找老師問等等,挑一種程式語言,用大學四年的時間把他讀爛讀熟,並多寫,多試,多看書,以及多看別人寫的程式,去思考這樣寫會有什麼問題,以及別人這樣寫是為了要避免什麼問題,有時候很簡單的幾行程式,是有很深的技術在裡面,盡量培養了對程式的敏銳度,並且具備書上的基礎知識,知道哪些寫法會犯什麼錯,再加上只要會一種程式語言,並對語言的有深度了解,那當你要學習什麼新語言都是很簡單,最後你只要擁有無比的熱情與興趣,就可以去挑戰工程師這個行業了。
最後,雖然我離開了,但也學到很多的技術,目前自行接了一個案子+休息中,邊休息邊開發,當你能力夠時,剩下的就是挑戰自己了,大家共勉之。
2012/11/26 補充:
最近我去面試了兩間大公司,第一間是徵系統維護工程師,面試當天發了一份性向測驗以及專業科目、英文考卷(我英文極差),說真的,我完全不會寫XD,有一題是請您畫出之前開發過的系統架構與流程圖,要包含5個資料表以上,寫了一個多小時之後,有兩位主管進來面談,先請我自我介紹,之後就針對公司的需求人員技術方面提問,問題幾乎都是erp與pos系統的維護,當然,談到後來,不順利,對方也表明要做維護工程師,就不能有想開發、創新的想法,我似乎不是這種個性,在第二天,就收到對方寄來的感謝信(e-mail)。
在面試完第一間回到家當天,我猜應該不會上了,所以我馬上就再投另一間是android軟體開發工程師職缺,沒想到第二天就收到電話通知約面試時間,約好面試時間之後,在當天因為下雨,路況又不熟,我迷路又遲到...,一樣到面試的公司時,還是要先填寫性向測驗以及專業科目,這次沒有考英文囉!不過專業科目都是問答題,要解釋mvc、xml、json、http get/post的差異點之類的問題,大約快10題吧,我只會6~7題,寫完之後,緊接的就是面談囉,這次進來的是一位主管與兩個工程師,首先工程師針對專業科目從空白的題目一題一題問我為什麼不會,有問到git控制版本、何謂reset,我很老實的說「不知道那是什麼,也沒用過」,之後再反問,那指的是怎樣的技術?沒想到對方也很客氣的簡單解釋一下,我聽了才發現有用過相關技術= =",我回答對方有用這個技術在專案上,並解說一下如何使用,其他我有寫的部份因為都是正確的,對方也就沒提問,這樣一來筆試部份大約拿到9成的分數了XD。
在面試後半段,就拿一下我寫過的遊戲demo給對方看,並解說之前開發專案負責的部份,以及各伺服器如何溝通,架構如何規劃,對方工程師也有針對此部份詢問一些深入的技術,以及裡面的功能如何實作等等問題,在這部份都一一回答完之後,對方就以android手機舉例了一個問題,詢問我遇到時會如何處理?我也就針對此問題進行回答,我認為對方會詢問這個問題,應該是想知道我是否有能力在遇到問題時,能提出解決方案,以我之前工作經驗,當工程師遇到問題時,要先能整理問題,然後以目前所會的技術,提出解決方案,有可能不是最好,但可以提出來給大家討論,才是一個工程師應該做的。
這間面談的滿順利的,最後對方主管也是直接表示錄取,然後細談待遇、福利等等細節了,在此給要面試的大家一些建議,如下:
1.年終要詢問清楚,幾個月?
2.公司是否會調薪?每年調還是半年調,調薪的百分比。
3.加班是否有加班費,加班費如何計算,加班如何申請(有些公司要事先,有些可事後補)。
4.中餐、晚餐是否自費。
5.月薪待遇(視個人年資與能力,若剛畢業通常只能問公司規定起薪囉),最好是跟對方談總年薪。
6.3節禮金(這部份我沒細問,要不要細問看個人)。
7.休假制度。
8.是否需要輪值班。
9.平常心面對。
留言
張貼留言