<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>科技島專欄｜林鼎淵 Dean Lin</title>
    <link>https://deanlin.net/tags/%E7%A7%91%E6%8A%80%E5%B3%B6%E5%B0%88%E6%AC%84/</link>
    <image><url>https://deanlin.net/images/author_hu_aa256fc934e9a932.jpg</url><title>科技島專欄｜林鼎淵 Dean Lin</title><link>https://deanlin.net/tags/%E7%A7%91%E6%8A%80%E5%B3%B6%E5%B0%88%E6%AC%84/</link><width>144</width><height>144</height></image>
    <description>2022–2023 年在科技島「專家論點」專欄發表的文章：RD 與 PM 的合作攻防、團隊工作流程、技術導入與套件選擇，以及工程師的職涯與面試觀察。</description>
    <generator>Hugo</generator>
    <language>zh-tw</language>
    <copyright>© 2020–2026 林鼎淵 Dean Lin</copyright>
    <lastBuildDate>Mon, 08 May 2023 15:00:00 +0800</lastBuildDate>
    <atom:link href="https://deanlin.net/tags/%E7%A7%91%E6%8A%80%E5%B3%B6%E5%B0%88%E6%AC%84/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>履歷髒掉是真的！？爭議性高的產業盡量別碰</title>
      <link>https://deanlin.net/blog/202305/controversial-industries-and-your-resume/</link>
      <pubDate>Mon, 08 May 2023 15:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202305/controversial-industries-and-your-resume/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>工程師如果能力不足又想追求高薪，那爭議性高的產業是一條捷徑（ex：博弈相關）。</description>
      <media:content url="https://deanlin.net/blog/202305/controversial-industries-and-your-resume/images/cover_hu_a13809c0e5f192ad.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>工程師如果能力不足又想追求高薪，那爭議性高的產業是一條捷徑（ex：博弈相關）。</p>
<p>雖然這個選擇能獲取更豐厚的報酬，但也伴隨著許多風險，最基礎的就是法律問題。</p>
<p>儘管大部分灰色產業都說自己的公司不違法，但有時違不違法，就是拼運氣；如果你運氣不好，上班上到一半被警察抓走也是有可能發生的。</p>
<blockquote>
<p>有興趣的朋友可以自行上網搜尋，真的不要不信邪。</p>
</blockquote>
<p>就算你福大命大，平安順利地離開，等未來想跳槽到其他產業時也會遇到諸多問題：</p>
<ol>
<li><strong>薪水差距太大</strong>：爭議性高的產業通常會提供高出正常產業 30% ~ 150% 不等的薪水。當你想要轉行到其他產業時，可能會難以接受薪水上的巨大差距。</li>
<li><strong>履歷真的會髒掉</strong>：曾經有朋友離開這類產業後（當時他年薪 200W up），接下來想換一份「正常」的工作都屢屢被拒；最後花了近一年，把自己打折出售才成功入職（儘管他的能力已經算是業界前段班，但職涯依舊受到嚴重影響）。</li>
<li><strong>跳槽選擇被限制</strong>：一旦投身爭議性高的產業，未來想要跳槽時，往往只能在同類型的灰色產業間選擇。除非你想一路走到黑，否則建議避開這些產業。</li>
</ol>
<p>上面談的只是「履歷與職涯」上的問題，古人有言：「與惡人居，如入鮑魚之肆，久而不聞其臭，亦與之化矣。」這意味著你的價值觀也會受到影響：</p>
<ol>
<li><strong>環境的潛移默化</strong>：進入爭議性高的產業後，你的同事和上司可能背景較為複雜。而你與他們相處的時間又遠遠超過跟家人、朋友的相處時間，因此他們的行為、思考、決策都會對你的價值觀造成嚴重影響。</li>
<li><strong>金錢真的會左右自己</strong>：很多人在入行之初都覺得自己肯定是例外，不會被這些環境影響。但當價值觀慢慢崩壞，公司又拋出金錢的誘餌時，很多事情都不好說。</li>
</ol>
<blockquote>
<p>錢錢很香，但未必真的都能進到你的口袋；就算真的進到你的口袋，也難保不會在未來的哪天出事。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>當然每個人都有自己的職涯規劃與經濟上的考量，但站在筆者的角度來看，如果選擇工程師這條路，其實未來的發展性很高。</p>
<p>只要持續加強自己的專業，保持對產業的敏感度，擠身高薪並非遙不可及；但如果為了一時利益進入爭議性高的產業，除了可能觸法與影響履歷外，最嚴重的是「價值觀偏差」。</p>
<p>在有問題的環境待久了，就容易把錯誤的事情視為理所當然；一個人的道德感下降後，容易做出讓自己在未來後悔的事情。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>本科系 VS 補習班：對工程師職涯有那麼大的影響嗎？</title>
      <link>https://deanlin.net/blog/202305/cs-degree-vs-bootcamp/</link>
      <pubDate>Wed, 03 May 2023 15:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202305/cs-degree-vs-bootcamp/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>大學要讀 4 年，而補習班大約 3~6 個月；普遍來說，我們會覺得大學本科畢業的能力會比較強，但這幾年看下來還真的不一定，這麼為什麼呢？</description>
      <media:content url="https://deanlin.net/blog/202305/cs-degree-vs-bootcamp/images/cover_hu_211b2ee306bb48f0.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>大學要讀 4 年，而補習班大約 3~6 個月；普遍來說，我們會覺得大學本科畢業的能力會比較強，但這幾年看下來還真的不一定，這麼為什麼呢？</p>
<h2 id="心態上的差異">心態上的差異<a class="h-anchor" href="#%e5%bf%83%e6%85%8b%e4%b8%8a%e7%9a%84%e5%b7%ae%e7%95%b0" aria-label="這個段落的連結"></a></h2>
<p>我們通常是 18 歲上大學，此時的我們還沒有遭受過社會的毒打，並不知道畢業後將要面臨什麼樣的挑戰。</p>
<p>所以大部分的人都是用輕鬆愉快的心情去讀大學，儘管表面上讀了 4 年，但實際上有多少時間在讀書，就真的只有自己才知道了。</p>
<p>而選擇靠補習班轉職的人，大多有一定的社會歷練，他們是認知到目前的職涯並不是自己想要的，所以下定決心轉換跑道。</p>
<p>跟大學生比起來，他們通常是抱持著「改變命運」的想法去上課，因此這兩者的學習積極度是完全不同的。</p>
<p>有些大學生會翹課，或是在上課滑手機；但報名補習班的人通常都會準時出席，上課認真做筆記，下課找老師問問題，假日繼續研究。</p>
<blockquote>
<p>補習班報名費是自己的血汗錢，沒理由打混摸魚浪費掉。</p>
</blockquote>
<h2 id="面試的表現">面試的表現<a class="h-anchor" href="#%e9%9d%a2%e8%a9%a6%e7%9a%84%e8%a1%a8%e7%8f%be" aria-label="這個段落的連結"></a></h2>
<p>許多本科系畢業的學生並沒有認真準備面試，很多都是憑本能在回答問題的；而補習班出來的人，通常都有經歷過模擬面試，知道不同問題該如何應對。</p>
<p>師父領進門，修行在個人；畢業證書只不過是一張入場卷，讓你有機會被更多人看見。</p>
<p>在人才市場上，「人」就是商品，包裝精美的容易溢價，賣相較差的容易折價；不要期待公司主動理解你的內涵，在職場上要懂得「包裝」才有更多機會！</p>
<h2 id="並不是每個人都適合當工程師">並不是每個人都適合當工程師<a class="h-anchor" href="#%e4%b8%a6%e4%b8%8d%e6%98%af%e6%af%8f%e5%80%8b%e4%ba%ba%e9%83%bd%e9%81%a9%e5%90%88%e7%95%b6%e5%b7%a5%e7%a8%8b%e5%b8%ab" aria-label="這個段落的連結"></a></h2>
<p>筆者是資工系畢業，但身旁有些同學儘管畢業了，但還是不太會寫程式。</p>
<p>也許會有人好奇這樣是要怎麼畢業？不是都有「上機考」測驗嗎？</p>
<p>恩…他們為了畢業，硬生生把幾百行、上千行的程式碼給背下來了。</p>
<p>對！你沒看錯！是「背下來」而不是靠自己對程式的理解寫出來的；其實這也側面說明，就算是本科系畢業，他的天賦也未必適合當一名工程師。</p>
<p>很多人大學選擇科系是憑「直覺」，或是看哪個科系未來比較「賺錢」；但如果發現自己不適合又堅持不轉系，就會白白浪費 4 年光陰。</p>
<p>相比下來，如果你對一個領域一無所知，補習班 3~6 個月的長度是更為合適的，他能讓你先體驗看看自己到底適不適合這個領域</p>
<h2 id="未來發展">未來發展<a class="h-anchor" href="#%e6%9c%aa%e4%be%86%e7%99%bc%e5%b1%95" aria-label="這個段落的連結"></a></h2>
<p>人生很長，在長達 30~50 年的職涯面前，是不是本科系就沒有那麼重要了。</p>
<p>也許在職涯初期，本科系出身的人表現更好、知識更全面；但隨著時間推移，如果沒有持續精進自己，那這些領先的優勢將會慢慢消失。</p>
<p>學歷在前兩份工作有參考的作用，但越往後走，越看重你在實務方面的表現，以及與團隊溝通協調的能力。</p>
<blockquote>
<p>如果一個人都 40、50 歲了，還只能拿自己的學歷來炫耀，那代表他出社會後混得很差。</p>
</blockquote>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>遠端面試要注意的 7 大重點，3 點錯誤記得要避開！</title>
      <link>https://deanlin.net/blog/202304/remote-interview-tips/</link>
      <pubDate>Mon, 24 Apr 2023 15:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202304/remote-interview-tips/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>如果面試的是工程師職位，現在有許多公司的前幾道關卡都是採「遠端面試」；筆者在這篇文章會綜合面試官與求職者的角度，向大家分享新手常犯的錯誤與面試加分的小技巧。</description>
      <media:content url="https://deanlin.net/blog/202304/remote-interview-tips/images/cover_hu_937642195addfc9c.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>如果面試的是工程師職位，現在有許多公司的前幾道關卡都是採「遠端面試」；筆者在這篇文章會綜合面試官與求職者的角度，向大家分享新手常犯的錯誤與面試加分的小技巧。</p>
<h2 class="h-nomark" id="-錯誤-1沒有下載桌面版軟體不熟悉操作">😈 錯誤 1：沒有下載桌面版軟體、不熟悉操作<a class="h-anchor" href="#-%e9%8c%af%e8%aa%a4-1%e6%b2%92%e6%9c%89%e4%b8%8b%e8%bc%89%e6%a1%8c%e9%9d%a2%e7%89%88%e8%bb%9f%e9%ab%94%e4%b8%8d%e7%86%9f%e6%82%89%e6%93%8d%e4%bd%9c" aria-label="這個段落的連結"></a></h2>
<p>遠端面試常用的軟體有 Zoom、Google Meet、Teams，其中 Zoom 跟 Teams 儘管可以使用「網頁版」，但有時會遇到一些特殊的狀況（ex：螢幕分享一片黑），因此建議下載桌面版會比較穩定。</p>
<p>另外記得在面試前要先熟悉軟體的基礎操作（ex：螢幕分享、開啟攝像頭），並設定好相關權限（ex：允許螢幕分享、允許使用喇叭＆攝像頭），否則在面試過程你可能會需要多次重開軟體，給面試官留下「不專業」的印象。</p>
<h2 class="h-nomark" id="-錯誤-2直接穿家居服面試ex睡衣">😈 錯誤 2：直接穿家居服面試（ex：睡衣）<a class="h-anchor" href="#-%e9%8c%af%e8%aa%a4-2%e7%9b%b4%e6%8e%a5%e7%a9%bf%e5%ae%b6%e5%b1%85%e6%9c%8d%e9%9d%a2%e8%a9%a6ex%e7%9d%a1%e8%a1%a3" aria-label="這個段落的連結"></a></h2>
<p>筆者真的遇過穿吊嘎的面試官與穿睡衣的求職者，我尊重每個人的穿衣風格，但印象分數照扣。</p>
<p>除非你真的強到逆天，對方也非你不可，否則印象分數還是相當重要的。</p>
<p>不要因為遠端面試就隨便穿，建議比照現場面試的服裝儀容；當你穿著正裝時，也會給自己一個這是重要會議的心理暗示。</p>
<h2 class="h-nomark" id="-錯誤-3忘記關閉會干擾面試的軟體網頁">😈 錯誤 3：忘記關閉會干擾面試的軟體、網頁<a class="h-anchor" href="#-%e9%8c%af%e8%aa%a4-3%e5%bf%98%e8%a8%98%e9%97%9c%e9%96%89%e6%9c%83%e5%b9%b2%e6%93%be%e9%9d%a2%e8%a9%a6%e7%9a%84%e8%bb%9f%e9%ab%94%e7%b6%b2%e9%a0%81" aria-label="這個段落的連結"></a></h2>
<p>如果在面試過程中跳出奇怪的訊息是非常尷尬的，而且訊息不斷跳出的提示音也很吵，千萬不要在面試時犯下如此低級的錯誤。</p>
<p>下面筆者列出常見的通訊軟體、網頁：</p>
<ul>
<li><strong>通訊軟體</strong>：LINE、Messenger、WeChat</li>
<li><strong>社群網頁</strong>：Facebook、LinkedIn、Twitter</li>
<li><strong>電子郵件</strong>（這個超容易忘記）</li>
</ul>
<h2 class="h-nomark" id="-小技巧-1在開始時確認雙方的聲音畫面都是清楚的">💪 小技巧 1：在開始時確認雙方的聲音、畫面都是清楚的<a class="h-anchor" href="#-%e5%b0%8f%e6%8a%80%e5%b7%a7-1%e5%9c%a8%e9%96%8b%e5%a7%8b%e6%99%82%e7%a2%ba%e8%aa%8d%e9%9b%99%e6%96%b9%e7%9a%84%e8%81%b2%e9%9f%b3%e7%95%ab%e9%9d%a2%e9%83%bd%e6%98%af%e6%b8%85%e6%a5%9a%e7%9a%84" aria-label="這個段落的連結"></a></h2>
<p>如果面試官的聲音模糊或太小聲，一定要即時反應不要怕；如果你聽不清楚題目，怎麼可能有辦法回答得好？</p>
<p>如果你有分享螢幕，一定要先確認對方有看到再繼續說；避免自己分享錯螢幕，或是對方沒看到的窘境。</p>
<h2 class="h-nomark" id="-小技巧-2盡量找有乾淨背景合適光源的場地">💪 小技巧 2：盡量找有乾淨背景、合適光源的場地<a class="h-anchor" href="#-%e5%b0%8f%e6%8a%80%e5%b7%a7-2%e7%9b%a1%e9%87%8f%e6%89%be%e6%9c%89%e4%b9%be%e6%b7%a8%e8%83%8c%e6%99%af%e5%90%88%e9%81%a9%e5%85%89%e6%ba%90%e7%9a%84%e5%a0%b4%e5%9c%b0" aria-label="這個段落的連結"></a></h2>
<p>如果在家進行遠端面試，請盡量找乾淨的背景，或使用軟體內建的虛擬背景（也可以上傳自己喜歡的背景）。</p>
<p>同時注意光源，背光會導致你的臉黑掉。</p>
<blockquote>
<p><strong>小提醒</strong>：在網路環境不佳的環境下使用糊化背景，你的人也會被糊化。</p>
</blockquote>
<h2 class="h-nomark" id="-小技巧-3盡量找安靜的環境">💪 小技巧 3：盡量找安靜的環境<a class="h-anchor" href="#-%e5%b0%8f%e6%8a%80%e5%b7%a7-3%e7%9b%a1%e9%87%8f%e6%89%be%e5%ae%89%e9%9d%9c%e7%9a%84%e7%92%b0%e5%a2%83" aria-label="這個段落的連結"></a></h2>
<p>如果周圍環境音太多會嚴重影響面試品質；如果在家面試，要提醒家人不要在面試時打擾自己。</p>
<p>同時建議不要在咖啡廳面試，因為大多數的咖啡廳都會播放背景音樂，附近的人如果講話太大聲也會影響收聽。</p>
<h2 class="h-nomark" id="-小技巧-4最好有雙螢幕">💪 小技巧 4：最好有雙螢幕<a class="h-anchor" href="#-%e5%b0%8f%e6%8a%80%e5%b7%a7-4%e6%9c%80%e5%a5%bd%e6%9c%89%e9%9b%99%e8%9e%a2%e5%b9%95" aria-label="這個段落的連結"></a></h2>
<p>這樣你在分享螢幕時較不容易錯亂，同時也方便即時做筆記、看小抄。</p>
<p>如果只有一個螢幕，那在簡報時就只能自己把講稿背下來了；但如果有雙螢幕，你就可以透過備忘錄提醒自己該講什麼。</p>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>面試過程發生的意外，對面試官來說是一種必然，因為他們只會聽一次而已。</p>
<p>建議每次面試前，都參考這篇文章檢核一次，不要讓這些可控管的風險，毀掉自己努力的成果！</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>你合作的獵頭有專業、夠了解你嗎？</title>
      <link>https://deanlin.net/blog/202304/is-your-headhunter-professional/</link>
      <pubDate>Wed, 19 Apr 2023 15:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202304/is-your-headhunter-professional/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>在工作一段時間後，如果將自己的履歷放到 LinkedIn、CakeResume 等平台，那你可能三不五時會收到獵頭（Headhunter）的信件與私訊。</description>
      <media:content url="https://deanlin.net/blog/202304/is-your-headhunter-professional/images/cover_hu_ac98fa846cc90c7e.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>在工作一段時間後，如果將自己的履歷放到 LinkedIn、CakeResume 等平台，那你可能三不五時會收到獵頭（Headhunter）的信件與私訊。</p>
<p>過去很多人對獵頭的第一印象是「專業」，認為透過他們就能找到一份高薪的工作。</p>
<p>但筆者與多位獵頭溝通合作後，發現並不是每個獵頭都具備「專業」，有些獵頭更像是用碰運氣的方式大量私訊工程師；但這種亂槍打鳥的結果，就是在與工程師溝通時，連他擅長的領域都搞不清楚…</p>
<p>會發生這種亂象，筆者認為是有些獵頭並沒什麼工作經驗，甚至少部分獵頭的第一份工作就是獵頭（聽起來有點荒謬對吧？）</p>
<blockquote>
<p><strong>給獵頭的良心建議</strong>：</p>
<p>每個人都有自己的專業，如果你今天要幫工程師媒合，至少要對他們的專業有基礎認知；像是媒合網頁工程師，你至少要理解前端、後端的差異，並且對常見的框架有基礎認知（起碼名字跟對應的程式語言要知道）。</p>
</blockquote>
<p><strong>筆者遇過最扯的獵頭</strong>，是傳送錯誤的面試時間…直接讓那場面試報銷（當天還有請特休…）。</p>
<p>不知道讀者看到這裡會不會覺得有點荒誕？但現在獵頭的專業水平真的落差極大，筆者也是有遇過幾個優秀的獵頭，現在這份工作也是在獵頭的幫助下才找到的。</p>
<p>以筆者與周圍朋友的經驗來說，與獵頭培養好的關係是有必要的，但絕對要「謹慎」選擇合作的對象，我會用以下幾點評估：</p>
<ol>
<li><strong>他了解你的背景與專業嗎？</strong><br>我不想吐槽，但真的有些獵頭連你的履歷都沒看過，就直接打電話聯繫…這簡直在敗壞獵頭名聲；如果不幸遇到這種的，筆者建議直接列入黑名單。</li>
<li><strong>他了解你現在從事的產業嗎？</strong><br>同樣是網頁工程師，在硬體廠、金融業、新創公司、政府單位…所擁有的專業技能其實有一定程度的差異，如果推薦不適合的工作機會，可能會讓求職者無法發揮所長（當然有些人是考量到職涯發展，特別選擇自己沒接觸過的產業）。</li>
<li><strong>獵頭過去的工作經驗，在這一行待多久了？</strong><br>誰都有是菜鳥的時候，但筆者相信絕大多數人都不太願意把攸關自己人生走向的任務交給經驗不豐富的人。</li>
<li><strong>過去主要推薦哪些產業的人才？</strong><br>人無全才，每個獵頭都有自己擅長的產業，你也可以先了解自己感興趣的產業對方是否熟悉，再思考後續的合作可行性。</li>
</ol>
<p>專業的獵頭能快速找出符合你需求的公司，就算他擅長的產業與你的需求不符，也會介紹其他同事幫你找，這就是我說與獵頭建立合作關係的好處。</p>
<p>一般來說我們不會沒事到處搜集公司資訊，但獵頭每天的工作就是搜集這些資料，把槓桿用在對的地方就能獲得更大的效益。</p>
<blockquote>
<p><strong>個人經驗</strong>：</p>
<p>獵頭相較於人資，更能帶給求職者公司內部的實際情況；畢竟大部分的人資不會透露自己公司的問題，但獵頭因為手上公司多，相對來說可以更客觀的分享這些資訊。</p>
</blockquote>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>為什麼你應該要「定期」面試？</title>
      <link>https://deanlin.net/blog/202304/why-interview-regularly/</link>
      <pubDate>Mon, 17 Apr 2023 15:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202304/why-interview-regularly/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>筆者知道準備面試很煩很累，在有工作的狀態下面試還要請假很違反人性；但我認為這麼做是值得的，在舒適圈待久了，我們容易忘記外面世界的空氣，相信每場面試都有你能學到的東西。</description>
      <media:content url="https://deanlin.net/blog/202304/why-interview-regularly/images/cover_hu_374f17cb0ea37b07.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<blockquote>
<p>良心建議：「不要等到要轉職的時候才開始面試。」</p>
</blockquote>
<p>筆者知道準備面試很煩很累，在有工作的狀態下面試還要請假很違反人性；但我認為這麼做是值得的，在舒適圈待久了，我們容易忘記外面世界的空氣，相信每場面試都有你能學到的東西。</p>
<h2 id="看見自己的盲點">看見自己的盲點<a class="h-anchor" href="#%e7%9c%8b%e8%a6%8b%e8%87%aa%e5%b7%b1%e7%9a%84%e7%9b%b2%e9%bb%9e" aria-label="這個段落的連結"></a></h2>
<p>習慣現在的工作模式後，我們通常會選擇自己最有把握的方式來解決問題。</p>
<p>久而久之，我們成長的只有年資，擁有的只有這間公司所需要的技能、以及公司裡面的人脈；如果沒有足夠的外力刺激，我們是看不到自己問題的。</p>
<p>而面試是一個非常棒的機會，因為對方不認識你，所以沒有預設立場；為了確保你是合適的人選，他們問的問題可不會那麼客氣。</p>
<p>在這一來一往的過程中，你更容易看見自己的盲點。</p>
<h2 id="提升自己的表達能力">提升自己的表達能力<a class="h-anchor" href="#%e6%8f%90%e5%8d%87%e8%87%aa%e5%b7%b1%e7%9a%84%e8%a1%a8%e9%81%94%e8%83%bd%e5%8a%9b" aria-label="這個段落的連結"></a></h2>
<p>有些技術儘管我們每天使用，但並不代表我們了解它，有辦法用對方能夠理解的語言表達它。</p>
<p>下面列幾個常見的問題，螢幕面前的你，有辦法清楚明瞭的回答嗎？</p>
<ul>
<li>可以說明一下最近專案的系統架構嗎？</li>
<li>在資料庫設計上，你會注重哪些細節？</li>
<li>過去工作上有遇過哪些挫折，你是如何面對與解決的？</li>
</ul>
<p>也許你知道每個題目的解答，但如果要用嘴巴說出來卻很容易卡住。</p>
<p>因為表達能力是需要訓練的，否則你陳述的內容會斷斷續續缺乏邏輯體系。</p>
<h2 id="保持危機感">保持危機感<a class="h-anchor" href="#%e4%bf%9d%e6%8c%81%e5%8d%b1%e6%a9%9f%e6%84%9f" aria-label="這個段落的連結"></a></h2>
<p>了解自己在其他公司眼中的「市場價值」。</p>
<p>很多人認為自己值得更好的薪水，但在離職後才發現是自己「高估」了。</p>
<p>現在市場的輪動速度相當快，技術也是日新月異；也許你現在能領到高薪，是因為「過去」的市場真的需要這門技術，但這並不代表「現在」的市場依舊需要。</p>
<blockquote>
<p>當然公司能給多少薪水也會跟「大環境」有關，如果在景氣不好的時候離職，即使有能力也未必能找到更好的工作。</p>
</blockquote>
<h2 id="增加自己的談判籌碼">增加自己的談判籌碼<a class="h-anchor" href="#%e5%a2%9e%e5%8a%a0%e8%87%aa%e5%b7%b1%e7%9a%84%e8%ab%87%e5%88%a4%e7%b1%8c%e7%a2%bc" aria-label="這個段落的連結"></a></h2>
<p>有些公司在明知你有卓越貢獻的狀態下也不願意加薪，如果對這間公司還有留戀；我的建議絕對不是什麼加強向上管理能力，或繼續努力總有一天會被發現的廢話，因為這些做法是否有效完全取決於上級的良心。</p>
<p>與其長期投資一個不確定的未來，又將最終決定權交到對方手上，還不如自己主動獲得談判權；如果你成功在其他公司拿到不錯的 Offer，不僅可以做為跟公司談判的籌碼，也保留了談判破局的後路。</p>
<p>不過在談判時，筆者建議用比較委婉的方式跟上級溝通，比如：「我不是很在意錢，只是最近剛好遇到了 XXX 的機會，他開了 YYY 的薪水讓我了解到自己的市場價值；但比起那些，我更想要留在這間公司跟大家繼續打拼，想了解有沒有調整的空間。」</p>
<blockquote>
<p><strong>這是殺手鐧，一間公司用一次就是極限了</strong>，即使是暗示也沒有人喜歡被威脅；部分公司會因為這些話給你貼上「不忠」的標籤，絕對要經過謹慎分析與思慮後再使用這招。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>有些人認為「面試」是一種對公司不忠的表現，但我認為面試是一種「提醒」自己與市場差距的行為。</p>
<p>如果等到「受夠了」才醒悟，那很多時候一切都已經晚了…</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>「國文」對工程師來說有多重要？</title>
      <link>https://deanlin.net/blog/202304/why-writing-matters-for-engineers/</link>
      <pubDate>Wed, 12 Apr 2023 16:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202304/why-writing-matters-for-engineers/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>筆者去年回到母校分享自己從高中、大學，到出社會的人生經驗。</description>
      <media:content url="https://deanlin.net/blog/202304/why-writing-matters-for-engineers/images/cover_hu_30aaddf3e77b16d0.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>筆者去年回到母校分享自己從高中、大學，到出社會的人生經驗。</p>
<p>在結尾 QA 時間時，有一個問題讓我印象深刻：「學長，請問你出社會這幾年來，覺得當初學校教的哪個”科目”對你而言幫助最大？」</p>
<p>收到這個問題的時候，我大腦轉了一圈，最終給出了一個連我自己都嚇一跳的答案：「我覺得是”國文”。」</p>
<p>當我說出這個答案時，底下的學生全部都笑翻了，我完全沒想到這個回答比演講中的任何一個笑話還更有效果；等大家稍微冷靜下來後，我再跟他們分析為什麼我覺得「國文」給我的幫助最大。</p>
<p>以筆者的從業經驗來說，大多數的工程師在工作 4~7 年後都具備相當的專業素養，獨立完成工作已經是基本能力，但如果想要在職場上更近一步，「國文」的重要性就變高了。</p>
<p>良好的國文能力，在以下幾個面向對工程師的職業生涯很有幫助：</p>
<ul>
<li><strong>溝通能力</strong>：在工作中我們不免要與同事、主管、客戶打交道。好的國文有助於清晰、有效地表達自己的觀點，促進團隊間的合作，並達到更好的工作成果。</li>
<li><strong>撰寫技術文件</strong>：工程師並不是把功能開發完就沒事了，他還要撰寫技術文件（ex：API 文件、測試報告）。一份優秀的技術文件，除了能同步技術資訊，還能幫助開發人員日後回憶。</li>
<li><strong>提案和報告</strong>：如果你負責主持一項專案，那勢必要撰寫提案，並定期向高層報告。如果能在提案與報告時清晰表達自己的思路，那高層會對你印象深刻，增加未來升職與加薪的籌碼。</li>
<li><strong>學習能力</strong>：在日新月異的科技領域，好的文字理解能力可以使你更快掌握新知識，提高學習效率。</li>
<li><strong>跨領域合作</strong>：隨著職涯發展，你的合作對象將不限於工程師，你可能要與其他領域的專家，或是沒有技術背景的人溝通。此時，如何用白話的方式讓其他人理解自己的專業，就是一個非常重要的能力。</li>
</ul>
<p>相信文章看到這裡，大家都能體會「國文」的重要性了；我們過去被交代撰寫技術文件、提案報告的時候可能不情不願。</p>
<p>但該完成的任務還是要完成，反正時間都要花下去，與其寫出一份大家都不滿意的文件，還不如多花點心思，嘗試寫出能幫助大家的文件，很<strong>多時候這些文件是在幫助未來的自己</strong>。</p>
<blockquote>
<p><strong>小提醒</strong>：</p>
<p>這篇文章不是在說技術不重要，若工程師沒有持續精進技術，就像是少了利爪和尖牙的老虎，是很容易被市場淘汰的。</p>
<p>即便當上主管，還是要保持對技術的敏感度，對這個話題有興趣的朋友，可以參考筆者先前寫的文章：「<a href="https://deanlin.net/blog/202211/tech-managers-must-know-tech/">技術部門主管不熟悉技術，就跟騎兵隊長不會騎馬一樣！</a>」。</p>
</blockquote>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>大家都知道不能惹準備要離職的工程師，但還有一種人千萬不能惹！</title>
      <link>https://deanlin.net/blog/202304/people-you-should-never-offend/</link>
      <pubDate>Mon, 10 Apr 2023 16:34:35 +0800</pubDate>
      <guid>https://deanlin.net/blog/202304/people-you-should-never-offend/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>公司有人離職，最倒霉的就是負責交接的那個人。</description>
      <media:content url="https://deanlin.net/blog/202304/people-you-should-never-offend/images/cover_hu_72aa975b7fb1b6bb.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>公司有人離職，最倒霉的就是負責交接的那個人。</p>
<p>有一定規模的公司，會將離職人員手上的工作平均分攤到不同人身上；但如果是小公司或是小部門，那可能交接對象就只有一個人。</p>
<p>大家都知道不能惹準備要離職的人，因為離職的人只要瘋起來，對公司、部門的危害性還是挺大的（筆者曾遇過直接格式化公司電腦的狂人）。</p>
<p>但有些公司會給負責交接的人極大壓力，可能是怕工作交接的不完整，又或是擔心他無法繼承對方的功力。</p>
<p>公司會這樣做也能理解，畢竟已經少了一名戰力，如果沒人把原先的業務承接下來，那未來的工作還真不好展開（專案的地雷如果沒有講清楚，那踩到的時候很可怕）。</p>
<p>可如果從交接人的角度來思考，他原本的工作量也許已經滿載了，如果此時還要承接其他人的業務，那真的是超負荷運轉；要是現在有個白目同事、主管還整天在問他交接狀況，萬一他哪天心情不好，<strong>是真的有可能來一趟說走就走的旅程</strong>。</p>
<p>交接人離職對公司來說是非常傷的，如果團隊規模在 10~20 人，那有可能這兩個就是唯一熟悉這塊業務的人。</p>
<blockquote>
<p>如果是專門接案的外包公司，千萬不要把人逼太緊；把人逼走了，誰來幫你完成案子？違約的罰金是很可怕的！</p>
</blockquote>
<p>在過往的職涯中，筆者已經不是第一次看到這種離職連環效應了，也許我們能用一些方法來減輕他們的負擔，並讓整個交接過程更加順利，比如：</p>
<ul>
<li><strong>交接對象要對業務本身有一定的熟悉度</strong>：像是網頁開發有分前端、後端，如果讓一個前端工程師去接手後端工程師的業務，我只能說做出這個決策的人心臟很大。</li>
<li><strong>建立一個交接檢核表</strong>：這個檢核表不僅可以讓交接對象更好地掌握業務內容，還可以讓相關同事和主管了解交接進度，減少對交接對象的詢問。</li>
<li><strong>訂定交接日程</strong>：需要有明確地日程，以確保交接進度符合預期，否則拖到最後幾天才交接往往會開天窗。</li>
<li><strong>盡可能降低交接人的工作負荷</strong>：交接絕對會佔用到工作時間，為了避免交接人不堪負荷一起走，盡可能排除他手中沒有必要性、即時性的任務（ex：各種參與意義不大的例會可以優先排除）。</li>
</ul>
<p>公司的人來來去去實屬正常，凡事留一線，日後好相見。</p>
<p>業界說大不大，說小不小，誰說得準日後還有沒有見面的機會，也不確定是以哪種形式見面。</p>
<p>當有人離開崗位時，我們應該要更加珍惜留下來的夥伴，切記：「準備離職的人不能惹，正在交接的人更不能惹！」</p>
<p>只有讓整個交接過程順利完成，才能為公司和團隊帶來正面影響。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>遇到「第一次」的問題被問何時能解決？PM 跟工程師都千萬別這樣說！</title>
      <link>https://deanlin.net/blog/202211/estimating-first-time-issues/</link>
      <pubDate>Mon, 14 Nov 2022 15:30:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202211/estimating-first-time-issues/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>站在專案管理的角度，每個時程估的越精確越好；但從開發實務面來說，不管是第一次接觸的技術，還是第一次遇到的 Bug，這類「第一次」的事件真的很難估出一個具體時間。</description>
      <media:content url="https://deanlin.net/blog/202211/estimating-first-time-issues/images/cover_hu_f48403cc0f86a73.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>站在專案管理的角度，每個時程估的越精確越好；但從開發實務面來說，不管是第一次接觸的技術，還是第一次遇到的 Bug，這類「第一次」的事件真的很難估出一個具體時間。</p>
<p>如果你擔任公司的 PM 或主管，在下次專案出現 Bug 時，不妨參考文章的方式來溝通；如果你是工程師，也能採用文章的建議，減少自己修 Bug 時被打擾的次數。</p>
<h2 id="釐清問題前盡量不要強壓時間">釐清問題前，盡量不要強壓時間<a class="h-anchor" href="#%e9%87%90%e6%b8%85%e5%95%8f%e9%a1%8c%e5%89%8d%e7%9b%a1%e9%87%8f%e4%b8%8d%e8%a6%81%e5%bc%b7%e5%a3%93%e6%99%82%e9%96%93" aria-label="這個段落的連結"></a></h2>
<p>有些主管在 Bug 出現後，根本不管問題複雜度，直接命令工程師：「給我在 15 分鐘內修復完成！」</p>
<p>如果是問題明確的小 Bug，那壓個時間倒也還好；但如果問題複雜度高，強壓一個不合理的時間，那對解決問題並沒有幫助。</p>
<p>說實話，遇到 Bug 的時候工程師就已經很緊張了，如果再加一個很短的時間限制；在腦袋一團亂的狀態下，就算解決了表面上的 Bug，可能背後又同時埋下了更多的 Bug。</p>
<p>筆者比較建議的詢問方式為：「大概需要多少時間釐清問題？」</p>
<blockquote>
<p>這裡想表達的是，讓有專業能力的人來估時間；而不是由搞不清楚狀況的人，隨意定一個時間。</p>
</blockquote>
<h2 id="工程師要主動給出回報時間">工程師要「主動」給出回報時間<a class="h-anchor" href="#%e5%b7%a5%e7%a8%8b%e5%b8%ab%e8%a6%81%e4%b8%bb%e5%8b%95%e7%b5%a6%e5%87%ba%e5%9b%9e%e5%a0%b1%e6%99%82%e9%96%93" aria-label="這個段落的連結"></a></h2>
<p><strong>要給的是「回報時間」，而不是「解決時間」。</strong></p>
<p>面對完全摸不著頭緒的問題，如果直接說自己可以在 xxx 時間內解決，那會給主管一個錯誤的期待。</p>
<p>如果你真的順利在時間內解決那是皆大歡喜，但萬一還是無法解決那怎麼辦？</p>
<blockquote>
<p>就算之前都運氣好順利解決，但只要你失敗過一次，許多主管就只會記得失敗的那次。</p>
</blockquote>
<p>因此筆者建議用這種方式回覆：「這邊我們先釐清問題，<strong>半小時</strong>後向您回報 Bug 處理狀況，如果有順利提前解決也會即時回報。」</p>
<p>這樣做有以下好處：</p>
<ol>
<li>主管知道什麼「時間點」會收到回報。</li>
<li>如果提前解決，你會被認為是效率高。</li>
<li>我們說的是「回報時間」並非「解決時間」，給自己一點緩衝空間。</li>
</ol>
<h2 id="工程師千萬別說自己會盡快解決">工程師千萬別說自己會「盡快」解決<a class="h-anchor" href="#%e5%b7%a5%e7%a8%8b%e5%b8%ab%e5%8d%83%e8%90%ac%e5%88%a5%e8%aa%aa%e8%87%aa%e5%b7%b1%e6%9c%83%e7%9b%a1%e5%bf%ab%e8%a7%a3%e6%b1%ba" aria-label="這個段落的連結"></a></h2>
<p>如果說自己會盡快解決，那有高機率每 3~5 分鐘就被打擾一次。</p>
<p>因為每個人對「盡快」的時間定義不同，人一但急了就會催促，而對工程師來說，如果在釐清邏輯時被打斷，那可能會需要再重新順一遍；所以筆者建議要說出「具體時間」，避免在解決問題的過程被頻繁打擾。</p>
<h2 id="總結">總結<a class="h-anchor" href="#%e7%b8%bd%e7%b5%90" aria-label="這個段落的連結"></a></h2>
<p>遇到 Bug 時，無論主管、PM 還是工程師都很緊張；但有時越急犯的錯越多，下次不妨嘗試看看：</p>
<ol>
<li><strong>讓工程師自己定下回報時間</strong>：建議將回報時間設定在 30 ~ 60 分鐘。</li>
<li><strong>回報時間內不要打擾工程師</strong>：大家都很急，如果耐不住性子打斷工程師的思緒，就可能導致需要更多的時間來解決 Bug。</li>
<li><strong>要求工程師定時回報處理進度</strong>：如果判定問題無法短時間解決，工程師就需要「定時」回報處理進度（若沒有定時回報的機制，有些人就算卡住了也不會主動說）；這個「定時」會給人增加一些安全感，並減少工程師被打擾的次數。</li>
</ol>
<p>希望這篇文章的建議，能讓大家日後遇到 Bug 時合作更為和諧；如果您有不一樣的觀點，也歡迎留言討論。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>程式可以向下相容，卻很難向上兼容？主管要下屬站在他的角度思考，卻忽略了這一點</title>
      <link>https://deanlin.net/blog/202211/backward-compatible-thinking/</link>
      <pubDate>Wed, 09 Nov 2022 16:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202211/backward-compatible-thinking/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>市面上有很多的文章在講「向上管理、從主管的角度去思考」；不過今天筆者想從另一個角度切入，不知道大家有沒有想過：「為什麼程式通常可以向下相容，但卻很難向上兼容。」</description>
      <media:content url="https://deanlin.net/blog/202211/backward-compatible-thinking/images/cover_hu_c4070e0ab47a17cd.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>市面上有很多的文章在講「向上管理、從主管的角度去思考」；不過今天筆者想從另一個角度切入，不知道大家有沒有想過：「為什麼程式通常可以向下相容，但卻很難向上兼容。」</p>
<blockquote>
<p>舉個簡單的例子，如果你有在玩電腦遊戲，一定會先看簡介裡的「系統需求」，避免買了跑起來卡頓，甚至開不了的遊戲。</p>
<p>以 STEAM 遊戲舉例，在「作業系統」的部分，可能會建議電腦要有「Windows 7 64 位元 （不支援 32 位元）」以上的配備，如果你的電腦還是 Windows XP 32 位元，那基本上是無法運行的。</p>
</blockquote>
<p><strong>當然人不會像程式一樣那麼死板，但也只能做出自己認知範圍內的決策。</strong></p>
<h2 id="沒有相同權力就很難擁有相同視野">沒有相同權力，就很難擁有相同視野<a class="h-anchor" href="#%e6%b2%92%e6%9c%89%e7%9b%b8%e5%90%8c%e6%ac%8a%e5%8a%9b%e5%b0%b1%e5%be%88%e9%9b%a3%e6%93%81%e6%9c%89%e7%9b%b8%e5%90%8c%e8%a6%96%e9%87%8e" aria-label="這個段落的連結"></a></h2>
<p>因為筆者曾擔任過 Developer、Project Manager、Tech Lead 等角色，所以很清楚如果沒有真的站在那個位置，就很難理解對方為何會做出這樣的決策；畢竟不同角色面對的人、事、物差異極大，彼此的情報也有很大的落差。</p>
<p>當然市面上有非常多管理學、人際學、溝通學的書籍可以參考，業界也有很多優秀的講師分享、傳授自己的經驗；但說真的…無論讀多少本書、上多少堂課，都遠遠比不上自己實戰得到的經驗。</p>
<p>這不是在說學習沒有用，如果你有深厚的理論知識，在未來面臨突發狀況時，你的應對進退一定會比那些完全沒有準備的人更加完善（這裡我們排除那些天賦異稟的領導者）。</p>
<h2 id="擴增自己的認知範圍">擴增自己的認知範圍<a class="h-anchor" href="#%e6%93%b4%e5%a2%9e%e8%87%aa%e5%b7%b1%e7%9a%84%e8%aa%8d%e7%9f%a5%e7%af%84%e5%9c%8d" aria-label="這個段落的連結"></a></h2>
<p>儘管職位不到，但我們還是有其他方法獲得實戰經驗。</p>
<p>就如同標題所述，大部分的主管都希望下屬站在他們的角度去思考，畢竟這樣他們交代任務會更為輕鬆。</p>
<blockquote>
<p>向上兼容是跳出舒適圈的過程，需要勇氣與毅力。</p>
</blockquote>
<p>在科技業，如果只站在工程師的角度，你可能會覺得沒必要幫主管想這麼多；但如果想在職涯上更進一步（ex：資深技術職、晉升管理職），懂主管在想什麼是非常重要的。</p>
<p>筆者建議要多與主管溝通，並適時表達自己的想法，在規劃任務時，可以看看自己與主管的想法是否一致；如果有分歧，可以與主管討論，了解他為何會做出這個決策（主管的決策也並非萬無一失，彼此的交流能讓規劃更為完整）。</p>
<p>這些交流是非常寶貴的，因為它讓你在取得權力前，能借用對方的視野去看問題，以此擴增自己的認知範圍；當然這一切的前提是，你有優秀的主管，並且他願意與你交流。</p>
<blockquote>
<p><strong>警告</strong>：</p>
<p>這邊特別提醒大家，如果主管要你幫忙做出「不符職權的重要決策」，筆者建議要裝傻推掉；因為有些主管將做決策的任務交給下屬，不是為了重用他，而是在找人背黑鍋。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>如果一直做相同的事，在職場只會獲得年資，待在久也不會提升自己的認知範圍。</p>
<p>而本文提出的方法，儘管無法擁有與主管相同的權力，但我們能借用主管的視野，透過一次次反饋去優化我們的思維。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>工作完成的太快也錯了嗎？身為工程師，你應該思考這幾件事</title>
      <link>https://deanlin.net/blog/202211/technice-25756/</link>
      <pubDate>Mon, 07 Nov 2022 17:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202211/technice-25756/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>在傳統價值觀中，越快完成工作，應該越有出頭的機會。</description>
      <media:content url="https://deanlin.net/blog/202211/technice-25756/images/cover_hu_5333189c6468b71d.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>在傳統價值觀中，越快完成工作，應該越有出頭的機會。</p>
<p>但工作幾年後，卻發現這個理論未必全然正確；有時工作效率高、產出多的人，未必會獲得公司認可、主管提拔，甚至在某些環境中還會遭到同事的排擠。</p>
<p>究竟是道德的淪喪，還是人性的扭曲？就讓我們透過這篇文章來分析原因。</p>
<h2 id="快速完成工作的同時品質有兼顧嗎">快速完成工作的同時，品質有兼顧嗎？<a class="h-anchor" href="#%e5%bf%ab%e9%80%9f%e5%ae%8c%e6%88%90%e5%b7%a5%e4%bd%9c%e7%9a%84%e5%90%8c%e6%99%82%e5%93%81%e8%b3%aa%e6%9c%89%e5%85%bc%e9%a1%a7%e5%97%8e" aria-label="這個段落的連結"></a></h2>
<p>有些新人在入職後，想儘快證明自己的價值，或是做出比同期更出色的成績。</p>
<p>這樣的出發點可以理解，但以程式開發來說，如果只在意速度而忽略品質，那產出的成果可能會有許多漏洞，比如：</p>
<ul>
<li><strong>考慮不夠周全</strong>：未將各種可能性考慮進去，像是對使用者輸入的參數缺乏限制及驗證。</li>
<li><strong>沒有撰寫測試程式</strong>：如果只透過簡單的人工測試就交付功能，那這樣在未來遇到 Bug 或改版時，就有可能動到原有的程式邏輯，但在上線出包後才發覺（ex：解決 Bug 上線後，發現這個改動造成其他功能出現新的 Bug）。</li>
<li><strong>開發重複功能</strong>：在多人合作的專案中，有些新需求在過去已經有人寫好了基礎函式，開發人員只要在這個基礎上擴充即可；但有些人開發憑直覺，常常寫了功能近乎一樣的函式而不自知。</li>
<li><strong>沒有考慮到程式碼的可重用性</strong>：如果程式在設計之初，沒考慮到現在開發的功能在未來可能會被重複使用，那就容易寫出高耦合性的程式，導致後續維護、擴充上的問題。</li>
</ul>
<h2 id="有時太快完成工作會造成其他人壓力">有時太快完成工作，會造成其他人壓力<a class="h-anchor" href="#%e6%9c%89%e6%99%82%e5%a4%aa%e5%bf%ab%e5%ae%8c%e6%88%90%e5%b7%a5%e4%bd%9c%e6%9c%83%e9%80%a0%e6%88%90%e5%85%b6%e4%bb%96%e4%ba%ba%e5%a3%93%e5%8a%9b" aria-label="這個段落的連結"></a></h2>
<p>這其實是看每間公司的氛圍，如果加入一間步調快的公司，那你會因為高效率獲得其他人的認可；但假使進入一間步調慢的公司，你就會因為高效率遭到其他人的排擠。</p>
<p>除了氛圍外，還有公司淡旺季的考量，有時淡季的任務做完就是做完了；就算你一直吵著要任務，主管手上也沒有合適的任務能指派給你，甚至會覺得你一直要任務讓他有點困擾。</p>
<blockquote>
<p><strong>小提醒</strong>：</p>
<p>儘管不是每間公司都這樣，但如果你做完手上的任務後，還自告奮勇幫同事完成他們的任務；長久下來，可能會變成你一個人要完成其他人的任務，並且被視為理所當然。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>透過這篇文章，相信大家能理解工作並不是求快就好。</p>
<p>但如果你工作效率高又能兼顧品質，那不妨好好<strong>利用剩餘的時間來提升自己</strong>，這邊筆者提出幾個方向給大家參考：</p>
<ul>
<li><strong>看過去的程式是否有改善空間</strong>：有些程式寫完當下覺得很棒，但過一段時間再去看，常常會發現有可以改善的地方，或是有更好的 Pattern 可以套用。</li>
<li><strong>觀摩高手的程式架構</strong>：模仿是成長最快的捷徑之一，有時看高手寫的程式，會產生：「喔！原來這個問題還能這樣解！」的想法。</li>
<li><strong>研究自己不夠了解的技術</strong>：有些專案是趕鴨子上架，我們對用到的技術並不是那麼了解；為了減少未來的隱患，建議利用這個空檔好好研究一下。</li>
<li><strong>研究自己感興趣的知識</strong>：這裡的知識並不限於技術，如果職涯想朝管理職的方向發展，也能多吸收這個領域的資訊。</li>
</ul>
<p>同樣的道理其實也適用於各行各業，希望這篇文章對大家有所幫助，也歡迎留言分享自己的想法。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>技術部門主管不熟悉技術，就跟騎兵隊長不會騎馬一樣！</title>
      <link>https://deanlin.net/blog/202211/tech-managers-must-know-tech/</link>
      <pubDate>Wed, 02 Nov 2022 16:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202211/tech-managers-must-know-tech/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>有些工程師在升上管理職後，因為忙於專案管理，所以會慢慢把技術放掉，都交給底下的人去學習、操作；但只要一放掉，隨著年齡的增長，技術會越來越難重拾回來。</description>
      <media:content url="https://deanlin.net/blog/202211/tech-managers-must-know-tech/images/cover_hu_228d7e1906e8f2e4.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<blockquote>
<p>最近身旁有位工程師朋友，他與筆者分享了部門主管在團隊 Tech Lead 離職後遇到的諸多問題，因為談話內容值得警惕，所以特別寫了這篇文章與大家分享。</p>
</blockquote>
<p>有些工程師在升上管理職後，因為忙於專案管理，所以會慢慢把技術放掉，都交給底下的人去學習、操作；但只要一放掉，隨著年齡的增長，技術會越來越難重拾回來。</p>
<p>接下來就讓我們來看看，如果技術部門主管不熟悉技術，那在團隊的 Tech Lead 離職後，他會遇到哪些困境。</p>
<h2 id="因為太久沒碰技術各項判斷能力大幅下降">因為太久沒碰技術，各項判斷能力大幅下降<a class="h-anchor" href="#%e5%9b%a0%e7%82%ba%e5%a4%aa%e4%b9%85%e6%b2%92%e7%a2%b0%e6%8a%80%e8%a1%93%e5%90%84%e9%a0%85%e5%88%a4%e6%96%b7%e8%83%bd%e5%8a%9b%e5%a4%a7%e5%b9%85%e4%b8%8b%e9%99%8d" aria-label="這個段落的連結"></a></h2>
<p>如果過去都靠 Tech Lead 協助判斷、整理報告，那現在只靠自己就會遇到許多問題：</p>
<ul>
<li><strong>用舊時代的技術評斷新時代的需求</strong>：科技日新月異，現在跟過去的技術也是天差地別，要一個只用過 HTML、CSS、JavaScript 的人，去判斷哪個前端框架更適合專案，說實話有點強人所難。</li>
<li><strong>無法判斷各項功能的合理估時</strong>：因為脫離技術太久，如果別人說這個功能會用到 xxx 技術所以會花很多時間，自己也很難判斷是否所言屬實。</li>
<li><strong>技術的可行性由別人說了算</strong>：有些 Feature 會需要用到新技術，但因為自己連開發環境都架不太起來，所以當別人說新技術不可行時也無從判斷。</li>
<li><strong>面試只能碰運氣找人才</strong>：因為現在專案用的技術自己都不太熟悉，所以在面試時很難提出適當的技術問題，只能從對方的從業經驗來判斷。</li>
</ul>
<blockquote>
<p>這邊筆者補充一下，如果團隊氣氛和諧，每個人都有自己的專業，那上面所提出的問題是有機會避免的（前提是大家估時都很有良心、評估技術時都拿出專業態度，面試時主管也願意讓團隊成員一起參與）。</p>
</blockquote>
<h2 id="想要重拾技術但是">想要重拾技術，但是…<a class="h-anchor" href="#%e6%83%b3%e8%a6%81%e9%87%8d%e6%8b%be%e6%8a%80%e8%a1%93%e4%bd%86%e6%98%af" aria-label="這個段落的連結"></a></h2>
<p>朋友說他的部門主管是想重拾技術的，但這個想法有點力不從心（部門主管年紀約 40 出頭，脫離技術近 8 年），主要原因為：</p>
<ul>
<li><strong>上班沒時間，下班沒體力</strong>：當初會放掉技術，就是因為上班忙於專案管理、談判溝通，還有一些行政上的雜事；而下班後精疲力盡，能學習的時間太少。</li>
<li><strong>太久沒碰技術，挫折感太大</strong>：好不容易擠出時間學習了，卻發覺現在的技術都看不太懂，連跑範例程式都要搞一段時間，學習與理解能力跟年輕時相比衰退了不少。</li>
<li><strong>快要學不動了</strong>：過去的技術相對單純，而近幾年技術則是爆炸性的成長，框架、套件、雲端服務如雨後春筍般出現，要學的東西越來越多。</li>
</ul>
<blockquote>
<p>30 歲跟 40 歲的學習能力、身體素質還是有一定差別的，隨著年齡增長、職務上升，技術要跟上潮流確實有其困難性，我們只能盡可能地保持對技術的敏銳度，至少要理解現在專案用了哪些技術。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>相信上面的案例已經充分地讓大家體會到，如果技術部門主管不熟悉技術，又沒人能給出合適的建議時，他將會面臨的種種痛點。</p>
<p>最後再統整一下筆者與朋友聊完後的心得：</p>
<ol>
<li>不要因為當上「管理職」就完全把技術放掉。</li>
<li>技術不要完全倚賴副手（ex：Tech Lead），你要隨時做好自己面對的準備。</li>
<li>不要讓自己落入重拾技術的窘境，要盡可能保持對技術的敏銳度。</li>
</ol>
<blockquote>
<p>只要還待在科技業，就不要輕易放棄技術；因為你很難保證自己永遠都是「管理職」，或是只需要做管理職的事。</p>
</blockquote>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>部分工程師的薪水比主管還高！工程師一定要升管理職嗎？</title>
      <link>https://deanlin.net/blog/202210/engineers-earning-more-than-managers/</link>
      <pubDate>Mon, 31 Oct 2022 16:40:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/engineers-earning-more-than-managers/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>筆者認為「升管理職」並不是達成目標後去享受成果，而是面臨下一個更嚴峻的挑戰。</description>
      <media:content url="https://deanlin.net/blog/202210/engineers-earning-more-than-managers/images/cover_hu_5c9e8851ef1f7ecb.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>筆者認為「升管理職」並不是達成目標後去享受成果，而是面臨下一個更嚴峻的挑戰。</p>
<p>寫這篇文章前，我訪談了周圍擔任工程師的朋友們（年齡介於 28~35），結果發現大部分的人對晉升管理職都興趣缺缺，如果把大家的想法整合一下，可以用一句話概括：「我們想擔最少的責任，然後盡可能領到更多的錢。」</p>
<p>其實這個結論有點顛覆筆者過去的認知，但在個別深聊後，覺得從他們的角度來說的確如此；因此這篇文章想跟大家聊聊「升管理職是為了什麼？」以及「為什麼不想升管理職？」這兩個議題。</p>
<h2 id="升管理職是為了什麼">升管理職是為了什麼？<a class="h-anchor" href="#%e5%8d%87%e7%ae%a1%e7%90%86%e8%81%b7%e6%98%af%e7%82%ba%e4%ba%86%e4%bb%80%e9%ba%bc" aria-label="這個段落的連結"></a></h2>
<p>這個問題每個人都有不同的解答，但大體上圍繞以下幾點：</p>
<ul>
<li><strong>薪水提升</strong>：管理職通常會有「主管加給」，職稱的提升也讓薪水有更高的上升空間。</li>
<li><strong>職涯發展</strong>：有管理經驗後，在找工作時有更多的談判籌碼；即使下份工作沒有直接擔任管理職，也會成為未來主管的儲備人選。</li>
<li><strong>掌握權力</strong>：擔任基層時只能聽命行事，完成自己範圍內的任務；而升上管理職後可以分配任務，組織大家共同完成更大的目標。</li>
<li><strong>自我實現</strong>：因為看不慣過去主管的所作所為，所以想透過升官掌權來改變組織風氣，帶領團隊做出自豪的產品。</li>
</ul>
<h2 id="為什麼不想升管理職">為什麼不想升管理職？<a class="h-anchor" href="#%e7%82%ba%e4%bb%80%e9%ba%bc%e4%b8%8d%e6%83%b3%e5%8d%87%e7%ae%a1%e7%90%86%e8%81%b7" aria-label="這個段落的連結"></a></h2>
<p>筆者再次強調，因為周圍的朋友多為「工程師」，所以他們不想升管理職的原因，可能與其他產業不盡相同：</p>
<ul>
<li><strong>薪水提升不如預期</strong>：如果公司的主管加給大約落在「5000 元」上下，這對有些工程師來說並不划算，因為管理職要負擔的責任大幅增加；對某些工程師來說，他們更傾向透過提升專業技能來獲取加薪。</li>
<li><strong>管理職薪水未必更高</strong>：在科技業有個神奇的現象，那就是<strong>有些工程師的薪水比主管更高</strong>；因為實際產出成果的是工程師，擁有高度專業的工程師，有時比主管更難取代。</li>
<li><strong>想喘口氣都難</strong>：當工程師時，在完成任務後可以稍微喘口氣；但當上主管後，不僅要確認每個人都在進度上，還要不時應對來自高層的壓力，如果團隊有人出包就等於自己出包，除此之外還要出席大小會議，幾乎不會有任何喘息空間（當然也是存在少數悠哉過日子的主管）。</li>
<li><strong>不想管理人</strong>：很多人只是想在專業領域不斷提升，他們真的沒有權力慾，也不想一直與人溝通。</li>
<li><strong>不想升官後與同事關係變尷尬</strong>：過去跟你聊天打屁的同事，在你成為他們的主管後，因為彼此立場的改變，談話內容與關係一定會受到影響。</li>
</ul>
<blockquote>
<p><strong>場外小故事</strong>：</p>
<p>筆者身旁有位朋友對升管理職感到後悔，他原本以為升職後會獲得團隊的主控權，可以改善許多冗贅流程；結果把計畫上呈給高階主管時，直接被約去喝茶，聊天的主體內容是：「不要試圖改變既有流程！」</p>
<p>不久後這位高階主管提出一個普通人看到都會覺得不可行的計畫，朋友在看到後委婉的提出自己的看法，但高階主管卻對他說：「我只是告訴你我的計畫，反正到會議上挺我就對了！」</p>
<p><strong>如果高階主管只是想找個聽話的人來當傀儡，那夾在中間的主管就算有抱負也很難實踐。</strong></p>
</blockquote>
<h2 id="想跟大家聊聊">想跟大家聊聊<a class="h-anchor" href="#%e6%83%b3%e8%b7%9f%e5%a4%a7%e5%ae%b6%e8%81%8a%e8%81%8a" aria-label="這個段落的連結"></a></h2>
<p>是否「升管理職」與是否「轉職」，這兩件事都要抱持「謹慎」的態度來思考、分析。</p>
<p>如果升管理職只是為了加薪，那筆者勸你三思；因為加薪的方式有很多種，而升管理職可能是 CP 值相對較低的一種。</p>
<p>不過讀者也不要因為這篇文章，而打消升管理職的念頭；畢竟不管是人生還是職涯，在實際進入那個角色前，都很難確定自己是否合適，我們能做到的只有冷靜分析。</p>
<p>這篇文章所提出的，也僅是「升管理職」所需要考慮的冰山一角，大家如果有不一樣的觀點，也歡迎留言討論。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>同甘共苦的同事從工程師升主管，下一步我該怎麼做？</title>
      <link>https://deanlin.net/blog/202210/colleague-promoted-to-manager/</link>
      <pubDate>Wed, 26 Oct 2022 16:15:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/colleague-promoted-to-manager/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在職場上，除非升官的人德高望重，或比自己強大太多；否則很多人的腦中都會浮現：「為什麼升官的人不是我？」</description>
      <media:content url="https://deanlin.net/blog/202210/colleague-promoted-to-manager/images/cover_hu_4d445a4c241308f0.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<blockquote>
<p>過去同甘共苦，一起熬夜加班罵主管的同事，如今搖身一變，成了自己的直屬主管。</p>
<p>在升官後，他變得越來越陌生，不只講話的態度不一樣，還做出許多自己曾經唾棄的決策，他這樣跟之前的主管有什麼差別？</p>
</blockquote>
<p>在職場上，除非升官的人德高望重，或比自己強大太多；否則很多人的腦中都會浮現：「為什麼升官的人不是我？」</p>
<p>如果你腦中出現這個想法，那日後與新主管合作時，就可能產生一些主觀意識造成的偏見；為了盡可能減少偏見帶來的衝突，今天這篇文章會與大家討論：</p>
<ol>
<li>心理因素造成的偏見有哪些？</li>
<li>如何調適自己的心態？</li>
<li>站在對方的角度去思考，爭取下次升官機會。</li>
</ol>
<blockquote>
<p><strong>備註</strong>：本文不討論同事升官後性情大變、整組壞掉的情境。</p>
</blockquote>
<h2 id="心理因素造成的偏見">心理因素造成的偏見<a class="h-anchor" href="#%e5%bf%83%e7%90%86%e5%9b%a0%e7%b4%a0%e9%80%a0%e6%88%90%e7%9a%84%e5%81%8f%e8%a6%8b" aria-label="這個段落的連結"></a></h2>
<p>如果你也想升官，但最後升的不是你；那在心理不平衡的時候，容易帶著有色眼鏡去看對方的所有行動，比如：</p>
<ul>
<li>討論解決方案時對方講話比較大聲 ➝ 你會覺得：「有官威喔！升官後講話口氣都不一樣了。」</li>
<li>指派只有你能解決的困難任務 ➝ 你會想：「怎麼難搞的任務都丟給我？是故意的吧！」</li>
</ul>
<p>也許你們的溝通方式沒有改變，而你也比較擅長解決某些問題；但在對方升官後，偏見會導致你覺得對方無論做什麼都是錯的，就算他沒這個意思也容易被曲解。</p>
<blockquote>
<p>升官是綜合因素考量，沒升上去不代表你比較差，只是對方的某些條件比你更為合適（ex：更懂主管的心、具備群眾基礎、過去展現過領導力）。</p>
</blockquote>
<h2 id="調整自己的心態">調整自己的心態<a class="h-anchor" href="#%e8%aa%bf%e6%95%b4%e8%87%aa%e5%b7%b1%e7%9a%84%e5%bf%83%e6%85%8b" aria-label="這個段落的連結"></a></h2>
<p>很多時候我們覺得換個位置就換個腦袋，假使對方是工程師升管理職，那你可能還會對他升官後的許多決策感到不解，比如：</p>
<ul>
<li>這個需求一定要加班才有辦法完成，不久前你也是工程師，應該很清楚啊！？</li>
<li>過去我們不是都在吐槽前主管亂接需求，怎麼換了你還是一樣什麼都接？</li>
<li>這個時程估的太緊繃了，之前專案怎麼爆掉的你都忘了嗎？</li>
</ul>
<p>我們感到困惑的同時，可以思考一個問題：「是不是之前的主管也是這樣？」</p>
<p>公司不會因為換一個主管就減輕部門壓力（沒增加就很好了），因此除非新主管有能力優化工作流程，或是擁有極強的職場社交能力；否則對基層來說，換誰上去都差不多。</p>
<p>在理解對方的無奈後，如果沒有離職的打算，就要調整自己的心態，無論感性還是理性都要把對方當成自己的主管，以後說的話、做的動作也要注意界線，像是：</p>
<ul>
<li>以前你們一起罵主管，如果現在你還敢直接批評就可能要倒霉了。</li>
<li>過去如果會勾肩搭背，現在建議避免這類肢體動作。</li>
</ul>
<blockquote>
<p>每間公司的文化不同，請依實際狀況酌情參考。</p>
<p>但這不是指主管說什麼都要附和，如果公司只剩下一種聲音，那也不是健康的狀況。</p>
</blockquote>
<h2 id="站在對方的立場成為副手">站在對方的立場，成為副手<a class="h-anchor" href="#%e7%ab%99%e5%9c%a8%e5%b0%8d%e6%96%b9%e7%9a%84%e7%ab%8b%e5%a0%b4%e6%88%90%e7%82%ba%e5%89%af%e6%89%8b" aria-label="這個段落的連結"></a></h2>
<p>很多人在升官後是恐慌的，如果這時有人可以跟他站在同一陣線，他會特別有印象。</p>
<p>這邊提醒一點，你要成為的是「副手」而不是「奴隸」；幫主管最好的方式並不是替他把事情做完，而是讓其他人也願意服從新主管的命令。</p>
<p>「雪中送炭」才會被人記住，跟主管關係良好，與同事合作順利；如果之後有合適的主管缺，或主管再次升官時，你會比其他人有更高的機率升官。</p>
<blockquote>
<p>對工程師來說，做事的能力很重要；但如果想在一間工作待得舒服，無論你想不想升官，做人都是很重要的（至少不要跟主管起衝突，跟同事吵架）。</p>
</blockquote>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>明明是專案經理，卻變傳聲筒！身為 PM 你有了解大家的「專業」嗎？</title>
      <link>https://deanlin.net/blog/202210/pm-not-a-messenger/</link>
      <pubDate>Mon, 24 Oct 2022 17:10:32 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/pm-not-a-messenger/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在文章開始前，想請大家先思考一個問題：「如果公司錄取一個沒有相關背景的人來當 PM；是 PM 的問題，還是公司的問題呢？」</description>
      <media:content url="https://deanlin.net/blog/202210/pm-not-a-messenger/images/cover_hu_915b911f972e39c0.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>在文章開始前，想請大家先思考一個問題：「如果公司錄取一個沒有相關背景的人來當 PM；是 PM 的問題，還是公司的問題呢？」</p>
<p>以筆者的角度來看，錄取一個不合適的人是主管的問題，但這又牽扯到公司願意在這個職位撥多少預算；如果預算有限，主管通常會選一個「感覺」有潛力的新人，先找進公司再做培養。</p>
<p>但被錄取的菜鳥 PM 真的很可憐；在缺乏專業能力的狀態下，他很容易變成主管、客戶、合作部門的傳聲筒，運氣差點還會成為 RD 的受氣包。</p>
<blockquote>
<p>當傳聲筒除了無法獲得成就感外，也容易厭倦工作環境待不久。</p>
</blockquote>
<h2 id="如何脫離傳聲筒">如何脫離傳聲筒？<a class="h-anchor" href="#%e5%a6%82%e4%bd%95%e8%84%ab%e9%9b%a2%e5%82%b3%e8%81%b2%e7%ad%92" aria-label="這個段落的連結"></a></h2>
<p>PM 是部門對外的聯繫窗口，每天會收到來自各方的訊息。</p>
<p>但在剛到職的時候，菜鳥 PM 會有一種無力感，因為在對專案、部門、文化都不熟悉的狀態下，他只能扮演「傳聲筒」的角色，沒有處理訊息的能力，只能單純的轉發。</p>
<p>如果想脫離傳聲筒，首先要對收到的訊息有自己的看法，並有能力給出合適的處理方案；但想跨出這一步並不容易，因為看懂訊息本身就是一個門檻，如果看不懂訊息還亂回，只會把事情弄得更糟。</p>
<h2 id="了解大家的專業">了解大家的專業<a class="h-anchor" href="#%e4%ba%86%e8%a7%a3%e5%a4%a7%e5%ae%b6%e7%9a%84%e5%b0%88%e6%a5%ad" aria-label="這個段落的連結"></a></h2>
<p>傳聲筒人人能當，所以沒有人會重視傳聲筒。</p>
<p>當然這不是說傳聲筒完全沒有意義，當 A 不想跟 B 直接聯繫時，就可以透過傳聲筒來轉達消息；又或者有些主管不想親自安排工作，就會列出清單讓傳聲筒來指派任務。</p>
<blockquote>
<p>不過比起 PM，筆者覺得上面的工作內容更像是助理在做的。</p>
</blockquote>
<p>想讓自己從「傳聲筒」進化為溝通的「橋樑」，關鍵點在於你了解大家的「專業」；每個行業都有自己的專業術語、不同的部門對同一個名詞也會有不同的解釋；如果想協調各部門的資源，PM 就需要像個翻譯員，把資訊轉換成大家都能迅速理解與吸收的語言。</p>
<blockquote>
<p>資訊落差、認知不同是許多衝突的起點，如果能讓彼此都了解對方想表達的意涵，合作會更為順暢。</p>
</blockquote>
<h2 id="對專案有更高的掌握度">對專案有更高的掌握度<a class="h-anchor" href="#%e5%b0%8d%e5%b0%88%e6%a1%88%e6%9c%89%e6%9b%b4%e9%ab%98%e7%9a%84%e6%8e%8c%e6%8f%a1%e5%ba%a6" aria-label="這個段落的連結"></a></h2>
<p>擁有專業後，就能理解每個「訊息、命令」背後的意義，這對專案是非常有幫助的，比如：</p>
<ol>
<li>能分辨對方提出的需求是否合理</li>
<li>收到 Bug 時，有辦法初步判斷問題點與負責人</li>
<li>遇到緊急狀況時，知道哪位 Key man 能處理</li>
<li>對任務估時更有概念</li>
<li>溝通較不容易被唬爛</li>
</ol>
<p>如果擔任 PM 時能做到以上事項，會發現專案越跑越順，原本跟你作對的人，也會認同你的工作能力。</p>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>PM 這個職位並不會熟能生巧，因為筆者看過有些人，一當傳聲筒就是好幾年。</p>
<p>但我相信絕大多數人選擇 PM 這個職位，並不是為了當傳聲筒；而是想在公司與大家齊心協力，一起做出讓眾人感到驕傲的產品。</p>
<p>筆者認為對 PM 來說，進入新領域並不算突破舒適圈，有能力在新領域彙整資源，使部門效益最大化才稱得上突破舒適圈。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>規格改了又改，工程師除了加班還能做些什麼？</title>
      <link>https://deanlin.net/blog/202210/handling-changing-specs/</link>
      <pubDate>Wed, 19 Oct 2022 16:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/handling-changing-specs/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>工程師心想：「前幾天熬夜加班，好不容易才做出來的功能，居然今天一上班規格又要改！我加班到底是為了什麼？」</description>
      <media:content url="https://deanlin.net/blog/202210/handling-changing-specs/images/cover_hu_979120a39d45fc39.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>工程師心想：「前幾天熬夜加班，好不容易才做出來的功能，居然今天一上班規格又要改！我加班到底是為了什麼？」</p>
<p>我想上面這個情境，應該在許多公司不斷上演；規格變更的原因很多，比如：</p>
<ol>
<li>客戶突然想要增加／修改／刪除某個功能，而 PM 無力阻擋、談判。</li>
<li>規格打從一開始就有問題，但開發到一半才發現。</li>
<li>規格本身很模糊，每個人對規格的見解都不一樣，導致做出來的成品不符預期。</li>
</ol>
<p>問題千千萬萬，但總歸都跟「人」有關係。</p>
<p>在文章開始前，筆者先跟大家取得一個共識：「<strong>PM 不是萬能的存在，客戶也沒那麼好溝通，規格一次到位的可能性趨近於零。</strong>」</p>
<p>在認知到規格變更是必須要面對的狀況後，我們接著來討論：「如何減少非必要的規格變更，盡可能降低自己的 Loading。」</p>
<h2 id="準備相關證據">準備相關證據<a class="h-anchor" href="#%e6%ba%96%e5%82%99%e7%9b%b8%e9%97%9c%e8%ad%89%e6%93%9a" aria-label="這個段落的連結"></a></h2>
<p>因為規格變更導致工程師加班的狀況並不罕見，但有些工程師的抱怨，會被不明事理的主管認為是能力不足。</p>
<p>為了避免上述狀況發生，我們需要準備「具體可量化」的證據，筆者建議從幾個面向來準備：</p>
<ol>
<li><strong>記錄每次規格變更</strong>：有些規格變更並不是在會議上提出，而是透過私訊、電話或口頭告知，這些紀錄全部都要保存；如果團隊有使用專案管理系統，就能更好的記錄這些變更是由誰提出的（別忘記 tag 提出的人）。</li>
<li><strong>紀錄每次規格變更所增加的工時</strong>：絕大多數的規格變更，都需要花更多的時間來處理，這些時數都要記錄下來。</li>
<li><strong>哪些規格變更是可以避免的</strong>： 有些規格變更，是因為一開始根本沒想清楚，只是單純把客戶的需求寫上規格，這類問題有機會透過內部溝通協調來改善。</li>
</ol>
<h2 id="與主管溝通">與主管溝通<a class="h-anchor" href="#%e8%88%87%e4%b8%bb%e7%ae%a1%e6%ba%9d%e9%80%9a" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>建議一開始先跟 PM 溝通，如果溝通多次無果（請留存證據）再去找主管。</p>
</blockquote>
<p>與主管溝通時記得拿出先前準備的「證據」，並強調以下幾點：</p>
<ol>
<li>頻繁的更動規格，會影響到專案穩定性（ex：測試程式都需要改寫）。</li>
<li>建議先與客戶在規格上取得共識後，再進行開發（ex：先用 Wireframe 讓客戶確認流程），避免重工浪費時間。</li>
<li>自己不是不能接受規格變更，但 A、B、C… 這幾項規格變更應該是可以避免的。</li>
<li>現在的 Loading 實在太重（提出因規格變更導致的加班時數），假使規格變更無法避免，是否有補充人力或延長專案交期的可能性。</li>
</ol>
<p>有些問題應該是主管要自己發現並去解決的，但主管日理萬機，偶有遺漏在所難免；我們能做到的就是透過「證據」把問題攤在陽光下，並說出建議的改善方向。</p>
<blockquote>
<p>筆者過去曾<a href="https://deanlin.net/blog/202208/engineers-stop-speaking-up-2/">寫過一篇文章</a>，分享主管面對問題時會考慮的點。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>如果問題是長時間累積下來的，那想在短時間，或透過一套方案解決並不現實。</p>
<p>假使提出證據，並且充分溝通後還是沒有改善的跡象；而你也無法忍受這樣的工作環境，也許是時候考慮自己職涯了。</p>
<p>人，不是只有在痛苦的環境中才能成長；在合適的環境中，成長才會更加快速。</p>
<blockquote>
<p>轉職一定要經過謹慎評估，筆者僅是提出個人觀點。</p>
</blockquote>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>專案出包，該先抓戰犯還是抓問題？主管的下一步可以這樣做</title>
      <link>https://deanlin.net/blog/202210/blame-or-fix-after-incidents/</link>
      <pubDate>Mon, 17 Oct 2022 16:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/blame-or-fix-after-incidents/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>只要專案出包，首當其衝的通常是團隊主管；他不僅要面對上層的壓力，還要思考下一步如何組織團隊解決問題。</description>
      <media:content url="https://deanlin.net/blog/202210/blame-or-fix-after-incidents/images/cover_hu_89c892f8a024e1ff.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>只要專案出包，首當其衝的通常是團隊主管；他不僅要面對上層的壓力，還要思考下一步如何組織團隊解決問題。</p>
<p>如果處理過程情緒管理不當，或是方法錯誤，就可能衍生出更多問題，甚至讓類似的問題一再發生。</p>
<h2 id="恢復理智整理思緒">恢復理智，整理思緒<a class="h-anchor" href="#%e6%81%a2%e5%be%a9%e7%90%86%e6%99%ba%e6%95%b4%e7%90%86%e6%80%9d%e7%b7%92" aria-label="這個段落的連結"></a></h2>
<p>專案出包後，有些高層會先把主管找過去痛罵一頓。</p>
<p>只要是人都會有情緒，沒人在被罵完後還能保持好心情；但如果把情緒帶到接下來的緊急會議上，就可能把問題擴散的更廣。</p>
<p>試想，如果會議開場你直接把脾氣發洩到成員身上，他們會是怎樣的心情？搞不好罵完後，有些人直接辭職不幹了（這個狀況如今並不罕見）。</p>
<p>因此筆者建議：「<strong>無論多想罵人，先讓自己恢復理智，確保自己能心平氣和的處理問題後，再召開緊急會議。</strong>」</p>
<h2 id="召集相關人員開緊急會議">召集相關人員開緊急會議<a class="h-anchor" href="#%e5%8f%ac%e9%9b%86%e7%9b%b8%e9%97%9c%e4%ba%ba%e5%93%a1%e9%96%8b%e7%b7%8a%e6%80%a5%e6%9c%83%e8%ad%b0" aria-label="這個段落的連結"></a></h2>
<p>主管，尤其是技術部門主管，他們在收到回報後，往往能很快判斷出問題是誰造成的；但很多時候：「<strong>出包的人，未必有解決問題的能力，抓戰犯，對解決問題也沒有幫助。</strong>」</p>
<p>筆者不建議在會議中把矛頭指向特定人士，比較好的做法應該是先讓與會人了解以下幾點：</p>
<ol>
<li>問題的嚴重性、影響範圍。</li>
<li>問題有多緊急，需要在 XXX 時間內解決。</li>
<li>我判斷問題可能源自於 XXX…</li>
<li>我會跟你們一起面對問題！</li>
</ol>
<p>待大家了解問題後，詢問是否有人熟悉這塊功能，並儘可能<strong>安排兩個人</strong>一起解決問題（Pair programming）。</p>
<blockquote>
<p>在高壓的狀態下，一個人獨自面對問題容易鑽牛角尖，甚至情緒不穩崩潰；但多一個人在身邊，除了能給予不同的想法外，還能起到彼此鼓勵的效果（當然這也是看人）。</p>
</blockquote>
<h2 id="問題解決後">問題解決後<a class="h-anchor" href="#%e5%95%8f%e9%a1%8c%e8%a7%a3%e6%b1%ba%e5%be%8c" aria-label="這個段落的連結"></a></h2>
<p>向高層回報問題已經解決後，如果還在上班時間，建議趁大家記憶猶新的時候，立刻開會討論：</p>
<ol>
<li>問題發生的原因？</li>
<li>現有工作流程是否需要調整？</li>
<li>這類問題是否有可能避免，如果有，我們該如何制訂標準？</li>
<li>如果再次發生類似的問題，是否有更好的處理方式？</li>
</ol>
<p>於會議結尾，記得再次感謝大家的辛勞；<strong>就算是出包的人解決問題，也不要吝嗇對他的感謝。</strong></p>
<blockquote>
<p>如果是加班解決問題，建議隔天再開會討論；要是硬在大家都很疲憊的狀態下開會，得出的結論通常沒有什麼參考價值。</p>
</blockquote>
<h2 id="等出包的人冷靜後">等出包的人冷靜後<a class="h-anchor" href="#%e7%ad%89%e5%87%ba%e5%8c%85%e7%9a%84%e4%ba%ba%e5%86%b7%e9%9d%9c%e5%be%8c" aria-label="這個段落的連結"></a></h2>
<p>除非出包的人不想幹了，不然在出包當下，最緊張的應該是導致問題發生的人。</p>
<p>但如果第一時間找他問罪，他有很大的機率會把精力放在推諉卸責，而不是解決問題身上；所以建議等問題解決且出包的人冷靜後，再單獨找他約談。</p>
<p>談話過程中，<strong>除了讓對方認知到自己的錯誤，還要使他明白再犯可能要面臨的懲處</strong>。</p>
<blockquote>
<p>有些主管在問題解決後就想說算了，但如果沒有適當的警告，可能讓出包的人認為犯錯也沒什麼大不了的。</p>
</blockquote>
<h2 id="想跟讀者聊聊">想跟讀者聊聊<a class="h-anchor" href="#%e6%83%b3%e8%b7%9f%e8%ae%80%e8%80%85%e8%81%8a%e8%81%8a" aria-label="這個段落的連結"></a></h2>
<p>每個主管都有自己的領導風格，因此想詢問讀者，當專案出包的時候，你們的主管都是如何處理的呢？你認同主管的處理方式嗎？</p>
<p>又或者你本身就是主管，面對這種突發狀況，你是如何應對進退的呢？有沒有可以分享的小撇步？</p>
<p>歡迎大家分享自身經驗，或許你的留言可以幫助到有需要的人。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>想讓「專案執行」更加順利？工程師與 PM 間的合作要注意這點！</title>
      <link>https://deanlin.net/blog/202210/engineer-pm-project-execution/</link>
      <pubDate>Wed, 12 Oct 2022 16:45:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/engineer-pm-project-execution/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在上篇文章中，筆者介紹了正式開發前的初始任務有哪些。</description>
      <media:content url="https://deanlin.net/blog/202210/engineer-pm-project-execution/images/cover_hu_bab6af5cc4237a8d.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p><a href="https://deanlin.net/blog/202210/team-workflow-initial-tasks/">在上篇文章中</a>，筆者介紹了正式開發前的初始任務有哪些。</p>
<p>今天就讓我們來聊聊「專案執行」時，如何讓合作的過程更加順利。</p>
<p>以筆者過去的經驗來說，團隊合作免不了要「溝通」，但每個人的溝通能力落差極大，有些人總覺得對方是自己肚子裡的蛔蟲，因此詢問問題、交付任務都沒說明細節，時常需要你來我往的多次確認。</p>
<p>為了減少彼此的衝突，我們可以針對常見的合作情境設計「格式」與「規範」。</p>
<h2 id="工作記錄work-log">工作記錄（Work Log）<a class="h-anchor" href="#%e5%b7%a5%e4%bd%9c%e8%a8%98%e9%8c%84work-log" aria-label="這個段落的連結"></a></h2>
<p>如果團隊有使用專案管理系統，為了日後方便追溯與釐清狀況，建議填寫的內容如下：</p>
<ul>
<li>如果實作的方向是討論出來的，請紀錄「與會人員」與「決議結果」。</li>
<li>如果使用到特別的演算法、技術、套件，請特別附註。</li>
<li>如果該 Ticket 完成後要由其他人接手處理（ex：後端完成 API 後交付給前端），請說明要執行哪些指令（ex：DB Migration、Seeder…），並提供相關文件。</li>
<li>如果發現 Ticket 完成的時間與估計的不同，請與 PM 討論並調整。</li>
</ul>
<h2 id="工程師之間的合作">工程師之間的合作<a class="h-anchor" href="#%e5%b7%a5%e7%a8%8b%e5%b8%ab%e4%b9%8b%e9%96%93%e7%9a%84%e5%90%88%e4%bd%9c" aria-label="這個段落的連結"></a></h2>
<p>律定格式，讓溝通有一定的品質。</p>
<ul>
<li><strong>明定 Ticket 執行順序</strong>：一個 Sprint 中，每個工程師手上有很多的 Ticket，但有些 Ticket 會有所謂的「前置條件」，為了減少等待的空窗期，工程師要在「 Sprint Planning 時溝通好」。</li>
<li><strong>回報 API Bug</strong>：請說明是在「哪個系統」、「哪隻 API」、「什麼參數下」會發生。</li>
<li><strong>回報 Web Bug</strong>：請說明是在「哪個系統」、「哪個畫面（截圖）」、「如何操作」會發生。</li>
<li><strong>遇到自己無法解決的問題</strong>：請說明是在「哪個系統」、「哪個 Ticket」、「你做過哪些嘗試」、「你認為可能的解決方案」。</li>
</ul>
<h2 id="工程師與-pm-的合作">工程師與 PM 的合作<a class="h-anchor" href="#%e5%b7%a5%e7%a8%8b%e5%b8%ab%e8%88%87-pm-%e7%9a%84%e5%90%88%e4%bd%9c" aria-label="這個段落的連結"></a></h2>
<p>工程師與 PM 合作時，千萬不要惜字如金，大家都要把話講清楚；工程師要求 PM 做到的事，自己也要做到。</p>
<ul>
<li><strong>如果 PM 請工程師完成 Sprint 以外的需求</strong>：請說明「任務優先度」、「為什麼會有這個需求」、「可以將哪個 Ticket 排後面一點」。</li>
<li><strong>如果工程師在開發過程中收到其他團隊的需求</strong>：請將對話窗口轉移到「PM」，由他來統一處理。</li>
<li><strong>如果工程師請 PM 開 Ticket</strong>：需描述「哪個系統」、「為什麼會有這個需求」、「需求描述」、「估計時數」。</li>
<li><strong>若 Loading 太重無法負荷</strong>：請說明「原因」，如：掛的 Ticket 數量太多、任務分配不均、某個 Ticket 實作遇到困難。</li>
<li><strong>若多個專案同時發起高優先度的任務</strong>：有些工程師身上會掛多個專案，若不幸有兩個以上的專案同時發起高優先度的任務，就需要請「PM」協助排出優先順序。</li>
</ul>
<h2 id="為什麼都要由pm-來開-ticket">為什麼都要由 PM 來開 Ticket？<a class="h-anchor" href="#%e7%82%ba%e4%bb%80%e9%ba%bc%e9%83%bd%e8%a6%81%e7%94%b1pm-%e4%be%86%e9%96%8b-ticket" aria-label="這個段落的連結"></a></h2>
<p>有些工程師覺得自己開 Ticket 比較快，資訊多轉一手給 PM 根本是浪費時間，但這個制度是有原因的，如果不這樣做就可能導致：</p>
<ul>
<li><strong>PM 對專案的掌握度下降</strong>：如果大家都自己開 Ticket，PM 會無法掌握每個人實際在做的任務，即使有 Tag 到 PM，PM 也未必有辦法看到每一則訊息。</li>
<li><strong>專案進度偏離原定計畫</strong>：很多時候，工程師心中的任務優先順序跟 PM 是不一樣的，這導致最後在核對完成的任務時，會因為彼此的認知落差而產生爭執。</li>
<li><strong>勞逸不均</strong>：有些工程師發現問題就想解，導致身上背了一堆 Ticket 天天加班，而其他工程師閒閒沒事做。</li>
<li><strong>做了徒勞無功的任務</strong>：有些功能從專案的角度來看，可能不重要，甚至是不需要的。</li>
</ul>
<p>為了避免上述的狀況發生，如果有任何想做的需求，請先與 PM 討論，讓 PM 從整體的角度來判斷（ex：如果你的 Loading 太重，PM 就可能將你提出的 Ticket 分配給其他人做）。</p>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>筆者透過 3 個主題（<a href="https://deanlin.net/blog/202210/team-workflow-project-kickoff/">專案啟動</a>、<a href="https://deanlin.net/blog/202210/team-workflow-initial-tasks/">初始任務</a>、專案執行），與讀者分享制定工作流程的重要性。</p>
<p>制定工作流程是為了讓團隊運作更為順利，所以其中的規範、格式都要與成員充分討論；在彼此有共識的狀態下，工作流程才有存在的價值，否則會變成一種負擔。</p>
<p>最後再次提醒大家，文章的流程未必適用於每個團隊，但可以做為參考方向。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>為什麼軟體團隊需要制定工作流程？正式開發前的「初始任務」有 5 個步驟不能忽略！</title>
      <link>https://deanlin.net/blog/202210/team-workflow-initial-tasks/</link>
      <pubDate>Tue, 11 Oct 2022 15:30:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/team-workflow-initial-tasks/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在上篇文章中，筆者介紹了專案啟動時要做的事。</description>
      <media:content url="https://deanlin.net/blog/202210/team-workflow-initial-tasks/images/cover_hu_bc859f5dca17aa43.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p><a href="https://deanlin.net/blog/202210/team-workflow-project-kickoff/">在上篇文章中</a>，筆者介紹了專案啟動時要做的事。</p>
<p>今天讓我們來了解，在正式開發前有哪些「初始任務」要做，以及每個步驟由誰負責。</p>
<h2 id="step-1規劃每個階段的時程">STEP 1：規劃每個階段的時程<a class="h-anchor" href="#step-1%e8%a6%8f%e5%8a%83%e6%af%8f%e5%80%8b%e9%9a%8e%e6%ae%b5%e7%9a%84%e6%99%82%e7%a8%8b" aria-label="這個段落的連結"></a></h2>
<p>由「PM」將專案的需求拆分成不同的 Phase，這樣工程師比較能集中注意力在特定事物上，每個 Phase 都需要把如下的任務納入考量：</p>
<ol>
<li>要完成的功能（ex：前端、後端）。</li>
<li>撰寫測試程式的時程（ex：單元測試、壓力測試）。</li>
<li>QA 團隊測試的時程。</li>
<li>測試、正式環境部署的時程。</li>
</ol>
<blockquote>
<p>規劃時要保留「緩衝時間」，因為測試一次就過基本上是不可能發生的事情，往往需要預留 10~15% 的時間來修 Bug。</p>
</blockquote>
<h2 id="step-2撰寫-ticket-需求規格">STEP 2：撰寫 Ticket 需求規格<a class="h-anchor" href="#step-2%e6%92%b0%e5%af%ab-ticket-%e9%9c%80%e6%b1%82%e8%a6%8f%e6%a0%bc" aria-label="這個段落的連結"></a></h2>
<p>由「PM」在專案管理系統上為每項任務建立 Ticket，建議需求規格的內容要包含：</p>
<ol>
<li><strong>Prototype 截圖</strong>：讓工程師了解功能具體的位置在哪。</li>
<li><strong>需求描述</strong>：說明這個功能是用來做什麼的，它跟哪些功能有相依性。</li>
<li><strong>相關計算規則</strong>：如果需求是「計算商品總價」，那就要列出「產品搭配、折價卷、信用卡優惠…」等多種排列組合的計算規則。</li>
<li><strong>使用的邏輯</strong>：搜尋欄位可以查詢的欄位有哪些？搜尋的邏輯是 And 還是 Or？</li>
<li><strong>關聯需求</strong>：像是後端做完 API 後交付給前端，就需要將兩個 Ticket 關聯。</li>
<li><strong>驗收標準</strong>：判斷這個 Ticket 是否可以 Close 的依據。</li>
</ol>
<h2 id="step-3評估每個-ticket-的時數">STEP 3：評估每個 Ticket 的時數<a class="h-anchor" href="#step-3%e8%a9%95%e4%bc%b0%e6%af%8f%e5%80%8b-ticket-%e7%9a%84%e6%99%82%e6%95%b8" aria-label="這個段落的連結"></a></h2>
<p>不同 Ticket 的難易度不同，這邊會由「Tech Lead」與「工程師團隊」一同評估，確認該 Ticket 由誰負責，並評估需要的時數。</p>
<p>筆者在這裡提醒大家，千萬不要勉強自己估出一個很難完成的時數，不然卡關時，會影響到後續一系列的時程規劃（但也不要估出不合理的時數）。</p>
<blockquote>
<p>如果某個 Ticket 預估的時程超過 6 小時，建議要再做拆分，否則很難衡量每天實作的進度。</p>
</blockquote>
<h2 id="step-4確認能否在截止日前完成">STEP 4：確認能否在截止日前完成<a class="h-anchor" href="#step-4%e7%a2%ba%e8%aa%8d%e8%83%bd%e5%90%a6%e5%9c%a8%e6%88%aa%e6%ad%a2%e6%97%a5%e5%89%8d%e5%ae%8c%e6%88%90" aria-label="這個段落的連結"></a></h2>
<p>只要是專案就一定有截止日期，「PM、Tech Lead」需要在這個階段將 Ticket 的時數轉化為甘特圖來審視，若發現已經超過截止日期，那勢必要再做一些調整，比如：</p>
<ol>
<li>簡化部分功能（ex：原本要用 Auto-Complete，現在改用一般的搜尋）。</li>
<li>規劃 MVP 讓客戶使用（ex：原本要經過一系列複雜流程才能建立的資料，先用 Seeder 代替，以此大幅減少工程師的開發時間）。</li>
</ol>
<blockquote>
<p>這邊不建議堅持原計劃完成所有功能，因為快速開發所累積的技術債，於未來要花更多的時間處理。</p>
</blockquote>
<h2 id="step-5分配-ticket">STEP 5：分配 Ticket<a class="h-anchor" href="#step-5%e5%88%86%e9%85%8d-ticket" aria-label="這個段落的連結"></a></h2>
<p>由「PM」規劃這個 Sprint 要完成哪些 Tickets，然後在 Sprint Planning 時進行細節分工；假設一個 Sprint 為 2 週，建議每個人身上掛的 Tickets 總時數不要超過 65 小時，因為：</p>
<ol>
<li>時常會有臨時的會議、需求、Bug…等意外事件，需要保留緩衝時間。</li>
<li>在專案初始階段，我們無法保證是否有遺漏的規劃、邏輯的錯誤，若把時間塞滿就很難有轉圜的餘地。</li>
<li>有時舊專案會有緊急狀況需要優先處理，這個也會吃掉不少時間。</li>
</ol>
<h2 id="小結">小結<a class="h-anchor" href="#%e5%b0%8f%e7%b5%90" aria-label="這個段落的連結"></a></h2>
<p>專案的「初始任務」非常重要，若忽略其中一個步驟，都等於埋下一顆未爆彈。</p>
<p>相信經過「<a href="https://deanlin.net/blog/202210/team-workflow-project-kickoff/">專案啟動</a>、初始任務」這兩個主題，大家都能體會專案前期規劃、評估的重要性；但如果開發時 PM 與 RD、RD 與 RD 間的溝通不良，專案在執行時也會困難重重。</p>
<p>因此在<a href="https://deanlin.net/blog/202210/engineer-pm-project-execution/">下一篇文章</a>中，筆者會針對常見的合作情境，分享實用的「溝通格式」，讓專案執行時更為順利！</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>為什麼軟體團隊需要制定工作流程？「專案啟動」時可以做這 3 步驟！</title>
      <link>https://deanlin.net/blog/202210/team-workflow-project-kickoff/</link>
      <pubDate>Wed, 05 Oct 2022 15:30:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/team-workflow-project-kickoff/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在流程不明確的狀態下，團隊成員只能憑藉自己的直覺做事；如果彼此對一件事的認知不同就容易造成誤會，甚至爆發不必要的衝突。</description>
      <media:content url="https://deanlin.net/blog/202210/team-workflow-project-kickoff/images/cover_hu_d9dbcf429952ef54.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>在流程不明確的狀態下，團隊成員只能憑藉自己的直覺做事；如果彼此對一件事的認知不同就容易造成誤會，甚至爆發不必要的衝突。</p>
<p>以筆者過去的工作經驗來說，如果工作流程只靠口頭制定、團隊默契，在沒有明確的文字規範下，大家真的無所適從，當新人加入時還需要更長的磨合期。</p>
<p>而制定團隊的工作流程，能夠讓成員了解自己在各階段要負責的任務；儘管一開始的工作流程可能很粗糙，但只要有了第一版，流程就能在日後的實踐中不斷優化與完善。</p>
<p><strong>由於「為什麼軟體團隊需要制定工作流程」這個議題的涵蓋範圍較廣，所以筆者會拆分成「專案啟動、<a href="https://deanlin.net/blog/202210/team-workflow-initial-tasks/">初始任務</a>、<a href="https://deanlin.net/blog/202210/engineer-pm-project-execution/">專案執行</a>」等幾個主題進行分享，今天這篇文章先介紹「專案啟動」時要做的事。</strong></p>
<blockquote>
<p><strong>內文以「Web 開發」為範例，不同行業請酌情參考。</strong></p>
</blockquote>
<h2 id="step-1需求訪談初步規劃">STEP 1：需求訪談＆初步規劃<a class="h-anchor" href="#step-1%e9%9c%80%e6%b1%82%e8%a8%aa%e8%ab%87%e5%88%9d%e6%ad%a5%e8%a6%8f%e5%8a%83" aria-label="這個段落的連結"></a></h2>
<p>這個階段的目標是「初步確認需求、討論需求可行性、讓客戶認可 Wireframe 流程」。</p>
<ol>
<li>由「PM」與客戶討論需求，在收集完需求後，將其以心智圖（Mind Map）的方式呈現。</li>
<li>接著請「UI/UX」依造需求設計 Wireframe。</li>
<li>待 Wireframe 完成後，「Tech Lead、PM、UI/UX」一起開個會，初步確認流程以及功能的可行性，並討論是否有需要調整的部分。</li>
</ol>
<p>有些客戶會提出一些會異想天開 or 奇怪的需求，如果在初步規劃就發現這些問題，在反駁的同時請給予對應的建議，比如：</p>
<ul>
<li><strong>我想要一頁顯示 1000 筆資料方便搜尋</strong>：有些人還是習慣用「眼睛」來搜尋，但這樣的效率極差，當資料量大的時候還要翻頁；筆者建議與客戶進一步討論他實務上會搜尋的「欄位」有哪些，也許「篩選」功能更符合期待。</li>
<li><strong>我想要把過去一年的出貨訂單匯出至 Excel 來統計數據</strong>：客戶過去可能習慣用 Excel 函數來分析數據，但這個功能實際上可以做成系統的「儀表板」。</li>
</ul>
<h2 id="step-2確認具體需求完善規劃">STEP 2：確認具體需求＆完善規劃<a class="h-anchor" href="#step-2%e7%a2%ba%e8%aa%8d%e5%85%b7%e9%ab%94%e9%9c%80%e6%b1%82%e5%ae%8c%e5%96%84%e8%a6%8f%e5%8a%83" aria-label="這個段落的連結"></a></h2>
<p>這個階段要將「原本模糊的規格具體化、完成 Prototype 設計」。</p>
<ol>
<li>在客戶確認完需求及Wireframe 的內容都沒問題後，請「UI/UX」開始設計 Mockup。</li>
<li>由「Tech Lead」確認 Mockup 上的細節是否都有考慮到（ex：哪些欄位適合拿來搜尋、不同權限看到的畫面、有哪些元件可以設計為共用模組）。</li>
<li>待 Mockup 上的功能＆流程都確認沒問題後，請「UI/UX」開始設計 Prototype。</li>
</ol>
<blockquote>
<p><strong>血淚史提醒</strong>：</p>
<p>專案初始的設計盡量從 Wireframe 開始，就算專案規模較小也不要直接畫 Mockup；因為在前期客戶的需求會時常變動，就算突然加大投資，小專案變成大專案也是很常見的，若使用 Mockup 會需要花更多的時間在調整上面。</p>
</blockquote>
<h2 id="step-3向團隊成員說明">STEP 3：向團隊成員說明<a class="h-anchor" href="#step-3%e5%90%91%e5%9c%98%e9%9a%8a%e6%88%90%e5%93%a1%e8%aa%aa%e6%98%8e" aria-label="這個段落的連結"></a></h2>
<p>在需求與流程相對穩定後，接下來就要與「團隊成員同步資訊」。</p>
<ol>
<li>由「PM」向團隊成員說明系統的功能與流程，確保大家理解這個專案要完成的目標（這邊建議先用心智圖說明架構，再用 Prototype 模擬實際流程）。</li>
<li>由「Tech Lead」向工程師團隊提醒各功能在設計上要注意的細節（ex：哪些欄位要設計 Auto-Complete、是否有特別的 Validation Rules、某些功能需要提前 Survey 避免卡關）。</li>
</ol>
<p>這個階段主要是讓團隊成員對每個 Feature 都有具體認知，然後評估自己感興趣 or 擅長的 Feaure，若發現有沒碰過的技術也能提前研究。</p>
<h2 id="小結">小結<a class="h-anchor" href="#%e5%b0%8f%e7%b5%90" aria-label="這個段落的連結"></a></h2>
<p>專案啟動時，「Tech Lead、PM、UI/UX」在各階段都要做好把關。</p>
<p>相信有實務經驗的讀者，都很清楚「明確的需求、具體的流程」對工程師來說有多麼重要；如果一切都非常模糊，那後續開發一定會遇到各式各樣的問題。</p>
<p>在團隊成員都了解專案的目標後，為了保證後續開發順利，我們還有一些「初始任務」要做，這部分筆者會在<a href="https://deanlin.net/blog/202210/team-workflow-initial-tasks/">下一篇文章</a>與大家分享。</p>
<hr>
]]></content:encoded>
    </item>
    <item>
      <title>請你說明一下，這個功能的時數是怎麼估出來的？── RD 與 PM 的攻防戰</title>
      <link>https://deanlin.net/blog/202210/rd-vs-pm-time-estimates/</link>
      <pubDate>Mon, 03 Oct 2022 16:00:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202210/rd-vs-pm-time-estimates/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在上篇文章中，筆者分析了 RD 在面對任務指派時的想法。</description>
      <media:content url="https://deanlin.net/blog/202210/rd-vs-pm-time-estimates/images/cover_hu_3ef2e66fa50abf8a.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p><a href="https://deanlin.net/blog/202209/rd-vs-pm-asking-questions/">在上篇文章中</a>，筆者分析了 RD 在面對任務指派時的想法。</p>
<p>PM 雖然被稱之為專案「經理」，但在大多數的公司並沒有管理實權；如果想讓 RD 跟你配合，至少要對技術要有一定程度的了解，並能聽懂對方想表達的內容。</p>
<p>本篇文章會分享一些實用技巧，讓 PM 獲得更精確的資訊來判斷 RD 的估時是否合理，並告訴你遇到不配合的 RD 該如何應對進退；話不多說，讓我們看下去！</p>
<h2 id="了解對方的專業真的很重要嗎">了解對方的專業真的很重要嗎？<a class="h-anchor" href="#%e4%ba%86%e8%a7%a3%e5%b0%8d%e6%96%b9%e7%9a%84%e5%b0%88%e6%a5%ad%e7%9c%9f%e7%9a%84%e5%be%88%e9%87%8d%e8%a6%81%e5%97%8e" aria-label="這個段落的連結"></a></h2>
<p>筆者很負責任的跟你說：「超級重要！」</p>
<p>當然這不是要你成為該領域的專家，但至少要具備「溝通、評估」的能力。</p>
<p>以 Web 開發舉例，如果你不具備前端、後端、資料庫的概念，你怎麼評估及分配任務？難道只靠感覺來判斷工程師的估時是否合理？</p>
<p>就拿筆者過去的經驗來說，儘管我有全端開發經驗，但在擔任公司 PM 時，因為缺乏與設計師合作的經驗，導致合作初期無法判斷設計師的估時是否合理。</p>
<p><strong>了解專業是為了評估出「合理時間」，並在遇到不合理的狀況時，能適時提出自己有疑問的觀點。</strong></p>
<blockquote>
<p>在此特別強調「不要亂估時」！一但被發現會破壞彼此的信任，也是不尊重自己專業的表現。</p>
</blockquote>
<h2 id="如果-rd-的估時超出-pm-心中的時程">如果 RD 的估時超出 PM 心中的時程<a class="h-anchor" href="#%e5%a6%82%e6%9e%9c-rd-%e7%9a%84%e4%bc%b0%e6%99%82%e8%b6%85%e5%87%ba-pm-%e5%bf%83%e4%b8%ad%e7%9a%84%e6%99%82%e7%a8%8b" aria-label="這個段落的連結"></a></h2>
<p>原則上，PM 都是秉持相信 RD 的態度請他估時的；但有時 RD 估出來的時數，會讓人懷疑自己是不是被糊弄了。</p>
<p>如果專案有時程壓力，PM 會需要更精確的資訊來協助判斷，比如：</p>
<ol>
<li><strong>向 RD 詢問該 Task 的細節</strong>：就像標題所述，PM 需要了解這些時間花在哪裡，是否需要拆成多個 Subtask？因為有時一行字的需求，背後可能涉及到資料庫的遷移、後端 API 改寫、前端畫面調整。</li>
<li><strong>是否有擅長這個領域的人</strong>：有時會有這麼長的估時，是因為指派對象不擅長這部分的技術，或是缺乏相關經驗；如果時程寬鬆，那是一個很好的學習機會，但如果有時程壓力，還是看誰擅長就由誰負責（如果 PM 不清楚每位成員擅長的領域，在 Planning 階段可以請資深工程師 or Tech Lead 從旁建議）。</li>
<li><strong>如果是全新領域</strong>：RD 在面對陌生的技術時，也只能憑感覺亂估；因此建議開一個「研究新技術」的 Task，讓 RD 先對技術有基礎的認知，在這之後估出來的時間才有參考價值。</li>
<li><strong>是否有最小可行性方案</strong>：如果不是技術達不到，而是時程根本不夠，那就要考慮縮減非必要功能，或是採用替代方案。比如說有個需求是「使用者列表」，在 API 設計上，工程師會覺得除了「查詢」外，應該還要有「新增、修改、刪除」的功能，但如果客戶沒有這些需求，那或許先階段用 Seeder 把使用者寫入資料庫就可以了。</li>
</ol>
<blockquote>
<p>RD 估時較長，還有一個常見原因，那就是面對「需求變更」時的緩衝時間；理想上需求變更應該要延長專案時程，但實務上專案的截止日期很難調整，因此在估時上多少會預留一點空間來保護自己。</p>
<p>這個部分涉及到組織文化、公司面對客戶的話語權、主管態度等多個方面，如果讀者對這個話題感興趣，筆者會在獨立一篇與大家分享。</p>
</blockquote>
<h2 id="適當的借勢">適當的借勢<a class="h-anchor" href="#%e9%81%a9%e7%95%b6%e7%9a%84%e5%80%9f%e5%8b%a2" aria-label="這個段落的連結"></a></h2>
<p>如果 PM 初來乍到，而 RD 年資很深，那有可能遇到 PM 叫不動 RD、RD 明顯亂估時的狀況。</p>
<p>在職場上我們盡量與人為善，但假使對方就是很皮，你以禮相待他還是使勁搞破壞；那適時的請主管協調也是有必要的，不過這個方法偶爾為之還行，如果常常使用不但會被 RD 討厭，還會讓主管懷疑你的工作能力。</p>
<blockquote>
<p>每間公司的文化不同，但拿人手短、吃人嘴短幾乎是共通的；有時請 RD 喝個下午茶，你會發現大家突然變得很好溝通（每個人的社交方式不同，也歡迎讀者分享自身經驗）。</p>
</blockquote>
<h2 id="結語">結語<a class="h-anchor" href="#%e7%b5%90%e8%aa%9e" aria-label="這個段落的連結"></a></h2>
<p>有些 RD 被詢問估時的細節時，會覺得 PM 不尊重專業；但 PM 真的是只是想了解細節，並尋求更好的方案。</p>
<p>筆者認為 PM 與 RD 是平等互助的關係，只是彼此的立場與看事情的角度有些許差異；如果總是刁難對方，其實是在損害自己的 Credit，並讓主管難做人。</p>
<p>「RD 與 PM 的攻防戰」這個議題就先講到這邊，希望有讓大家看到不同角度的思維模式，如果喜歡類似的內容也歡迎留言告訴我～</p>
<hr>
]]></content:encoded>
    </item>
  </channel>
</rss>
