2024年4月23日

工程師創業 EP3 - 資深工程師也不過是 Junior PM

雖然說作為工程師,我的經驗還算豐富,可以解決大部分的開發需求與問題,姑且可以自稱資深工程師吧。

但是做為產品經理(PM),我就是全然的 Junior 了。

明明是工程師,為什麼要做 PM 的工作?

也沒辦法,畢竟公司目前只有我跟一位業務合夥人,很自然的,PM 的工作就落到我身上了。

風水輪流轉

以前還在當工程師的時候,常常會吐槽說,公司高層或是 PM 到底在規畫什麼爛東西?

看到需求後,工程師們最喜歡在會議室裡面噴一輪:

「這樣的系統真的有人要用嗎?這樣的流程也太違反人性了吧?」

「為什麼這些高層的決策總是出爾反爾?為什麼規格書總是亂七八糟?不好好寫清楚?」

「為什麼需求邏輯總是不流暢,甚至自打臉?」

族繁不及備載。

2024年3月31日

工程師創業 EP2 - 不要傻傻地就去創業

創業不是從天上掉下來的念頭,最早有創業的想法,應該是大學的時候。

受到臉書跟 Google 創業故事的啟發,覺得軟體工程師是一個很酷的職業,可以打造世界級的產品,賺很多錢。

出生在一個沒什麼資源的家庭,覺得靠一台電腦,寫寫程式就能創業,是非常好的機會。

因為有了這樣的想法,大學選擇了資訊相關的科系。

認清現實

我並沒有那個勇氣休學創業,畢竟家裡沒有金礦,我姑且是有好好地把大學念完,雖然後面有點放飛。

2024年3月23日

工程師創業 EP1 - 能動就好,不是拿出半成品的意思

前陣子,跟一位合夥人決定要開公司,做 SaaS 產品。想說機會難得,不如把過程中經歷的事情記錄下來吧。

除了可以把心路歷程記錄下來,也可以順便整理並反省,在創業的過程中,學到了什麼東西,有哪些事情做對了,又有哪些事情做錯了。

希望這系列文可以一直持續下去。

從零開始開發產品

公司目前,只有我一位工程師,和另外一位業務合夥人。

我們的目標是自己開發一套 SaaS 產品來販售,所以有大量的開發工作需要進行。

2024年3月17日

Laravel 新手必讀:學習 Laravel 前必須了解的 4 個關鍵名詞

這年頭,PHP 跟 Laravel 這兩個名詞,幾乎都是同時出現。PHP 也許還好理解,但是關於 Laravel,有太多的東西需要學習了。

這篇文章將透過介紹 4 個關鍵名詞,來幫助新手學習 Laravel,釐清觀念。 

2024年3月6日

為什麼老闆不讓你用新技術開發?導入新技術沒那麼簡單

我自己屬於不是那麼追求新技術的人,偶爾滑到新資訊的話會看一下,或是別人在討論的時候也會參與,但是比較不會主動去追求,除非工作上有實際的需要。

不過以前有些同事,他們對於新技術非常有熱情,會主動去參與社團,或研討會等,學習新知訊,每次跟他們聊天,都在談論新的技術話題,根本跟不上XD。

他們通常學到新東西,就會迫不及待的想要導入開發團隊,讓團隊成員一起使用。

我覺得這樣很好,總要有些人要帶著大家往前走,讓整個團隊可以跟上時代,繼續往前走,不會一直用很舊的做法。

就像金融業,核心系統,據說到現在還在用 Cobal,永遠無法改成現代的程式語言。

壞處是,很難找到新人來維護;好處是,懂 Cobal 永遠不用怕失業。

2024年2月29日

如何帶新人?帶領新進軟體工程師需要做好 4 件事

我遇過一些主管,他們根本不知道怎麼帶人,最常用的方式就是放生 play,入職後就放著不管了。

新人沒有人帶,是一件很不好的事情,會讓新人花更多的時間上手工作內容。以公司的角度來看,新人要花很多時間才能有生產力,公司等於是在浪費錢。

所以對我來說,總是放生菜鳥的主管,是不合格的,代表主管根本就沒有建立標準管理流程,說好聽一點是自由發展,說難聽一點就是自生自滅了。

我認為一個合格的主管,對於新人訓練,至少要讓新人做到以下四件事:

1. 認識環境與團隊夥伴

2. 學習產業與相關知識

3. 了解工作與開發流程

4. 進行小規模實戰練習

2024年2月26日

過太爽?工作太閒也會想離職,軟體工程師的知識焦慮與職涯恐慌

我認識的一位前同事,他是一個相當認真的員工,可能能力不是頂尖,但是如果把工作交辦給他,基本上可以放心。

前陣子和他聊天,他提到他最近在考慮離職了,問他為什麼,他說:「我覺得這邊太閒了。」

一般人可能會覺得困惑,工作閒閒又可以領薪水不是很好嗎?這樣的職位真是可遇不可求,怎麼會想離職,太可惜了吧。

但其實在軟體產業來說,工作太閒確實容易讓人很恐慌。

2024年2月19日

軟體工程師,不要為了工作拼命

好幾年前,投入一個專案,姑且算是我職涯中,第一個由我主導的大型專案吧,要帶領團隊,從零開始建置一個公司核心的重要系統。

專案的時程很趕,高層也相當重視,不能有大的差錯。

那時還比較年輕有鬥志,也想要有個代表作,所以我投入相當多心力。

晚上下班回家後,會繼續思考專案的事情,假日還自己跑到辦公室免費加班,處理需要安靜思考的工作,也整理文件,或把一些混亂的邏輯釐清,為了讓其他團隊成員在工作日可以更有效率的工作。

在時間跟人力都很緊湊的情況下,我們總算是在期限內完成開發。我們將系統上到內部測試環境後,請 PM 安排驗收測試。

準備好接受考驗

畢竟是全新開發的專案,我們已經做好心理準備, PM 可能會找出一大堆 BUG,畢竟我們時程很趕,測試可能做的不夠周全;我們也預期 PM 會條列一大堆修改項目,還為此保留了一些開發資源,畢竟這是專案常見的事情。

我們給 PM 一些時間來做驗收,然而一個禮拜、兩個禮拜、三個禮拜,遲遲沒有回報。我開始覺得好像有問題,「怎麼搞的,這不是高層重視的專案嗎?PM 到底在幹嘛?。」

2024年2月13日

軟體專案工時總是估不準?3個可能原因和解決方法,PM 跟 RD 不要再互相傷害了!

軟體開發有個長久以來令人詬病的問題:開發時間總是估不準

不管怎麼估計,最後好像還是會發生意想不到的狀況,導致開發時程 Delay,PM 只能忍弄砍需求,跟老闆賠不是;或是為了趕上死線,逼工程師加班。

既然估時間一點都不可靠,那不如就不要估了吧?當然是不行呀,主管或客戶還是會需要一個數字,團隊也需要這個數字來互相配合。

所以到底為什麼,軟體開發的工時這麼難以估計?以下根據我自身的經驗,來聊聊三個可能的原因和對應的改善方式:

2024年2月5日

為什麼加薪升職的是別人?軟體工程師需要溝通能力嗎?不要等到被資遣才後悔!

會選擇當軟體工程師的人,相較於跟人溝通,應該更喜歡面對電腦吧?畢竟面對真實的人總讓我們覺得尷尬不自在。

我們這些軟體工程師宅宅們,通常懶得跟不同類型的人溝通,要對這些人把事情解釋清楚,還要處理對方的情緒,對我們來說真的是很困難也很麻煩。

但電腦程式不會有這些問題,只要依照規則操作,這些程式就會乖乖聽話。遇到問題,電腦也不會鬧脾氣,反正多半是工程師自己耍白癡。

因此,大部分的工程師最後都練就一身不管別人怎麼想的強大「講話」能力,只需要把自己的意思傳達出去就好,至於有沒有通,嗯,不是工程師的問題,聽的人要自己想辦法理解。

溝通能力是大事

剛步入職場的那幾年,我也是屬於埋頭苦幹型的。抱持著很理想的信念,認為只要認真做事,努力 coding,加薪升職就會輪到我。

還好,這並不是一個悲傷的故事,因為在離開第一間公司的時候,我的確成為在短短幾年內升到當時公司內最年輕的主管。

然而,現在回想起來,我必須要說,只是努力 coding 是不對的。

2024年1月11日

書讀的好、成績好、學歷好,就能賺大錢嗎?你可能忽略了一些事實

念書的目的是什麼?我認為,至少根據我個人的求學經驗,沒有幾個人是真的熱愛讀書的。有些人可能喜歡讀文學作品、小說,少部分人喜歡讀科普、商業書籍,但喜歡讀教科書的,真的是沒聽過幾個。

我自己還算是喜歡讀課外書的,對於課內書也算是還能夠保持耐心,可以為了成績多讀幾個字的,但絕對稱不上喜歡吧。很多時候,看過去,當作增廣見聞還可以,但要背誦,或是還要實際演練就有點受不了了。

大人最喜歡告誡小朋友,要好好讀書,未來才會有出息,才能夠找到好的工作,才能夠賺大錢。這也是我從小就相信的道理,在學期間,就算讀書的時候看不到未來的可能性,至少也會告訴自己,努力應該不會錯吧。

事情跟自己想得好像不太一樣

但越到後來,尤其到了大學,出社會以後,才知道,原來這個社會運作的方式並非是我們所想像的那麼單純。