11 月對我而言是很爆炸的一個月,過度忙碌的幾周下來沒睡到多少覺,不過依然忙裡偷閒做了些 side project,這幾個禮拜我的一個業餘專案 stacks-cli,在 GitHub 上有一點不錯的迴響,有點意外的上了 HackerNews 首頁和 GitHub Trending,便決定著手整理一下其中的心路歷程並分享給更多開發者。
專案連結:
動機 motivation:
相信大家都用過 Wappalyzer,大致上就是個分析網頁背後使用工具 Chrome Extension,平常做開發看到不錯的網站都會不自覺的點開看看,但最近看到了不少基於 JavaScript 開發的 CLI 專案,便想說如果可以把 Wappalyzer 移植到 command line 的介面,應該會是個不錯練習的 side project。
雖然後來想想有點本末倒置,畢竟把 url 貼到 CLI 還不如直接用 Extention 更快更直接,但我覺得還是各自有各自的市場存在,可能A就是不喜歡安裝這麼多 Extension,畢竟 Chrome 都這麼吃效能了,可能B就是單純喜歡 CLI 低調快捷的風格,所以以 CLI 為優先考量。
stacks-cli 的初衷除了想要自己業餘練功以外,更想要讓開發者在為數不多的選擇限制下能夠多出一個選項,做為一個 side-project 的目標其實已經達成了。
心態 mindset:
當你辛辛苦苦研究了一些新東西然後做出成品,拿給身邊的朋友看卻得到 soso 的評價也別灰心,因為 stacks-cli 其實就是這樣,很可能東西本身就不夠好,沒有第一眼會讓人注意到的亮點,但同時也很有可能只是受眾不夠多,Reddit 社群沒什麼反應就試著去 HackerNews po 看看啊!
有類似需求的人永遠比你想像的還要多出許多。
當然更重要的前提是,請先捲起袖子,trial and error,先去嘗試把東西做出來,一步步更接近腦海中的想像絕對是遠勝過一堆空口的滿嘴幹話。
建議 tips:
README 重要性不在話下,誠如人月神話一書中所提到的觀點,寫程式的時間和寫檔案的時間應該儘可能是 1:1 的分配,當然這是行有餘力的理想狀態,公司專案可能根本做不到,高流動率的情況下連簡單交接都有問題了。
但既然是業餘的 side project,不妨試著多做一點,畢竟以開發者的角度而言,你認為的理所當然在別人眼裡很可能是黑人問號,過於本位思考容易自我迷失,儘量用同理心去逆推其他開發者看到會怎麼想,能夠清楚的把自己的意念用文字傳達說明並讓更多人理解也是相當重要的。
至於去何處宣傳,我會建議優先去 HackerNews 和 Reddit/programming 以及相關討論區 po 看看,國外開發者在上面都還蠻踴躍給你意見的,就是會開 Issues 和發 PR 的那種活躍度,如果真的上了 HackerNews,能夠帶來的流量可以到至少 5000 ~ 10000 以上的 unique visitors,如果自覺東西真的不錯用也有真的解決一些問題,那就多給自己一點信心試著分享給更多人使用吧!
結論 conclusion:
stacks-cli 本身沒用到什麼厲害的技術,就只是把 Wappalyzer 移植到 CLI 的介面罷了,能夠受到國外開發者的歡迎其實運氣成分相當濃厚,不過整體而言也是個相當奇妙的經驗。
總是會在做完一件事情之後反覆問著自己,哪裡還可以做得更好,哪裡可以改善,現在這個年紀也許正在起步中,離想像中的樣子可能還有不小的差距,這時可以試著想想,反正非 CS 本科出身的我 have nothing to lose,撞牆撞習慣之後就再也沒什麼好怕的了。