寫在「求職天眼通」發布之後:軟體開發者的社會責任

你用過這幾天台灣最熱門的 Chrome 套件「求職天眼通」了嗎?且看研發者 Denny Ku 作為一個軟體工程師,為了改變台灣社會創造「求職天眼通」的心路歷程。
評論
評論

本文原刊於作者 Denny Ku 的 Github 頁面,INSIDE 獲授權轉載。

這幾天台灣最熱門的軟體,能提供職缺留言功能,幫助求職者獲得真正職缺評價的「求職天眼通 Qollie(Chrome 外掛)」(新推出的官方網站請點此)就是由作者 Denny Ku 所撰寫。軟體與網路為這個世上帶來「人人皆可搜尋」的資訊平等時代,但也能為社會意涵上帶來「真正的平等」嗎?且看 Denny Ku 作為一個軟體工程師,為了改變台灣社會創造「求職天眼通 Clairvoyance」的心路歷程。

這篇可能不會講到太多直接跟技術相關的東西,如果你對這個東西怎麼寫出來比較有興趣的話,可以看這篇:Clairvoyance 是怎麼開發的  (Qollie 舊稱 Clairvoyance)。主要是希望這次從開發到現在較多人使用,中間受到許多幫助和指點的經驗,能夠被記錄下來,假如以後有人遇到一樣的事情能從中借鏡。當然,這也是對自己的一個反省。

首先還是得先講一下求職天~眼通是什麼,它其實就是個 chrome 的 extension,裝了它以後,能在人力銀行的職缺下方給評論,以及看到其他人給的評論, 載點在這裡 。其他說明的話 ptt 上的文章 會清楚得多。

求職天~眼通要做的事情很單純,就是像前面說的把留言功能加上去而已,不過其實就像我們平常在做一件事情一樣,用想的都很簡單。但總歸其實只會遇到三個問題:

  1. 真正做的時候會遇到問題
  2. 做出來之後有沒有人用會是一個問題
  3. 有太多人用之後又會是一個問題

下面來說一下從端午連假到今天為止的這一段故事,寫程式是這個故事很重要的一部份,不過其實還有很多其他眉眉角角可以跟大家分享。

在開始動手寫程式之前

在開發前,首要的認知就是知道:自己擅長什麼、手上有什麼資源,如果前兩者還不夠還要再準備什麼。其實有這個發想是在端午節之前,我平常是一個網頁前端工程師。

雖然也寫寫後端以及對系統感興趣,但我知道 full stack 是一個被濫用的職稱。這年頭多的是 Database 操作只會 CRUD 的前端工程師稱自己為 full stack,或是只會套 bootstrap 的後端工程師稱自己為 full stack。

最常用的語言剛好就是 JavaScript ,可以直接拿來寫 Chrome 的插件,但這還不夠,我還需要一個存放資料的 back-end。下面這個基本上就是我畫在紙上的草圖:

本來打算直接在 AWS 上開一個 EC2+RDS 放著,後來發現只是單純留言,也沒有要真正 render 一個網頁。這個 back-end 需要能達到兩件事情:

  1. 計算的能力
  2. 資料的持久性

首先是單純的運算能力,最終看上了 AWS 的另一個服務 AWS lambda,它是以 function 為單位,不會需要我去維護整台機器(serverless),而且當運算量變大時,我大 amazon 會自己幫我 scale-out。於是稍微研究了一下 serverless 這套 framework,也寫了一份筆記在這裡:

再來則是資料的持久性,我選擇了 DynamoDB,是個跟 lambda 搭配很常見的選擇。儘管它看起來就是簡單易用,但為了這個選擇其實下了不少功夫,一開始是因為對「最終一致性」有疑慮,所以去看了 CAP 理論:

後來再看了這本簡介分散式運算的書:

總歸對系統的架構有個理解後,才開始安心使用,儘管現在回頭看這兩份文本都可以跳過,但要做能 scale-out 的系統,對分散式運算如果一無所知的話,會沒有那個 sense,身為一個軟體人就不該對未知的東西姑息或害怕去學它。接著一切就緒後,我突然發現我少了一位設計師夥伴,基於不想在假日麻煩人,我上了 codepen 去看他們的 license:

codepen 是一個讓前端工程師放作品的地方,上面有蠻多好玩的設計以及如何實做的原始碼。有人會問跟 pinterest 有什麼差別?簡言之 pinterest 是比較偏向純設計師的。

簡單說一句話,就是 public pen 都是 MIT license 的,要使用的話,只要包含了他們原本的 license,就可以自由使用。雖然最後幾乎都只是參考概念,並沒有真正援用哪個 pen 上的東西,但身為一個軟體開發者,就應該遵守這些基本的規定,畢竟當真的有人要找你麻煩時,沒有不知者不罪這種事情。

如果對於這些法規方面以及技術有興趣的人,可以去 follow Muzik Online 首席工程師 Ant 的臉書,上面有許多能讓技術人有一些法規 sense 的文章,而且對於 Database 和系統架構,上面也很多東西可以看。

好了,現在我有:

  • 前端開發能力
  • back-end
  • codepen 上參考的 UI

再來只是需要時間就能把東西做出來了。

發布 Beta 版本

大家看到的版本,其實是有滿滿 bug 的 beta 版本,我只有讓身邊幾個朋友測試過,就先 po 在 soft_job 板上。

讓開發者以外的人先測過這一步至關重要,因為自己開發的東西一定會有盲點。

會這樣做的原因是因為我想知道這東西是不是真的有需求,當時 po 完文章就去睡覺,早上看到有三十推就覺得蠻開心,結果幾個小時候 TonyQ 將它轉到八卦版去,直接一個爆衝。但結局讓我又開心又害怕:

  • 開心的是這東西真的有需求,而且很有需求。
  • 害怕的是我覺得這東西還不夠成熟,怕一開始太難用就直接被拋棄。

令我意外的是, aws lambda 和 DynamoDB 完全撐住了流量,當初把這些東西交到雲端託管有了成效,後來去看 log 發現沒辦法留言,都是原本 code 裡面有 bug,跟 AWS 一點關係都沒有 XD 不過後續就一直修到昨天晚上為止,留言功能才算正式穩定下來。

收到回饋之後

接著除了大量的 bug 回報之外,也收到許多跟功能上有關的回饋。其實大部分的回饋我都認為做了功能絕對會更完善,但時間並不允許這樣做,所以問題並不在於「現在要做什麼」,而是「現在不做什麼」。

這裡感謝 TonyQ 以及榮尼王給我的許多建議。

因為背負著很多人的期待,我並不能想做什麼就亂做什麼,必須訂下一個明確開發的方向,就現階段而言,讓這個 extension 活下去是至關緊要的事情,因為已經有了第一批用戶(已註冊目前大概約四千多人),剩下的只是繼續累積。太激進、會讓人力銀行對這個 extension 採取行動的事情,都不該去做,因為目前還玩不起這個槓桿。

不過 github 上面有許多人提了一些有辦法解決的方法,總之,沒有「絕對不做」的事情,只有「現階段不做」而已,有興趣的人也可以去看看,集思廣益:Issue 討論區

商業化的迷思以及贊助管道

有蠻多人在提到這件事情要商業化,也有人覺得只要「不商業化」就先把你貼上「傻傻、不懂事」的標籤。但其實我一點都不排斥商業化,我只是單純的覺得這件事不適合,或者現在沒想到適合的方式。像是如果要在上面硬是建立一個什麼商業模式,(像是廣告什麼的)這東西最後看起來只會是一個擾民的垃圾。

而且當以獲利角度來做這些事情,我就不能單純站在勞工的角度去思考了。至於要永續經營,後續等真正穩定下來後,會放上小額捐款的連結,這件事會在擬定如何公布經費的使用以及規劃後才做,不在現在就先急著募錢的原因很簡單,因為我想讓捐錢的人真正弄清楚他們的錢為何所用,畢竟群眾募資不是大乞討,懂?

未來方向

這裡不談功能,最終的希望就是所有的勞方都會是天眼通的用戶。因為大家並不是一年四季都在找工作,但大家卻是一年四季都能上去做評論,有時候並不是說一定要面試過或怎樣才能做評論,短期內,可以揭露一些根本沒必要去的職缺,長期下來,經驗的分享才是這個 extension 最難發揮價值的地方,「老馬識途」這種事情,在職場上也是適用的,總之,如何吸引大家去做這件事,就會是接下來的主要課題。

一個軟體工作者的反思

終於寫到這裡了,前幾天看到了 Codetengu 上分享了這篇文章:

我也想到前陣子 Alpha Go 很夯時,阮一峰所寫的文章:

身為一個軟體開發者,能了解電腦能做到的就是大量自動化、去中介化,去取代掉那些機器可以取代的員工,企業為了達成這件事情,自然要雇用一堆軟體工程師來幫忙,所以軟體工作者也變成一個搶手的職業。所謂技術帶來的平等,是指「資訊上」的平等,我們的資訊流通因為網路和軟體越來越快,舉例像是:歐巴馬總統和我們一樣都能用 google 快速查東西。

這年頭不知道還有沒有人記得百科全書這東西

但在財富上卻不盡然,我們拿到越來越多薪水時,也讓越來越多的人失業,當此同時,除了繳了多一點點的稅,我們大多數人並沒有負起什麼社會責任。儘管軟體開發者理應是最有辦法讓想法付諸實現的人才對,畢竟軟體能夠運行在電腦這個已經稱霸全球的載體上,更別說我們還有了 Internet 這樣鋪天蓋地的通路,寫程式這件事雖然有時候我也會因為智商不夠用覺得好難,但是比起動不動要砸大錢的製造業,寫程式真的容易實現多了。

寫程式是世界的潮流沒錯,只是許多台灣創業家提到寫程式就很喜歡強調矽谷如何、如何,忽略了許多在本質上就有顯著差異的事情。

統計學裡面告訴我們:有顯著差異是要拒絕虛無假設的,這句話現在看來蠻有哲理。

我不會說面對國際市場是一件錯誤的事情,在商言商總是有許多額外的考量,畢竟連話說的不好聽,要怎麼讓人掏錢投資勒?只是很多問題,其實台灣有其因應的解決方式,而工程師本來就該是提出 solution 的人,而不是負責說空話的人,所以更應該要虛心學習用一個台灣人的角度來看向世界以及台灣,才能真正解決台灣的問題。

舉例來說:這個插件就是解決台灣特有的問題 XD,因為國外的求職平台沒有像台灣這樣被壟斷。中國那邊的招募平台也幾乎都有開放留言討論這個功能,資方跟勞方是積極在爭論對話的。所以這插件只有在這樣子的台灣才會有需求 XD。

題外話是其實台灣也有蠻多新的求職平台,像是 sudo,或是 yourator,都相當不錯,而且在資訊上也相對傳統的人力銀行透明很多,不過都是比較以新創或工程師為主。特別講到 sudo 是因為他們的留言功能更完整,(正因為以前就在那裡工作才更了解這些事情)裡面的就職顧問雖然是講話很愛中英交雜的 AIESECer,但絕對是真心要幫助工程師求職的:D

再來雖然現代人生活離不開電腦,但其實對於軟體相關的事務都是有疏離和懼怕感的,很多時候是因為身為人與機器的 Proxy 的我們沒有做好事情讓其他人有感。身為一個在軟體產業工作的人,這件事可能會蠻常見的,就是你有時候很難跟不寫程式的人敘述你到底完成了一些什麼 XD

舉例:

  1. 把什麼東西做了 cache 讓它更快
  2. 或是用了什麼 Design Pattern 提高了維護性

別人聽一聽常常是:「喔⋯⋯這樣啊⋯⋯」。但生活中到處都是我們能夠付出專業能力去改變的地方,工作之餘,還要有生活,生活之餘,我們還能改善其他人的生活啊 :D。當認為有正確的事情該做,就該運用系統化的角度去設計和解決,因為假如做出來不小心規模化,你的系統又扛得住的話,那可能就不小心改變世界了。

題外話是天眼通本來是個我跟別人講,別人只會說:「喔~聽起來還不錯啊」的 Project。XDD

再說我們身在這個年代,有各種雲端服務幫你搞定基礎建設(IaaS、SaaS、PaaS),還有各種框架幫你搞定 UI。基本上你只要有想法、計畫,再加上一段時間穩紮穩打的學習、練習,幾乎就能解開各種 Issue 了,不覺得很讚嗎?讚讚讚!

也期許自己未來是真正的 RD 工程師,

而不是出現 bug 只會 XD 的 XD 工程師:


Google 開創雲端運算新時代,Industry Summit Recap 線上研討會聚焦製造、零售業加速轉型

一場疫情,讓許多行業意識到「數位轉型,不轉不行」的危機,尤其是轉型腳步相對緩慢的製造業、零售流通業,在疫情當下更是受創嚴重的兩大業態。Google Cloud將在 9 月 29 日、9 月 30 日舉辦 Industry Summit Recap 線上研討會,主題多元豐富而且不用出門、不必花錢,究竟議程有多吸引人?
評論
評論

數位轉型成為近年各產業最夯的關鍵詞,尤其 COVID-19 疫情爆發後,工廠缺工、缺料造成產線大亂,無法掌握上下游供應鏈的數據,對生產排程更是致命一擊。另一現象則是消費力從實體門市往電商跑,網路買了東西卻遲遲收不到貨,零售商能否即時掌握商品流、物流、金流的資訊,也是零售業受疫情衝擊之下,順利存活下去的關鍵。

一場疫情,讓許多行業意識到「數位轉型,不轉不行」的危機。不過數位轉型的命題如此大,加上不同產業的運作模式各有特色,因此在轉型方案的選擇、轉型方向的調度,也將呈現差異化策略。

例如,根據勤業眾信Deloitte於2020年底發布的《台灣智慧製造關鍵能力調查》,發現光是在製造業本身,轉型的腳步就有落差,半導體與電腦電子屬於轉型領先者,化學製品製造業的數位化投資相對落後。

為了加速產業邁向雲端轉型,善用數位科技的力量幫助自身企業不斷創新,Google Cloud 特別舉辦為期兩天的Industry Summit Recap 線上研討會。精選製造業、零售流通業當中最熱門的轉型主題,協助企業找到雲端轉型的密鑰,在後疫情時代享受最新的雲端解決方案。

Google Cloud Industry Summit Recap 線上研討會報名連結

製造業鎖定 9月 29 日,邁向工業 4.0 就該把生產數據全都拋上雲

工業 4.0 概念提出好多年,但你的企業是否還停留在 3.0 甚至 2.0 的階段?行業內的專家一定都知道,在工廠內安裝感測設備,透過即時掌握生產數據,進而彈性調整產線、優化製造流程、提高設備稼動率、降低人力成本,是邁向智慧製造的第一步。

導入自動化設備、架設全廠 IoT 環境、落實遠端監控之後的下一步呢?把生產資訊拋上雲端,甚至進一步運用 AI 技術,回過頭來調整生產流程,這部分將是許多製造業者亟需關注的轉型環節。

Google Cloud Industry Summit Recap 在 9 月 29 日,專注探討製造業該如何透過雲端解決方案,協助工廠設備運作更有效率、更為流暢。相關議題包含如下:

● 解密製造業上雲

● 雲端技術打造未來製造業

● 利用分析和人工智能實現製造業數位轉型

● 在 Google Cloud 上運行 SAP

● 借助 Anthos 實現工業 4.0 轉型

● Google 如何賦能智能製造

上述議題除了有華麗的 Google Cloud 講師陣容之外,更重要的是,本次線上研討會邀請製造行業的代表企業,藉由他們的最佳實踐經驗,分享親自走過的雲端轉型心路歷程,包含Askey亞旭電腦、Ennoconn樺漢科技、Footprintku富比庫 、HTC宏達電、ITTS東捷資訊,多元涵蓋製造產業不同領域的轉型模式與方法。

有些業者想了解究竟生產資料這麼多,該如何把 IT 基礎設備做現代化翻新,如有這方面的煩惱可以從「解密製造業上雲」主題獲得解答;又或者有些工廠已經部署各式各樣的 IoT 設備,但不知如何把不同設備及人員網絡串聯起來,洞察數據並發揮數據的價值,那就千萬不可錯過「利用分析和人工智能實現製造業數位轉型」。

當然有些企業已經導入 SAP 的 ERP 系統,希望把營運資料、生產數據一起整合到雲端,可以從「在 Google Cloud 上運行 SAP」專題了解實際的操作方式。在「賦能智能製造」議程,Google Cloud將攜手產業電腦整合方案領導業者Ennoconn樺漢科技,共同展示Google Meet + Google Glass的應用,透過人機協作有效釋放員工雙手,進而提升工作效率展現創新。

零售流通業鎖定 9 月 30 日,運用雲端方案為供應鏈業務做好準備

講到數位轉型風潮,絕對不能不提到全球的零售行業也受到大數據、AI 影響,展開智慧零售的佈局,藉此串聯全通路的數據,以提升顧客終身價值,讓獲利模式更加多元。從疫情可以發現,零售業是高度承受市場變動的產業,而且除了銷售端,把商品送到消費者手上的最後一厘路,更需要流通業者的協助。

看準零售流通行業長期遭遇的痛點,Google Cloud Industry Summit Recap 將在 9 月30 日,分享雲端解決方案可以從哪些角度切入,協助零售流通業者培養敏捷的營運體質,快速回應是廠及顧客的需求。相關議題包含如下:

● Google Cloud 打造由資料驅動的消費者體驗與創新

● 串聯線上線下零售商機並提升客戶體驗

● 企業數據決勝零售轉型

● 雲端科技加速市場回應與服務變現

● 如何透過 API 技術連結消費者需求並改善企業運營

● 描繪您對於未來零售的想像

● 建立數位供應鏈平台

● 物流運輸效能再升級:Google Map 應用

想要打造客製化的購物體驗嗎? API(Application Programming Interface)是近年的新顯學,從「透過 API 技術連結消費者需求並改善企業運營」學習如何從系統串接API,拓展更多服務功能。優化銷售、物流效率的關鍵就在於數據的洞察,進而調整適合的商業模式,從「Google Cloud 打造由資料驅動的消費者體驗與創新」及「企業數據決勝零售轉型」將是不可錯過的主題。

因應疫情避免過多人潮群聚,Google Cloud 提供兩天豐富的知識饗宴,不用出門、不必花錢,就能學習與自己產業有關的轉型新知。現在就報名 Google Cloud Industry Summit Recap 線上研討會