Land Dream Rails Job http://get-rails-job.today 是我昨天發表的一本新書,主題是「Rails 工作求職指南」。
說是「求職指南」其實不太精確,正確來說應該是「成長指南」和「面試 / 被面試」指南。
撰書動機:解決困擾
在臺北辦 Rails Meetup 兩年多以來。這些年來:很多人來 Meetup 找我問過問題。根據統計:頻率最高的竟不是「開發上的問題」(基礎開發的問題我都轉交社群朋友回答,我本人只接受技術架構調整、Code Review、求職面試類的問題。),而是求職相關問題。
以下按照排名列出我常被問到的問題(也包含來信 email 統計):
求職篇
- 如何找到一個 Rails 工作(超過150次)
- 我夠不夠資格面試上一份初級 Rails 工作 (超過100次)
- 我零經驗,想轉行寫 Rails。合適嗎?(超過100次)
- 學完「基本」的 Rails 之後怎麼實做自己的 project ( 超過 50 次)
- 我沒有太多開發經驗,想換公司去累積經驗,但人家又不收沒有經驗的開發者,要怎麼辦(超過 50 次)
- 哪間公司目前比較適合我的程度(超過 40次)
- 怎麼樣才算是 Senior Rails Developer (超過 30 次)
- 你知道某某公司面試考什麼嗎?(超過 20 次)
- 可以幫我看一下履歷寫這樣可以嗎?(超過 20 次)
- 我要找一份 Remote 工作,目前這樣程度夠格嗎?(超過20次)
找人篇
- Xdite 你有認識人可以介紹嗎?
- 你的公司都怎麼挑人?
- 你怎麼出筆試/面試題目的啊?
- 怎麼正確鑑定一個 Rails Developer 的程度
- 怎麼阻擋「亂來」的履歷入侵信箱
- 去哪裡徵才可以找到優秀的 Developer?
身為職業 FAQ 答題機器人,我發現願意高薪求才的公司非常多,但他們找不到合適的人(或者說是從履歷上看不出來適合)。學習 Rails 的人也非常多( Rails 101 銷量非常好 )。但是這兩者卻對接不起來。
身為勞方,大多數人卡在「雞生蛋、蛋生雞」的問題,沒有作品開發經驗怎麼找工作。或者是不知道怎麼樣的技能需求才能達到面試門檻。
身為資方,不知道去哪裡找人。或者是信箱每天老是收到一些「完全來亂」的履歷。
其實這些都有解答。但不是一時用講的,甚至在 Meetup三小時內,能夠就講清楚的答案。但是我一年要回答這些問題非常非常非常多次...
於是最後我決定把這些問題和答案全部集結在一起編成這本書。
解決勞方 / 資方的問題
- 如果你想自學,這本書裡面有一整份順序自學實作指南
- 如果你想打破雞生蛋、蛋生雞的問題,這本書教你如何順利累積書本外的實作經驗
- 如果你想找能正確累積經驗的工作,這本書教你找到適合等級的工作
- 如果你想找工作大加分,這本書教你開金手指
- 如果你不想履歷石沈大海,這本書教你寫出不容易被刪掉的履歷
- 如果你不想搬家,想要找到 Remote 的工作,這本書教你如何應徵上 Remote 工作
- 如果你想升上資深工程師,這本書會介紹資深工程師的進階方式
=== ===
- 如果你是僱主,這本書教你怎麼樣快速刪掉篩選出來亂的履歷
- 如果你想要找到好的人才,這本書教你去哪裡找人,刊登職缺最有效率
- 如果你想快速鑑定出一個人是否唬爛,這本書教你如何出題
購買網址
美元售價 85 USD。台幣售價 2500 新臺幣。
- 官方介紹網址:htt://get-rails-jobs.today
- 購買網址:http://leanpub.com/dream-rails-job (支援 Paypal、國際信用卡)
- ReadMoo 購買網址 https://readmoo.com/book/210017878000101 (支援 Paypal、國際信用卡、大陸支付寶、台灣 ATM、超商繳費 )
(i.e. ReadMoo 會晚 LeanPub 一天更新,因為是人力更新)
FAQ
A: 我怎麼知道內容是不是唬爛?
- http://leanpub.com/dream-rails-job 有書籍部分章節 Sample
- http://leanpub.com/dream-rails-job 有 45 天無條件退款保證。看完覺得不滿意可以退掉這本書。(不過退掉這本書之前,還請幫我一個忙,Feedback 讓我有改進的機會。
- 如果你是 Senior Developer 或僱主。可填寫 Feedback 這個表單免費索取這本書。
- 如果你 22 歲以下 可填寫 Feedback 這個表單索取 discount
A: 這本書會不會拖稿?
- 這本書已經寫完了,所以沒有拖稿問題。
- 3/6 上架之後,因為讀者反映骨架稍微單薄,需要更多真實情境。5-10 章全部砍掉重寫,新版的內容多了十幾頁。
- 如果你有想知道的其他議題,但書裡面沒有這部分,可填寫 Feedback 表單建議新增。
A: 這本書為什麼這麼貴?要 2500 臺幣。
- 寫這本書的原因,純粹只是不想一直回答同樣的問題高達100遍。而回答書裡面的這些問題絕對會超過 1 個小時以上。而雇用我本人一個小時薪水不止 2500。而且我也不想賣這樣的服務。所以只好出此下策。
- 我相信求職一直被 Reject 的成本遠大於臺幣 2500。請假一天出去面試就要扣1-2000薪水了。
A: 有沒有折價卷
- 在 3/6 前購買 Rails 101 的讀者信箱裡面應該都有收到折價卷了。金額保密。
A: 什麼地方可以找到你問真人問題?
來我公司。或者是每個禮拜二我會參加 Rails Meetup
A: Lean SaaS 什麼時候更新?
3/16
What should we do? -- Part 1 ( Still using Wordpress)
OK。上一篇其實都是廢話。被整過的都已經知道「大概」是怎麼回事了。重點是 Solution。Solution。Solution。
如果你還是希望暫時繼續使用 Wordpress 的話,有幾件事情可以馬上處理。
Read on →今天路過 FB 看到朋友蔡校長寫了一篇政治文章,這篇文章的話題性之高( Visit 40,000+、Pageview 130,000+) 意外的衝倒了部落格本家。蔡校長不是不想解決,也一直為 Scaling 屢次搬家所苦,只是他遇到的狀況,會跟網路上能夠 Google 到的答案都不太一樣。剛好我在創業前,就是在 某科技網站 專注做 CMS ,這個主題還算略懂,所以打算寫篇文章來分享給有類似之苦的朋友。
(此篇文章特別的目標讀者是:針對使用 Wordpress 架站,並且苦惱一天到晚倒站的內容生產者)
Read on →今天在 FB 上看到這篇文章 為什麼新聞網站長這樣。看了覺得有點手癢來回一下。
某科技網站 願意讓我用「某科技網站」的形式,分享 2011 實作該網站首頁和內頁的細節。所以這裡就不截圖了。
首頁版面的編排
Read on →這篇是一篇有趣的觀察。主要的動機原先是因為想投稿 RailsConf 2014。填了報名表單以後發現有趣的細節,覺得可以分享,最後寫了這篇文章。
投這次 Conf 的動機主要是想省一點旅費。(投中者有一張免費門票 (750USD) + 500 USD 的補助費,沒中大會也會幫忙保留門票名額...)。不試白不試,所以也拿了一個小題目投了 CFP。
http://www.flickr.com/photos/xdite/12722098294/sizes/o/in/photostream/ (目前 CFP 的頁面已經關起來了,所以這是存檔畫面)
結果一開 CFP 的畫面我就笑了。因為界面和規則超熟悉 XD。
竟然是 YCombinator 式的徵題目方式 XD。( 去年秋天幫 Logdown 去投了 YC...)
傳統的 Conf 投稿流程
先聊聊傳統的 Conf 徵稿流程,以免讀者不太理解為什麼這件事值得記錄。
傳統 Conf 的 CFP 通常是這樣的:
第一次舉辦 (沒得投 CFP)
如果這個 Conf 是第一次舉辦的話,通常一般參加者是沒有參加 CFP 機會的。講者通常會是 Conf 主辦者到處去拜託他的大咖朋友們出席幫忙湊名單...。所以每個 Conf 的第一屆通常會很好看,因為 80% 以上的都會是大牌。
第二次以後舉辦(開始可以投 CFP)
如果這個 Conf 第一屆辦得好的話,很有機會隔年可以繼續再舉辦。這時候就會有可以投 CFP 的機會。通常投稿的格式只有一種:
1. 講者簡介:(你是誰?)
2. 主題介紹:(你想講什麼主題,內容摘要是什麼)
大概全世界 99.95% 的 Conf 都是這種徵稿方式。
所以取決會不會投上的因素通常也只有兩個。
1. 講者本人經歷以及背景
- 當地大咖。上的機率就會 ++++
- 社群活躍度非常夠。(有知名 opensource 專案或者文章非常多)
- 演說經驗(有 meetup 演說經驗數次)
- 任職的公司(如果公司有厲害的 scale 經驗,也容易上)
2. 題目本身
但用「人」去篩選題目,其實也容易出現誤差。因為一定會有其實題目很強,但講者是剛出道或是其他國家強者(有可能你不熟悉)。主辦者會試著想要捕獲落網之魚。這時候就是用題目篩...
不過主辦者會這樣想,投稿者也會這樣想。所以有時候真的節目單上會出現很厲害的 Title,但到現場發現演講者根本是一個什麼都不懂的新手在亂扯而已。
Rails core team member: Aaron Patterson 有一篇演講「算是」「半諷刺」的在 Talk 裡面塞這種現象:American Next Engineer。非常好笑,值得一看。
小結
然後結果就是我這樣一寫完,你就知道怎樣對一般 Conf 作弊了(?)。(不過不寫的話,你投稿失敗幾次後,自己通常也可以試出方法)。
不過很遺憾的,即便大家都知道遊戲規則和作弊手段,但還是沒有辦法有一套有效的機制防止。
RailsConf 歷年的 CFP
RailsConf CFP 我投過 12,13,14。12 是傳統的講者簡介/主題介紹。13 是講者簡介/主題介紹(但在第一階段禁止泄露個人資訊,進行海選)。14 是 YCombinator 式篩選。
YC 式是我寫這篇文章的主因...
RailsConf CFP 2014 ( YC Style)
備份的 CFP 辦法(存檔):http://www.flickr.com/photos/xdite/12722098294/sizes/o/in/photostream/
備份的 CFP 界面:
規則簡單的歸納是以下三點:
- 簡介你的 Talk ( Abstract )
- 敘述技術細節 ( Detail )
- 為何你有資格講這個題目 ( Pitch )
不過雖然必須要填寫(3)。但為了公平起見,還是嚴格禁止講者在此欄泄露個人資訊。
然後該份 Talk 可以選擇「Tag」。也就是大會這次有 Prefered 的主題。你也不必猜口味,直接選你的 Talk 趨向哪一種。
在第一階段的話,評審會 Review 你的 Proposal,然後透過盲問盲答的方式篩,由問答當中看功力。第二階段才會根據「你是誰」(該講者技術以及演講經驗決定是否入選)做篩選。
How YC do?
原辦法(存檔)https://gist.github.com/xdite/9173702
為什麼會說 RailsCFP 2014 跟 YC 很像呢?因為 YC 的規則更嚴問更多,其目的是試著讓創業公司以 360 度的方式審視自己並且線上 Pitch。
而且 YC 預設也會有一些偏好投資的題目讓你勾(比如說其中一個選項就是未來的媒體...)。
(填這份資料真的相當吃力,這份表格我們當初就寫了兩週多,還花了三天的時間錄了一段 interview 影片。還請朋友幫我們大修稿一遍)
審核程序
填完之後,( HN 上的謠言說) YC 校友會線上觀看這些 video 進行投票,高的會進 review。然後,YC 的 board 再視對你感興趣的程度線上問問題(要自己刷 HN),要你回答。
我們的成績是自介影片 1:30 左右平均被看了 1:08。有 8 個人看。然後 PG 本人寄了兩次信向我們要數據...(美國時間週六下午三點 submit 問題,然後美國時間週六下午八點寫信催我交,五個小時後我看到信,剛好在北京 RubyConf 最後一天晚上十點,回飯店累都快累翻了,結果只好熬夜寫 code 凌晨兩點抓數據...)。
海選的公平性
當初填過這麼慘烈的表格,所以這次才會印象這麼深。看到辦法馬上就會心一笑。
不過這的確是相當好的方法,因為熱門的創投投資公司,與熱門的 Conf 都會遇到相似的問題:
- 背景經歷顯赫的創辦者是好的經理人但卻不一定是適合的創業者
- 創辦者不熟悉自己所創辦的事業細節,卻精熟於 Presentation 的 Pitch
由這種互動方式也許能篩掉一部份的冒充者..
自從開始用 Rails4 以後,一直踢到類似的 asset compiling 爛賬。在 development 端是好的,在 production 一壓卻是爛的。但是在 Rails 3 行為卻是好好的。
一直踢到類似的鐵板,很難試出 root cause 是什麼。最近在用別人包的 Gem,覺得再遇到這種狀況會抓狂,於是認真找了 root cause 是什麼。
Asset Pipeline 的邏輯
基本上在
app/assets
lib/assets
vendor/assets
上掛的東西應該都是有效的。上 production 也會壓得過。(在 Rails 3 是成立的,但在 Rails4 變成圖片時常會找不到,然後鬼打牆一直 debug 不出來 )。
經過人工暴力和看熱門的 Gem (如 font-awesome-rails ) 的作法,發現把 assets 搬到 app/assets
是絕對會動。
Root Cause
花了一堆時間找討論串,發現是 https://github.com/rails/rails/pull/7968 (一年前 Josh Peek 的即興 Design)造成的。底下可以看到一堆熱門的 repo 都 ref 了這支可惡的 pull-request。
原因是 Josh 認為 app/assets
和 lib/assets
/ vendor/assets
之間的行為要分開。app/assets
是你自己開發的,應該要自動 load。lib 和 vendor 則應該要手掛。
所以如果 image 或 icon-font 放在 lib/assets
& vendor/assets
。開發者要自己在 config/enviorments/production.rb
的 config.assets.precompile
下自動一個一個加入想壓的(非 css/js 的 asset) 才可以。
嚴重的問題點:慣例原則
Rails 的 Asset Gem 維護者大多很嚴謹的維持一個原則。把 Asset 儘量都放在 vendor/assets
,表示裡面這份 code 他不是原作者。而且這個 Gem 很明顯是 3rd party libraray。
但是依據開發慣例,如果你把 CSS 放在 vendor/assets
下面。那麼相關的 images 基本上 100% 也會放在 vendor/assets/images/
, vendor/assets/*/images/
。基本上你不會吃飽沒事幹,一份放 app/assets
,一份放 vendor/assets
。
那麼 Johs Peek 的這個強迫行為,造成了原始採用 vendor/assets
設計且有非 css / 非 js 的 Gem,在 Rails 4 全部出事。(而且這個 bug 在 Rails 3 沒有)
然後查了這個一年以前的 Deisgn,竟然沒有在 sprocket-rails
官方文件清楚的指出來。( 去送了一個 pull-request 才發現原先的 README 講的非常含糊)。
暴力解決法
1. 在你的 project 加入這行
2. 把你維護的 Gem 從 vendor/assets 搬到 app/assets
結論
不過雖然可以解決問題。但是這兩個解決方法只是讓 Rails project 變得更髒而已 -_-。實在非常不爽 sprocket-rails 這個team。如果你長期有在追 compass-rails 與 sprocket-rails 這場戰爭的話,應該會非常非常討厭後者..。
TL;DR; 我不確定有沒有人對這個主題有興趣。不過我承認我是蠻神經病才這樣幹的...
[警告] 這樣作有危險。而且我並不會回答讀者為何你的專案跑不起來的問題。(這是一個超級拼裝車的架構)
起因
我們公司內部的幾個 Project,因為現在一開始都會作 Landing Page,所以 Asset 略顯壅腫。在以往的 Deploy 流程中,我們都是使用 Capistrano 這套工具,策略是到機器上再 compile asset,然後重起整個 project。
這樣的想法是不要卡住 developer 端 deploy 的流暢度。開個新窗放著讓它跑就可以。
只是在機器上 project 越大,compile 越跑越慢。我想我已經是非常會 tune aseet pipeline 的開發者了,但是還是對這樣的情形越來越沒輒。
Read on →