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日

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

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

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

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

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

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

2023年10月29日

PHP 8 Array 教學(下):10 個必學的 PHP Array 實用作法與方法

前一篇提到了 PHP 8 Array 的基本概念,對 PHP Array 還不熟悉的人,可以先閱讀前一篇哦。

這篇接著要來介紹 10 個 PHP Array 的實用方法,讓你對 PHP Array 有更深入的了解,知道 Array 可以用來解決什麼問題,也提高對 Array 應用的熟練度。

本篇將會依序說明及介紹以下十種作法與方法:

2023年10月24日

PHP 8 Array 教學(上):基本概念與操作

Array 是什麼?簡單來說,Array 是一種資料結構,用來儲存大量相似的資料。

如果沒有 Array,當你要儲存多個類似的資料,例如,三個數字,你必須要宣告並使用三個變數。

$num1 = 10;
$num2 = 20;
$num3 = 30;

但是透過 Aarry 的協助,你只需要使用一個變數。

$nums = [10, 20, 30];

當然 Array 不只讓你更方便地儲存資料,Array 作為 PHP 的核心資料結構,也提供了許多方便的方法,讓你可以更彈性的操作 Array 中的資料。

2023年10月19日

北海道、東北DAY1。OMO3 札幌薄野住宿。北海道産羊・野菜ふくすけ食記。來北海道就是要吃成吉思汗啊!

南北海道、東北之旅的第一天,從台北出發。

搭乘機場捷運到桃園機場,搭乘台灣時間 10:05 的班機班機,抵達北海道新千歲機場的時間是日本時間 15:00,搭乘時間約 4 小時。

由於預期今天搭飛機,會比較累,所以沒有安排什麼行程,就是先到飯店,然後吃成吉思汗!

新千歲機場

新千歲機場很大,也有一些地方可以逛街,但因為趕著前往市區,所以就沒有多做停留。

從新千歲機場前往 JR 札幌駅,可以搭乘JR快速エアポート,只要 40 分鐘即可到達JR 札幌駅,而且大概每15分鐘就有一班車,很方便。

ChatGPT 要取代軟體工程師了嗎?試著請 ChatGPT 教我如何使用 Docker 建置 PHP Laravel 的本地開發環境

早些年的 AI 其實很笨,不太能理解人類真正的意思,但經過學者跟工程師們多年的努力,聊天機器人已經有很大的進展了。尤其是最近微軟推出的 ChatGPT,據說聰明到已經可以顛覆整個產業了!?

甚至傳聞 ChatGPT 已經足以取代軟體工程師了!事實真的是這樣嗎?難道我這次真的要失業了嗎?

這篇就來玩一個簡單的測試吧,來測試 ChatGPT 是不是真的有傳聞中的那麼厲害,是不是真的可以取代軟體工程師!那就廢話不多說,直接出動 ChatGPT 啦!

問問 ChatGPT

打開 ChatGPT 後,我直接問了這個問題:

請問我要如何在本地使用Docker建立起Laravel的開發環境?

問完後,不用幾秒, GPT 立刻就回了我一大串,如下面的截圖,洋洋灑灑的列出了六大步驟(完整原文貼在圖片下方)。

2023年10月17日

寫程式需要天分?老實說,大部分的人都沒有天分

我自己認為,程式當然有比較需要天分的部分,像是演算法。

比較簡單的演算法、資料結構還可以理解,像是排序、最小路徑、Stack、Heap 這些常見的東西,都還可以理解。但是在深入往下探討,什麼 NP、NP-Complete 我是從來沒有搞懂過。

這就是為什麼我後來也放棄繼續唸研究所,因為資訊相關科系,研究所都是偏數理的,尤其是AI、資料相關的,非常仰賴數理能力,我自認沒興趣也沒能力,就沒有繼續往下走了,選擇直接就業。

寫程式需要天分嗎?

回歸正題,所以說,你需要是一個天才,才有辦法寫程式嗎?