@snwr611是個人另外一個號. 由於我手機已經被如今這個號用了, @snwr611這個號沒法寫東西(規定是要手機實名), 因此改成這個號了.前端
書接上文. 前面介紹過薪資/生活等等. 今天來說講這邊的團隊吧.android
首先要說明的就是: "論天下英雄, 惟使君與操耳", 如今世界上的IT兩強就是中國與美國. 相比之下, 加拿大這邊的氣氛就要差不止一個檔次了.程序員
首先, 就是IT公司少. 當年我大學畢業定居杭州, 就是看中了阿里. 我一直以爲, 一個城市的IT好很差, 就是看有沒有超級巨頭. 一個城市有超級巨頭, 它就有濃厚的開發氣氛, 有好的就業前景. 以杭州爲例, 不只你能夠去阿里, 還有不少阿里牛人離職出來離職的, 也不少在杭州創業. 這樣滾雪球同樣, 整個杭州的就業前景就好. 上一次我從天貓離職, 也沒花上半個月, 就找到下家了.面試
對應到加拿大,這就慘了. 加拿大這邊沒有阿里/騰訊/google這樣的巨頭總部, 總體就業前景較之中國要差一些.sql
其實多倫多這邊有google, 在滑鐵盧大學那一塊. 不過據說主要是招intern實習生的, 也不是全是開發團隊. 開發團隊好像只有一個youtube的一個小組在這裏. 因此對於咱們這種Android/JS的前端同窗基本沒需求.安全
多倫多也有amazon. 但它的名聲太差, IT屆的"血汗工廠", 和國內的華爲有的一拼. Amazon據說是要24*7的on call, 就是有事找你, 無論幾點你都起來幹活. 我身邊的同事/前同事也是對amazon有點忌憚, 不太樂意去那上班.post
Blackberry也在多倫多. 如今的黑莓其實已經沒落了. 要從硬件轉型. 轉型期的陣痛怕是很多. 話說回來, 上次我找工做去去黑莓面試了. 一個團隊的人想作一些軟件產品, 他們對我比較滿意, 我就多問了點. 他們辦公室很空, 沒坐滿. 華人也不少, 由於我聽到好多普通話. 另外就是他們要加班, 並且加班還比較嚴重. 這一點我就不想了, 想加班我在阿里與網易好好呆着, 我還來加拿大幹嗎.學習
剩下來的多倫多的能拿上臺面的企業, 就只有傳統企業 (如通用汽車), 或金融業(如加拿大幾大銀行). 這些企業不是互聯網企業, 通常來講薪資還行, 晉升渠道較差, 工做中能學到的東西可能不如國內多.測試
這一點也是不如中國的. 我本身從2015年開始研究Kotlin, 以爲它頗有前景 (我還使用過groovy來開發android, 但groovy過重了, 不適合. kotlin則不錯, 後來果真也被google看中了), 而我18年找工做時居然還有公司只據說過kotlin, 還從沒用過.優化
一樣17年推出的lifecycle, room這些庫, 到了18年咱們掘金都討論得很充分了, 加拿大這邊的公司用得也很少.
多倫多這邊每一年有一個AndroidTO會議, 就是各類技術講座. 水平得說只能是通常偏上, 和國內各類黑科技或講得很深刻的技術講座差很多. 不過從2019年開始, AndroidTO被併入了DroidCon, 被Google官方認可了, 級別感受也高一些了. 像今年就有Jake Wharton來多倫多講座.
要是本身公司技術氣氛不濃, 那就要本身多去學習了. 平時下班本身多學點新東西, 或是就什麼老東西深刻研究下. 週末也看點技術文章, 否則之後想回國, 確定會發現本身技術比國內要落後了.
我其實只呆過兩個加拿大的公司, 一個是銀行, 另外一個互聯網企業. 不過它們仍是有些共同點的.
這一塊是和國內有點不一樣的. 之前我在天貓, 只有common library的庫纔要求被review. 我在網易則少有review. 但在加拿大這邊, 全部代碼全要被review, 有兩我的以上贊成了, 才能merge.
固然, 其實他們code review的質量並不過高. 一些無關緊要的小點也會糾結, 一些重要的地方反而被忽視. 好比說安全這塊, 寫了個sql拼接的語句這種風險, 在code review時也不容易被人看出來.
CI - Continuous integration,持續集成 或是Jenkins, 或是微軟的AppCenter, 幾乎是強制要求的. 我還沒見過哪一個公司沒CI的.
有CI的好處, 天然不少
不過CI用得久了, 常常就好慢. build一下有時要幾十分鐘, 甚至一個多小時, 這時咱們常常要每隔幾個月去優化下, 也是個工做量.
這一點在我呆的兩個公司都有. 一個是用Robotium來測試Android和iOS, 另外一個用jest寫集成測試並定時地跑.
這個實際上是好事, 幫助咱們早點發現問題, 不要拖到發版纔出事
讓我感到詫異的是, 銀行這個傳統企業裏的jira管理/工程進度管理作得至關地好. 而我如今所在的互聯網企業則不行. 可見這是因公司而異的
我如今的公司老是專一在user-specific story上, 也就是說作一個story老是要得是一塊用戶看到的功能. 好比說想要作A功能, 因而jira就建個story說要作A. 但其實A功能很大, 能夠分解成A1, A2, A3, ..., 其中的A1, A2可能仍是spike或investigation之類的工做, 沒有能讓用戶看獲得的結果, 但咱們公司都放到一個story了. 致使的狀況就是一個story要作上一個多月, 上頭還覺得沒進度, 總要來催. 實際上是不願好好分解. -- 好在, 如今在我屢次反饋以後, 慢慢變好了, 儘可能每一個story都不要超過三天開發時間.
再一個就是boss們異常關心burn down圖. 但開發過程當中明顯會有不少之前作plan時沒預料到的問題出現, 爲了解決咱們只好新建個story來解決. 這時咱們的burn down圖就不是降低而是上升了. 這時boss們就會很反感這樣的burn down圖, 而不是真實關心項目進程與block.
還有一個我不太喜歡的就是這邊愛用story point. 像我在中國, 都是說這個任務大概要作幾天. 這邊愛用story point, 說這個任務的story point是3, 那個是5. 結果我仍是計算一下, story point折整天數是幾天啊. -- 更坑爹的是, 不一樣的公司, 這個折算公式還不同. 有的公司是story point爲3就是2天左右(1是半天, 2是1天, 3是2天,5是三四天...), 有的公司的story point爲3則是4天 (1是1天, 2是2天, 3是4天, 5是一週半...). 其實你們在計算時間時, 用的都是"天", 畢竟一個迭代就一週或兩週, 你確定是算天, 這個story point其實好雞肋.
天天站會自不用說, 每一個迭代完了還有retro來總結這迭代哪作得好, 哪作得很差, 要如何改進. 還有, 我如今的公司每兩週還有產品演示的環節, 或是讓你展現你上個迭代都作成了什麼功能. 總之, 很敏捷.
第一個怕是得說contractor這個很差的制度. 加拿大這邊籤勞動合同, 都是籤永久職工的, 除非你辭職或公司裁員, 否則你能夠一直在那工做. 除了這個永久工, 還有一個contractor. contractor有點相似"臨時工", 通常是籤半年或一年, 期滿就走人.
這個contractor有點相似國內的外包機制, 但更很差些. 以咱們團隊爲例, boss一心想招兩三個contractor的, 結果招來了幹了半年, 合同到了就不和人家續約了, 再招了個contractor, 搞得咱們團隊又得從新培訓新人. 這樣的機制多是爲了避稅或其它這類的考量, 但對於開發團隊來講是比較差的體驗的.
第二是離職率高. 就我呆過的兩個公司, 離職率蠻高的. 按說加拿大的就業前景通常般吧 (也多是我口味更刁鑽, 看不上的多), 但一年兩年下來, 基本上能走個七七八八. 不過也有幹得久的人, 我有的同事在公司裏呆過七年, 八年,十年的都很多見. 通常來講是年紀大的更穩定些, 年輕些的則更樂意去見見外面的世界.
第三個就開個地圖炮哦. 我發現加拿大的印度開發不多, 印度的測試不少. 固然, 這是僅基於我我的所見, 樣本過少, 不算實錘. 我上大學那會, 還說軟件要學印度要搞個軟件開發強國, 咱們學院還找過印度人來給咱們上課. 來了加拿大以後, 發現這邊印度人很多, 不過開發比較少見. 我實際上是有點怕印度開發的, 由於他一開口我就暈. 不少人印度口音很重, 我只能聽個40% - 70%, 溝通起來至關吃力.
第四個就是同事比較友善. 我還真沒見過幾個脾氣差的開發同事, 你們在一塊兒共事都和和睦氣的. 不過我也據說有幾個黑名單公司, 去過的人都說很差, 我本身都記小本本里了, 再找工做就不去這樣的公司.
再一個就是, 公司的領導與同事, 對本身有私事而在家辦公很寬容. 好比說你要看個牙醫, 或在家收個快遞, 或是去孩子學校開會, 你均可以申請在家辦公. 這一點蠻好的, 這樣你就不用專門請假. 本身的年假能夠真正用來休息, 而不是請假去看病或辦事.
好了, 這一篇就到這吧. 要是還對什麼感興趣, 歡迎評論. 點名多的內容, 我就優先介紹下.