PTT推薦

Re: [討論] 軟體工程師每五年增加一倍?

看板Soft_Job標題Re: [討論] 軟體工程師每五年增加一倍?作者
bachelorwhc
(積積陰陰德)
時間推噓25 推:25 噓:0 →:119

Zepho: 老人學新東西超抗拒好嗎 不如找三個年輕便宜的02/19 15:19
acgotaku: 台灣沒這麼多需求要一直更新語言工具拉 02/19 16:33
acgotaku: 臺灣不少知名純軟/影音串流公司 裡面舊專案用的語言版本02/19 16:34
acgotaku: 甚至已經比最新的還老四五年,流量服務還不是撐得住02/19 16:35
acgotaku: 至於為什麼不大改?能穩定獲利的業務 去追求風險大改幹嘛02/19 16:37
acgotaku: 剛入行的很愛用技術新不新,酷不酷來判斷一個公司競爭力02/19 16:39
acgotaku: 但一家公司的競爭力跟這些完全無關,是能不能賺不賺錢02/19 16:40

今年2023了,我公司還在用C++03 (編譯器只有支援半套C++11)

比最新的老四五年而已,我覺得已經算是很"樂觀"的狀況了

就算C++編譯器更新到20,我相信只會寫11的人還大有人在

甚至還有人跟我說過他看不懂parameter pack



我覺得有必要區分什麼叫 新技術 什麼叫 新東西

幾年前聽了一場線上講座,在介紹C++11怎麼做到20 concept的效果

我才恍然大悟,其實很多東西一直都存在



而很多新的framework跟library甚至是語言

其實是把一些已經存在的技術進行包裝

而有些是針對現有的工具重新進行設計或改良

那種只能算是新東西 而不是新技術



確實公司能賺錢是因為domain knowledge或BM,跟技術屌不屌/新不新無關

但如果你是一個熱愛學習的人,處於一個僵化且拒絕學習的公司,其實是很痛苦的

docker出來到現在已經十年,不算新東西了對吧?

我在團隊中建議我們可以將建置環境改為dockerize
(而且我也實際應用到工作流程中,不是打打嘴砲而已

但還是拒絕學習、改變的人還是占大多數

我不知道,可能登入遠端伺服器手動安裝每一台機器比較有效率吧?



不少人其實並不追求開發效率或自動化、甚至是公司軟體的品質或效能

能花三十分鐘做完的事情為什麼要花三秒鐘做完?

反正工作效率再高、技術再新,時薪還是不變,做完一個任務下個任務只會來更快

有時想想,或許老鳥只是在透過身教告訴菜鳥這個寶貴的職場智慧:)

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.112.187 (臺灣)
PTT 網址
※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 17:49:56 ※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 17:52:28

brucetu02/19 17:54原因很簡單 改用docker出問題的時候是不是都你處理

brucetu02/19 17:55不是的話 結果只是增加他們的工時

請問您是否同意: 「長遠來看,手動維護toolchain與建置、部屬開發環境所需的工時, 會比使用docker來得短且更有效率」 這句話 如果你不同意的話,那我不明白為什麼你會說工時增加了 如果你同意的話,那我還真不了解為什麼現在的主流是使用docker技術 而不是DevOps登入每台機器手動部屬

airtsubasa02/19 17:55vb6老嗎 程式還在無限增長 嘻嘻

wsad5023202/19 17:56新瓶裝舊酒 只是讓你對已知的東西 再去花時間花精神學

wsad5023202/19 17:56習一次 老人都知道這種事非常的白痴 為何要浪費時間

wsad5023202/19 17:56 不要說老人都抗拒新的東西

AxelGod02/19 17:57所以最後才說 職場智慧啊 沒事不要替公司操心

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 18:04:32

testPtt02/19 18:10我用docker都只用來測試 畢竟沒UI操作還是蠻痛苦的

wulouise02/19 18:11有些公司scale就很小,覺得手動deploy時間沒差多少

wulouise02/19 18:11不要說UT也是有人跟我說幹嘛寫,手動測測就好

有個同事跟我講沒有必要學gdb, printf就好了 不要說抗拒新東西,連老東西都抗拒lol

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 18:13:59

wulouise02/19 18:12通常你要自己做,別人看到好處>>>壞處才會跟 強制不了

wsad5023202/19 18:20樓上中肯 一堆新人只看到新東西的好處

labbat02/19 18:20能用gdb的起碼是一個,好吧,主流的作業系統

wsad5023202/19 18:21卻沒看到新東西的壞處

請你能具體舉一個你看過的案例嗎?還是你認為我舉的例子有什麼壞處:)

labbat02/19 18:21多的是閉門造車不支援gdb,然後用JTAG除錯器的封閉系統

hidog02/19 18:21公司要考慮的是能否賺錢,開發環境是否穩定

我認同你的觀點,那請問我舉的哪個例子是會導致開發環境不穩定的呢? 阿,對了,我也看過公司用老東西結果還是不穩定的阿lol

hidog02/19 18:21要不要追求新技術並不是公司經營的重點

wsad5023202/19 18:22別人不採用就GGYY一堆批評

testPtt02/19 18:22很多時候還是看程式給誰用 你不能叫一般使用者安裝docker

hidog02/19 18:22人家能用printf除錯你幹嘛要求對方用gdb

我好像沒有"

要求

"對方吧,請問你是在哪個段落看到的

labbat02/19 18:22說什麼都功能利弊都不在乎,只要熟悉的方法能繼續用

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 18:28:08

hidog02/19 18:25如果是你用gdb除錯的效率比對方用printf快非常多,才有理由

hidog02/19 18:25跟主管要求大家一起來學gdb吧...

1. 對方用printf抓三天不到,我用gdb半天不到就抓到了 2. 對方自稱linux開發經歷至少三年,我一個月不到 (而且我之前也沒學過gdb,任職才學的) 3. 我沒有"建議"或"要求"任何人,我只有事後製作投影片教學如何使用 我覺得你好像可以把我說的話 解讀成我想強迫別人改變 但我只是想說,職場確實是有抗拒學習的人存在的

mozume02/19 18:25因為一個一個主機上去上版可以讓主管感覺你工作很努力,

mozume02/19 18:25但都自動化後主管會覺得你很閒,

hidog02/19 18:25如果你們除錯效率沒差多少,要求這個沒啥意義

lol,我搞不懂你為什麼堅持要認為我"要求"別人耶

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 18:32:59

mozume02/19 18:31除非在一個大家都很有熱情的單位,不然不要引入什麼新技

mozume02/19 18:31術,否則苦差都是自己的,同事還會覺得你在找麻煩

hidog02/19 18:32學習成本就是一個會導致不穩定的點啦

hidog02/19 18:32你要負責寫教學文件嗎?

還真的寫過,謝謝指教。 我不知道我是否可以這樣理解你的論點 1. 學習成本導致不穩定 2. 企業追求產品與開發穩定 3. 如果員工與企業同樣希望產品與開發環境穩定,應避免導入任何改變

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 18:35:28

hidog02/19 18:33要是真的很在意同事是否願意學習,想辦法去頂尖的公司,裡

hidog02/19 18:33面一堆同事有學習的熱情

hidog02/19 18:34如果你們公司薪水低於業界,也不用期待找到什麼有學習熱忱

hidog02/19 18:34的同事

hidog02/19 18:34你沒有要求的話,你管別人用printf幹嘛

hidog02/19 18:36你過度解讀我的意思了,公司難免需要改變跟導入新技術,但

hidog02/19 18:36前提是這個改變好處多於壞處

f2672430902/19 18:43我覺得你去找有衝勁的公司比較快 別妄想改變環境

同感,待了一年已經開始找了

x00003200102/19 18:47夏蟲不可語冰 一律建議離職

jexcel02/19 18:52你說的都對 公司老人固執無知 那你還留在那邊幹嘛

hidog02/19 18:53你debug速度比別人快,代表你能力比別人強,你該做的是拿這個

hidog02/19 18:54做為跟主管談考績跟調薪的籌碼...

hidog02/19 18:54同事debug速度慢那個是主管要負責的

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 18:57:05

ssccg02/19 18:56長遠來看就是廢話,長遠來看沒用的東西當然不會被發明

ssccg02/19 18:58要到那個長遠前一定有轉換成本,公司不吸收,肯自己吸收的

ssccg02/19 18:58就是少數啦

所以就是職場老鳥的智慧啊,公司賺錢、分紅照領,真的沒有太大的必要學新東西

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 19:00:43

s06yji302/19 19:15其實不需要花這麼多時間在抗拒或拒絕學習的人身上。換個

s06yji302/19 19:15工作環境比較快。

mozume02/19 19:26有時技術實在太舊,例如classic asp,你要找人進來維護還

mozume02/19 19:26不好找

blReader02/19 19:48除非是熟練封頂又有專人服務 不然要動員滿難的

blReader02/19 19:49設計得當 維護成本低 客製成本也低 交付速度快就能多接

blReader02/19 19:51幾個案子或做新產品 有那個量能 就有機會爆發性成長

blReader02/19 19:53只是要一直維持這股衝勁滿難的

jack020402/19 20:34這種情況在公司到某一個量體的時候不改變都不行

jack020402/19 20:36DevOps也是聽的人多,做的人少,很多還以為換個職稱而已

anal556602/19 20:37你的想法很好 你只是不懂老人的心態而已 這跟能不能提高

anal556602/19 20:37效率無關

oopFoo02/19 20:40為什麼要用docker?你的環境不能reproducible builds?

oopFoo02/19 20:42docker解決的問題是什麼?真的適合你們的環境?用c++,

oopFoo02/19 20:43我會想先deterministic builds。我承認我是老人,有很多新

kissmickey02/19 20:43能用一種技術吃40年到退休誰不想

oopFoo02/19 20:44技術出來,我不會先用。docker出來時,我就想這不就是

oopFoo02/19 20:46BSD的Jail?有時老人不是不用,但技術是有取捨的,不見得

EricTao02/19 20:47從你回文的用詞 我覺得對方也有可能是不想理你

oopFoo02/19 20:48在你的環境加分。我是會用docker或類似的東東,但也是某

oopFoo02/19 20:49些環境才用。不是拒絕採用就一定不對,老人也是被新技術

oopFoo02/19 20:49咬了很多次才保守的。

EricTao02/19 20:49要推新技術要去說服主管吧 不然多出來的工時誰給錢

kissmickey02/19 20:58像IE滿多都是要死撐到最後一刻才會翻新

Belieeve02/19 21:00如果推新技術對你和公司有利(你履歷多一條可以寫),

Belieeve02/19 21:00其他人持平的話,依照人性還是會有些眼紅懶得學的人反

Belieeve02/19 21:00

lazarus112102/19 21:01公司只要規模一大就不可能一直翻新技術

Belieeve02/19 21:01有時候要推廣這些需要的是統合意見與溝通能力,變得跟

Belieeve02/19 21:01技術沒太大關係了

Belieeve02/19 21:03像上面提到的出bug機率也會是潛在風險,評估時程的時候

Belieeve02/19 21:03就要計入QA及解bug風險

其實我提出的建議真的沒有大家想像的那麼"新",也不會動到程式碼 我們的工作環境是使用Windows,但編譯產品需要到cross-platform(不同處理器、不同 嵌入式系統、不同C++標準、不同函式庫)。過去的方法就是維護人員手動登入到伺服器 放toolchain還有寫建置腳本。 整個建置環境是需要人力維護的,如果某個機器掛掉,就要全部手動重來。 團隊中也沒有人在使用WSL,所以以前的方法就是每個人先上commit到server,然後全部 目標平台都編譯看看,看哪個不過就再修改,然後再上commit試試看能不能過,來回到 過為止。 所以我花兩天的時間把所有toolchain的流程、設定、腳本全部都做成docker image, 透過WSL我能夠在windows環境下進行所有目標平台的建置,還能夠管理image版本 就只是這樣而已,有經驗的人應該知道我講的不是改變多大甚至多複雜的事情

lazarus112102/19 21:06而且是否更新技術是高層決定的

lazarus112102/19 21:06無法說服上面聽你的建議,表示需要的理由還不夠充分

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 21:20:37

Hsins02/19 21:10如果是 CPP 處理 mulit threading 要 debug, gdb 還真的不

Hsins02/19 21:11一定比 printf, cout 好用...

請問gdb不是能夠控制其他thread的是否能繼續進行 也能切換thread嗎

cylee02/19 21:12如果可以的話試著找幾個老人加入你一起跟技術主管推

cylee02/19 21:13不過你必需先做好詳細的 survey,知道採用它帶來的優/缺點

oneheat02/19 21:13語法不重要,架構才是重點

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 21:24:07

Hsins02/19 21:24 multi

leo0821091702/19 21:27電腦跑得動docker真好 有些公司連標準的ram都不夠

MonyemLi02/19 21:35現實上就是說服不了人,這事情碰到就要逃避嗎?只會碰

MonyemLi02/19 21:35到這次?

Beramode02/19 21:38很好奇為啥你沒想要換公司

上面有提到正在找了

foreverk02/19 21:39其實你遇到的問題不是老人不鳥你與老人不學東西,而是

foreverk02/19 21:39你連主管也沒說服,就不要想說服老人,你不斷重複這比

我主管很認同,但很可惜是這個建置環境並不是我們team在管的 而另一個team認為沒有比較

foreverk02/19 21:39較好是沒用的,當你資歷淺卻想改變工作環境時,你只能1

foreverk02/19 21:39.說服老闆或主管2.自己爬上去改革3.換公司,每一項都跟

foreverk02/19 21:39你學到或用到的技術多優秀無關

我提的意見主管一直都很認同,也有在部門內幫我宣傳過 但就算是同部門甚至是同一個team,也不是所有人的工作模式都會因此改變 你有遇過主管會下令指定你開發中一定要用什麼工具或流程的狀況嗎?

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 21:48:50

testPtt02/19 21:41做這行的很多都是要實際去做才知道的 說服是行不通的

foreverk02/19 21:42你只是想把事情做對,但你沒在想讓別人覺得你對

你可以觀察一下我上面對某些板友問題的回覆,我除了透過實踐證明這個方法更 方便以外,我也有舉出優點。有些板友提到壞處、不穩定等等......不過我似乎 都還沒有看到任何一個針對我方案具體舉出壞處的例子,但有些人還是可以針對 你所有的發言不斷提出質疑 我從一開始回文只想陳述的事情就只有兩件: 1. 不管是被證明比較有效或是尚未被證明有效的方法,職場中確實有人會拒絕 嘗試或學習 2. 學習技術或改變工具,不一定會讓你的薪水比較高,工作效率越高項目消化 越快只會讓工作項目更多

Hsins02/19 21:43是可以,但不一定比較方便快速呀,今天如果是有很多連線的

Hsins02/19 21:43程式要透過 gdb 來定位問題,不一定會比 printf 直觀快速;

Hsins02/19 21:44我不是說 gdb 不好,也不是支持老人只會用 printf 不用 gdb

Hsins02/19 21:45,不同情境選擇適合的工具就好了

哈哈 懂了 我大多也都是先透過log縮小範圍啦 你一開始講mt debug用gdb不一定比printf方便我有些驚訝跟好奇XD 因為在我的經驗中 多執行續只用printf很難解XD

foreverk02/19 21:45說服的方式很多種,做出明顯的成效給主管或老闆看就是

foreverk02/19 21:45最有效的一種,但做出明顯成效就不光是自己技術優秀就

foreverk02/19 21:45辦得到,終究是要有人認同你然後一起做才能做大

Hsins02/19 21:48你文中提及的建議,我做過類似的事情是串 CI 的 workflow

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 22:02:03

Hsins02/19 21:49,在 YAML 裡透過 matrix 去 include 不同作業系統,並配置

Belieeve02/19 21:50我認同docker這個使用起來並不難而且很有幫助,但要做

Belieeve02/19 21:50的真的是說服主管&其它習慣原來方法的人,而他們在意的

Belieeve02/19 21:50點和我們這些版眾是不一樣的@@

Hsins02/19 21:50不同的 compiler, qt version 等,的確其實跟你說的一樣沒

Hsins02/19 21:51這麼複雜。我會這樣串的原因,是你文中提到的一部分,你用

Hsins02/19 21:51WSL 很方便,但其他人甚至連 WSL 都不會用甚至不知道

Hsins02/19 21:51那問題就會是他們要採用你的解決方案,還需要多花時間去搞

Hsins02/19 21:52懂另外一套機制,對年紀大的叔叔伯伯來說可能沒這麼容易…

foreverk02/19 21:54主管真的要導入新東西的話,當然就是下令所有人要學,

foreverk02/19 21:54並納入考核啊,光宣傳有什麼用啊…

我待過三間公司還真的沒有看過任何一個主管指定我要用什麼開發工具或工作流程的... 前公司有主管曾經推廣要寫test,但絕大多數人還是沒在鳥,說要慢慢導入正規開發 流程,但過了三四年據我所知到現在還是前公司還是推不起來 甚至我一個朋友在某間小公司當主管,底下三四個工程師也是沒辦法指定流程的 指定還會被下屬反過來質疑

foreverk02/19 21:57題外話,不是你們team在管的,代表不是你們team要負責

foreverk02/19 21:57任,你要說服有責任的那個team難度就更高,從他們的角

foreverk02/19 21:57度看說難聽點,只會覺得關你什麼事而已,你想說服別人

foreverk02/19 21:57,首先要先換位思考,不然都是白搭

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 22:06:16

gigayaya02/19 22:05我倒是覺得這是你展現leadership或是ownership的機會,

gigayaya02/19 22:05扛下責任硬幹把公司整體環境優化,如果成功就代表你是

gigayaya02/19 22:05對的並且得到credit

cylee02/19 22:07跨部門合作,你的主管得願意幫你向另一個 team 的主管推

foreverk02/19 22:07你的盲點在於你一直認為自己做的是有效的改善,但問題

foreverk02/19 22:07從來不在你做的是對錯,你有想過,你公司的老人甚至可

foreverk02/19 22:07能知道你是對的,但他們就只是“不想鳥你”嗎?

嗯? 這我知道啊 我本來就沒有堅持或要求誰要學什麼,我文章結尾不就寫了 學新東西不一定有任何好處啊(還要浪費時間)

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 22:10:07

cylee02/19 22:08不然如 foreverk 所說的一樣,白費力氣而已

推過啊,拒懂

holebro02/19 22:09學新東西明明就很好玩

Hsins02/19 22:10當你覺得待遇配不上自己技術和能力的時候,該是換個環境的

Hsins02/19 22:10時候了

※ 編輯: bachelorwhc (36.231.112.187 臺灣), 02/19/2023 22:13:50

foreverk02/19 22:11推廣和宣傳是沒用的,因為那只有在剛好同事是跟你志同

foreverk02/19 22:11道合才可能成功,但這種事可能在學校社團才可能出現,

foreverk02/19 22:11真的要改變團隊,就是納入考核,不寫測試的就是code re

foreverk02/19 22:11view拉出來highlight,並影響考績,不然任何主管跟你說

foreverk02/19 22:11有在推,基本上都只是浪費時間

foreverk02/19 22:17你是沒有堅持要人學沒錯,因為你是直接想離開找更適合

foreverk02/19 22:17的,而不是選擇捲起袖子下去幹,但終究有一天你會遇到

foreverk02/19 22:17一個情況,就是公司其他部分都很完美,但就是流程或技

foreverk02/19 22:17術有缺點,你選擇一直跳的機會成本只會越來越高,我只

foreverk02/19 22:17能說長久來看未必是好選擇

leicheong02/19 22:25我現在的公司平均一個月做五千多次deployment, 沒自動

leicheong02/19 22:26化的話真的要請一隊人來做了.

lecheck02/19 22:55台灣人就愛殺豬公啊