我的 IT 生涯

最近有很多迷思,由之前的不能掌握的未來迫使我要向前看,同時間畢業工作四年,正好是一個轉捩點去紀錄自己四年來的生涯。

四年前,我帶著焦急的心情找工作,看到身邊比自己成績好成績差的人都有offer(s),心想太晚嗎?

於是在別人努力溫習final的時候,終”的起心乾”在jobsdb/jijus send了一大堆的求職信。那時候,我是沒有方向,從Java,到COBOL,MT和Web developer的工作都寄出了一大堆。第一個收到電話是現在A公司,第一關是Phone Interview,簡單從中文到英文普通話自我介紹,同時受到對方的奚落公開試成績差(結果成為對方壓價的原因),接著就是Programming Test,要完成一份Color Memory Test,運用Javascript去做就行了,結果花了一大晚就完成了。最後就是面試,不算做麻煩,但面試完後就即刻有offer了,去完grad trip回來就開始工作了。

A公司是MNC,職位是Application Developer(文字藝術師),香港有三十多人,跟我同期的是另一個Mainland,終算有個伴,大家分配進同一個Team(實際上只有三個人,我倆加入職不到一個月的PM),每人各自做一個Project,運用HTML+Javascript寫成一個application,印象中好似一個月起貨。

入職人工不高,一個人學習面對各種事情,經歷了無數的OT,趕Deadline,去認識各種platforms。慢慢地適應了這種生活,不過學的野實在太專,在香港做同類型的Apps的公司只有一兩間細公司,所以學的野對於出面不算太有用。同樣,因為我們是沒有用外間任何的Framework/library,連jquery都無用,所以只是用自家制的東西建apps,經驗沒有太大作為,曾經想過無數次離職,可是卻沒有勇氣。

第一年,慢慢地學習和體驗,做了不少的Projects,由零開始,到Porting/Fix bugs,甚至有機會做CES Demo,做Android Project,工作上是多元化,但某程度上一直以來都是自學,由Javascript,HTML,CSS,到Java android也沒有人可以問(因為公司沒有人識android,唯一有經驗的卻在project開始一個星期走了)。一直以來一個人走著走著,有時候真的很佩服自己,其實當初入職時,HR說有Senior帶,教我們,可是從來都沒有人教,一直都是自己摸著釘子走,我曾經灰心過,因為有時候實在不知道怎做,卻沒有人可以問,有次是Browser(IPanel)或device自身的問題,根本無從稽考問題所在,網上也沒有什麼資料。那時候,我做到哭了,祈求明天不用再做這個Project,可是世事怎能如意,只好默默地一個承受著,可能是一種磨練吧。

有時候問題是出自原本的Code,我望著那看不透的Code,我在想發生什麼事(誰寫的?),但由始而終一切都沒有人問,沒有人幫到你。往往Project既是一個人做,同時又是上手的蘇州屎,我想為什麼這麼苦,結果很多時候都要獨自做到八九點才下班。正因為公司新,沒有太多的管理,有時候連客的問題也要解答,24小時Support及Fix bug(外國客)。

公司初期,所有Project都是很亂,沒有管理,沒有Coding standard,各有各的寫法,下手也看不明白,公司終於建立了Project team,自家制了個framework,而我偶然下進入了這個小組,第一次有人帶,並不再是孤軍應戰。那時候剛好是入職差不多第一年,同時升職了,成為了Senior Application Developer及得到了MVP,人工也加了少少(其實仲少過依家Fresh grad),令我卻步沒走了。

同時有人說Fresh Grad要做夠兩年先好走,不過頭一年學到很多事,第一次接觸SVN,第一次被人罵要用JSHINT,那時候還是用簡簡單單的notepad++,太多的第一次,見識真正的社會,見識各類型的人。

接著的三年,學的野較多,幸好一直以來都有人指導和帶領,同時看到公司的變化和成長。

在Product team,再沒有strict deadline,再不是一個人,有問題都可以尋求戰友的幫助,所有野都變得有系統,見識到agile development,看清楚成個software development的life cycle,令我明白不要再回去那個one man world。

從沒有系統,到學習Git,build tools,gradle,groovy,Jenkins CI,unit test到nodejs,明白團隊的重要,從他們中學習。如果沒有peer review,沒有人互相扶持,我相信我只會成為一隻code monkey。不過我覺得自己學識的野太少了,接觸太少了,世界這樣大,我想出去走走,最近一直在看,這個世界有許多新野,Angularjs,reactjs,express,SWIFT,RAILS,太多東西想學,可惜時間和欠缺動力,不過我會好好努力。

最近人事的變動,product team的瓦解,各人的離去,我知道我也要走了,我明白一輩子不能在同一間公司打工,也知道繼續做同一樣野唔會有前途,所以希望尋求改變和方向,嘗試離開這個comfort zone。

這幾年見證公司的變化,從有product team到解散香港的product team,從一個office到三個office,從三十人到現在七十多人,從沒有Version Control到Bitbucket,peer review,CI,從自家product 0.4,走到今日2.5,展望3.0,是經歷是成長是變化。

一路以來,看到無數的人離開,有人選擇回家,出國工作/讀書/工作假期,轉工,轉行,開公司,裸辭,回國內,IBank,而我該選擇一條怎樣的路? 面對未來該有什麼心態,未來路內是怎樣?

我是迷惘的,重新回到起點,你問我四年來有什麼得著?有什麼advantages?是經歷嗎?是成為嗎?

我不知道,在工作上遇過很多種人,看透了?

 

推卸責任,把不關自己的事推得一乾二淨,跟自己不相該的事也會選擇不做

是非分明,準時返工放工,不做多餘的事,但同時把自己的事情做完

扮工作,上班做的野進度慢,不是看NBA就是Facebook,打機,吹水,高登

被動者,只要你沒有工作assign就完全不會自己找工作,每日上班下班,卻沒做到什麼事

勤力者,往往每晚總是最後才走,是做得太慢還是太有責任心

高效率者,為求解決問題,無所不欲其技,不理會新產生出來的新bugs,只著眼當前問題,甚至扮完成resolve issue

懶鬼,往往問一些很簡單問題,我不是歧視,而是那種重覆又重覆問同樣的問題,又不看doc,也不google的人

偽PM,有些PM從不抵擋,從不體諒下屬,答應客的所有條件,所謂Mission impossible,有PM更是沒有technical background

紙上談兵,有些人說就容易,做就很難, 空口說白話,說得怎有理想而沒有實行,怎會有outcome,只說不做,空有理想

 

這些年看到很多人,遇到各類人,是經歷才能成長。

 

其算一路以來,大家問我有無打算Career path怎走?

說沒有是騙人的,但我一直以來都是順其自然,從不強求,或者是P > SP > AP > M ?

每人都想做話事人,我是一個充滿控制慾和想法,有一個創業夢,我相信自己,相信時間。

 

你問我喜歡寫Code嗎?

我會說我喜歡成功,每當我看到完成目標和達成,我會很開心,終於完成。但我不想一輩子都在為別人打Code,我喜歡打自己的Code,不受限制。哈哈!但我知道世界並不是圍著自己轉,我要努力,我重視每個的project,希望它成功。

 

如果說這幾年學了什麼?

在Code上面,我會說接觸多了Javascript,看清了整個Development cycle,對於devices有更多的認識,但有各個地方要努力。

 

 

明天再次見工,不知道會是怎樣呢 ?

我害怕,但不會阻止我前進。

請人嗎 ? 找我吧!哈哈

 

總結,由當初大學入左Computer Science,某程度註定一生做Programmer, 而我希望不停學習和嘗試,早日成為PM =)

 

給來自google的你

IT界黑暗嗎? 我不知道,沒有人知道將來發生什麼事,究竟Javascript會否成為大勢,我也不知道。

對於Progammer該走怎樣的路? 我會說嘗試,給自己一個機會去看這個世界。

我會期待一間公司學野,利用agile development,進行peer code review,我不希望大家只是單純Fix bugs和成為code monkey,經驗獨自為政,自己一個人的programmer。

為錢定為前途定為學野?

我會選擇後者,學野是最重要。

 

雖然我是失敗的,也不應該多說什麼,但這就是我現在四年的經歷,在同一公司,最後只成為software engineer,渴望求變,加油吧!

1 Comment

  1. […] 過去曾經寫下多篇文章 不能掌握的未來 我的 IT 生涯 迷惘與機會  畢業後五年 最近有時間回顧這些年來的感受,同時再次把它們公開,反正我也經歷過, 即使死後這裡依然會存在,留下迴旋的生命紀錄 […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.