顯示廣告
隱藏 ✕
※ 本文為 LZong.bbs. 轉寄自 ptt.cc 更新時間: 2016-11-15 23:31:25
看板 Gossiping
作者 HuangJC (吹笛牧童)
標題 Re: [新聞] 明年,一半大學畢業生會寫程式
時間 Mon Nov 14 18:45:11 2016



看大家在講學習寫程式,昨天已經講一個會計師的例子了
今天再來講敝公司一個舊產品好了

會計師的例子,他不是專業程式設計師
而是學了程式設計來為自己的工作增加競爭力

敝公司的例子,我們是專業的程式設計團隊
我們之前的產品是手機與電腦連線後,可以上下傳電話簿及照片
知道是哪家公司的就請別說了

你想用什麼語言?
語言不會是重點,我們會說重點是 domain knowledge
當初 nokia 手機時代根本沒打算讓你上下傳電話簿的
但是手機出貨前,必需測試有沒有故障

所以手機都有留測試點
而所謂的完整功能測試,就內含了上下傳電話簿
換言之,我們的產品,是在模仿手機的測試動作;但包裝好就是個產品

請問要怎麼傳訊號才能上傳一份電話簿?
抱歉,不告訴你;這是 nokia 的機密
敝公司有一位 hacker 級工程師,是大股東,一週好像見沒他來上班幾天
他是靈魂人物之一,手機交到他手上,他就可以 hack 出這個通訊方式(protocol)

那我們其他工程師在做什麼呢?
簡單說,一筆電話簿可以有人名,人名有幾個字?電話有幾個字?
人名如果可以存十個字,你硬要存十一個,那存得下去卻會讀不出來;因為被丟掉了
於是我們就要把這個極限給測出來,並且在界面上引導使用者予以設定
這樣的工作並不是核心技術,也並不關鍵
不管用什麼語言,只要你能摸熟字串處理這部份,大概就搞定了

if user 輸入字串 > 10個字
   popup message "你打太長了,請輸入十個字以內"

如上就是鄉民開玩笑時會寫的虛擬碼;但老實說很實用了
不管要變 c 變 basic 變 vb 都可以
有人說重點在邏輯,對,這就是邏輯
但看完上面的描述我要說,這不是核心技術

待這個位置,就是所謂碼農,公司把我換掉再找個年輕人來,只怕半年就訓練上手了
但是 hacker 級的工程師,新手機上手一摸就能摸出 protocol 那位
他就是我們限量級的高手,把他挖走代表我們一個產品會消失..
這樣一個高手,你不必問他用什麼程式語言;事實上我覺得他好像不太會寫程式
但他在這個專門領域裡,就是能憑著電錶,示波器,protocol Analyzer 把人家破解出來
(我說了,nokia 手機上有幾個測試點嘛,當然就是電極插上去讀啊,
  所以他橫跨軟硬體咩)

不過,搖擺沒有落魄來得久
一個軟體如果有賺頭,那微軟就會自己做
所以後來的手機想上傳電話簿,win os 就直接支援了
因此如果你看我這篇看不懂,會覺得"上傳電話簿不是很簡單嗎?"
那是因為現在簡單;而我在講一個十年前的舊故事
要不是十年了,我也不好意思把公司細節講這麼多

微軟永遠有法子幹這種事,之前它就是這樣幹倒 netscape,
它的 ie 一開始是垃圾,它不重視,還記得吧..
等 netscape 做起來後它才急起直追,追到人家要倒不倒的
那什麼都它做就好啦~
是啦,所以反托拉斯法很愛找微軟麻煩嘛,因為它都不留一口飯給別人吃

以前我有個學長,用手工打造的法子寫進銷存,開個人工作室
大約在二十年前的台灣,這種軟體工作室很好生存
他用的語言是 dBase,是專門的資料庫語言了,只是略為高階,易學(像 basic)
大概在碰到電腦記憶體及運算速度的極限後,開始想改學 clipper;這個轉進不會太難
那時他要去和客戶開會,然後修改自己的產品
以他能和多少客戶開會,就成為他接案的極限
(差不多就像滷肉飯師傅能做多少滷肉飯,那來客數就有極限;賣完為止)
他接不了的客戶就是別人的客戶,所以市場是大家可以分享的
為什麼會這樣,軟體不是很好拷貝嗎?因為客製化的東西太~~多了
客戶很難買一套回去就直接用,公式都要重寫,所以他有市場
但等微軟這種傢伙推出 excel 這種東西後
一切就很視覺化,畫面拉一拉結果差不多出來
那我學長也大概被搶了飯碗
當然,專業的進銷存這時興起,沒被微軟幹掉;原因我不知道,因為我沒在用
但我想它一定要比 excel 好用
光以我前公司自己打造的進銷存來說
(我們是全台最大代工廠,產能全開就吃下全世界一半市場
  別懷疑,這就是台灣電子業的能量
  但後來訂單都去對岸了,所以產能也無法全開了,經常在輪休放假)
那套軟體和文管系統整個結合在一起
採購買了原料可以直接入庫,原料不足會自動出單,電腦信件打印詢價
除了變化快的部份,可以說重覆性工作大大取代,是採購部的機器人(robot)
對啊,所以叫進銷存嘛
這種東西 excel 就沒那麼直接了;要做的話,也得自己寫 VBA

學長的例子不太好,來講我前女友好了
我是工科程式的代表
就像丟個滑鼠來我們要負責寫到滑鼠能用
因此工科會一直跟你推 C,因為它和 CPU,記憶體這些單元緊密結合
可以一根一根電線改變訊號,可以寫 driver

而我前女友就是商科程式的代表了
她也有寫進銷存,台灣第一本進銷存教科書,就是她老闆寫的
至少她是這麼說的;畢竟台灣那時百家爭鳴,一堆人搶著出書呢
旗標作者群多大啊~  像我這種人搞不好也有人找我合作出書
但後來電腦書是秤斤賣的,電腦書行業示微後

重慶南路書店街也就漸漸消失了
電腦還是難學,但書...已經在網路上了,一直變化,無法出書
最有用的資訊,常是不在書上的,不然你能在書上查 nokia 的 protocol 給我嗎?
像我爸也曾臭屁說自己學電腦還可以(畢竟我們賣過電腦)
他說"有書的話,自己看就好"
我回他"但就是沒書啊"
我那時是想教會他用 Ghost 而已
鄉民別說這很簡單,教一下就好
因材施教當然最好,但我爸這個材,就是要書
面對面教他,叫他馬上操作備份一次(一次枯等數十分鐘)
他會說:反正只要按下一步,很簡單,我會我會
好啊,等我不在他身邊,他要操作還原時,就會打電話來說:好奇怪,我不會了
學電腦能這樣嗎?如果能這樣那我師資要算多少?
巨匠都未必給你這樣學;你半夜想問問題,老師還給你挖起來尿尿?
所以,想自由自在的用自己的步驟學,就是要有書
如果有書,那我爸的優點就是靜得下心看書;這點他的確比別人強
(有些人一定要帶著教,書都看不下,
  我前不久才去教燒錄機怎麼用,在網路上怎麼貼網址都教不會)
各種不同的學生我都見識過啦,反正都覺得電腦簡單,但簡單是因為我配合他,我會教
如果沒人肯教,那他自己就學不會;就是這麼怪
(所以我有在想,適合我的工作,會不會就是去當講師 XD,是的話我不會失業了)

還是扯太遠了,繼續說我前女友
(第一次去她家就進她閨房,她媽問怎麼這樣,她說來修電腦的 XD
科科,其實她比我強,我的網路概念還是她教的,我只是去修理人的而已)
前女友的工作原本是會計,珠算是本業
後來被新老闆看上,老闆親自教她寫 dBase (後來也轉用 clipper)
然後薪水每個月都加,一直從兩萬加到三萬以上(比我多)
會這樣加多少也是因為根本轉了個行業別
就好像如果你從抬拳道選手轉職成職業殺手,那薪水應該也會暴漲吧..
而她,就是從會計,轉職去寫商用程式,成為程式設計師
商用程式不強調 C 語言,不強調對電路一根根去控制的能力
強調的是撈資料庫做報表,所以用 dBase
但是會 dBase 且會寫程式就能做了嗎?
其實她的專業技能,就在"應付奧客"
(她的個性非常好,所以才能接受我)
她們公司才五個人,也是工作室(design house)
而她是寫程式資歷最淺,但負責收款的

程式再好,客戶不給錢當奧客也是沒輒;她卻是負責收款
所以公司非常器重她
照她說,她就是在原公司被老闆罵,逆來順受
新老闆隔著窗戶看她很久了,覺得這個做客服好
(當然好,她聲音很好聽,所以也兼做總機)
不過最神奇的還是接下來要說的
她說她已經寫過七支直銷了(天啊,台灣怎麼這麼多直銷)
直銷配利有公式,當然用程式來做最好

問題是,客戶給的公式根本不封閉...
(我不知要怎麼形容;線性代數應該都要可以封閉,就像能量守恒)
一如台幣總量也要守恒,如果不守恒,人間爭發,除非是變開放系統來討論
比如國際匯率及炒作等因素
好,她說的就是,比如商品賣一百元,扣掉成本四十元
六十元裡上線獲利兩成,下線獲利六成
只剩兩成公司獲利,那應該是12元
客戶卻會說要獲利 20元
不然就是"你怎麼不會寫程式" XDDDDD
咦,這是什麼鳥啊,寫程式還要包生的,你公式錯還要替你寫到會賺錢?
所以她面對的奧客級數很高,很會拉河馬(奧客拉河馬)
這是寫程式的功力嗎?
這要討論你該用 c or dBase or VBA 嗎?

不是,這都不是
但我真的可以承認,這就是 domain knowledge (怎麼翻?專業領域知識)
只要 domain knowledge 站得穩
程式跑得稍慢,或有點會當機,客戶不會計較的
客戶只在乎你要能給他想要的 (就是不賺錢的模型竟然要寫成會賺錢 XD)
喔,我前女友辦到了
畢竟她寫了七支,所以她有去輔導客戶改公式 XDDDD

----------------------------------------

本身我在公司也負責寫 UI
我設計的按鍵,老闆嫌醜
老闆不會親自和我談 UI 怎麼寫
他升一個有 UI sense 的同事來當我的主管;省心
所以比如昨天那個例子,會美工來學程式好不好
當然也很好,那就來設計 UI

不太會寫程式的話,就去設計網頁
客戶要你設計網頁,不是要看你 HTML語法有多強
而是要網頁漂亮
拍產品照片不漂亮就是零分,不用再談下去了
當然也可以美工歸美工,程式歸程式
不過我有同事就是這樣的人,所以職位叫 美工
前同事會美工又有程式設計 sense,能和工程師直接對話
職位叫做 美術總監
離職後就是直接接案在寫網頁的;程式她也會寫

----------------------------------------

那如果我開手搖茶店,或者賣批薩
會寫程式有沒有差?
有差,比如可以做出網路自動訂購系統
前公司 MIS 離職後去加盟手搖茶
那整個加盟系統的程式就交給他寫了,網頁也他寫
他這樣的人才,後來變成去交大當講師
(他並沒什麼碩士以上學歷;而是以軟體廠商講師身份進駐)
帶領學生團隊去參加比賽了
後勁十足啊

從這幾個故事裡可以看到,問題不在什麼語言
但你要可以解決問題

比如當客戶為不賺錢抱怨時,明明和寫程式無關
也要教育客戶讓他們修改公式賺到錢

我寫程式常有類似一文錢逼死英雄漢的感覺
整個程式可能都我寫的
但只有一行怎麼都寫不出來
好,那行最貴,要去問更資深的同事
他三兩下搞出來,我一個月都未必有結果

就是這樣,大家都會承認他的價值
而我仍然在當碼農..

一半的大學生都會寫程式,好學嗎?
我好歹也寫數十年了

-------------------------------------------------------------

就好像我看一個朋友在讀會計
我問他:會計的公式不是固定的嗎?
他回:對,我的價值不在計算精準,而在可以替廠商節稅

我又問:那能節就是能節,和考上有什麼關係
(就像法律,理直就是理直,難道還要有律師及格證書,才能證明我理直?好怪)
他才說:的確差別不大,考上可以去事務所
真正賺的是可以幫客戶"解決問題"的

喔幹,講到底就不是數學嘛,是政治..
我想連戰之所以那麼行,也是因為有很特別的會計吧..

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.197.55
※ 文章代碼(AID): #1OAPMxvh (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1479120315.A.E6B.html
tomwu1993: 對不起,看三分之一我就迷迷糊糊跳最後了1F 11/14 18:47

沒關係,有時自己懂了,就沒耐心看重覆的東西

ryan0222: 你平常是不是很愛碎念2F 11/14 18:48

我說不 :P
X,我要怎麼回敬你啊~

ERQQ: 可以總結一下你想表達的東西嗎3F 11/14 18:49

一半大學生學會?那沒用的
賺錢不在你會不會,也不在用什麼語言
然後開始舉各種程式設計師的例子:
我們都會寫程式,你看我們跌倒在哪裡,怎麼賺錢

helloeric: 這一篇文章值 1 Ptt幣4F 11/14 18:51

我損失很多呢..
這我打的啦, offline editor

panda04056: ???????5F 11/14 18:53
SuperUp: 不是公式不封閉 是提出需求的人自己都沒搞懂算式6F 11/14 18:53
winken2004: 我覺得寫得不錯啊7F 11/14 18:54

感謝,無敵星星補血~

SuperUp: 有時詢問到一半還會前言不對後語咧 呵呵 紙本資料也不全8F 11/14 18:54
pkmu8426: 語言有時候還是會遇到先天性問題  這時候會恨鐵不成鋼9F 11/14 19:05
Brown1010: 你講話是不是常常離題10F 11/14 19:05

是滴~
不過昨天的比較沒離題;所以不離題我也行
問題在於我意識到離題後開始做取捨
我想了想,這些我要提,不能刪掉
那就變這樣了

Bastain: 這篇文章好長  其實可以用簡單幾句就講完11F 11/14 19:06

可以的,我看一堆人推文的就我這篇的意思
但你想想,懂的人反正會跳過去
不懂的人看那一句推文還是不懂
我們是不是需要一個更完整的例子?

bopoha: 太長了12F 11/14 19:08

鄉民咩~

bopoha: 讓人有想show off的感覺13F 11/14 19:09

其實我看不懂什麼是 show off,還要去查字典
雖然我也用了幾句英文,但那些算是比較必要的
(就好像旗標的書不會全用中文,它有個取捨在
  你看我取捨單字都在於那是這領域裡需要用到的)
我還說了別人薪水比我高,我是碼農;這絕不是什麼炫耀
我要說的是:想清楚你要做的,會在這產業裡卡著什麼位置,你是不是關鍵
當我做過這個提醒,在道德面上,會覺得自己對網友是好多了
說真的我不吝於教別人電腦
但如果有人滿懷希望以為學了後會有多順利的人生
我會說別傻了,加班加到死
那這樣害一個朋友,你以為我心裡好受嗎?反正是他自己選的嘛,是吧..

簡單說有點像幹一行怨一行
但光抱怨並不精準;真的有人賺大錢啊,只不過不是我
所以我要傳達的精確來說不是抱怨
而是把這些例子,儘量交代出來
不只是交代給懂的人看,尤其是要交代給不懂的人看;所以我不應該精簡

如果有人看了覺得這工作不好,或者很好
那很不錯,他有更多資訊,更了解了這些

MA40433: 講重點14F 11/14 19:13
YahooTaiwan: 老人講古15F 11/14 19:15
pzyc79: 講古也講的很精彩啊~ 什麼騎馬三打一,借東風都在看了16F 11/14 19:20
YahooTaiwan: 現在還是那個 "你會寫程式好棒棒" 的時代嗎??17F 11/14 19:44
YahooTaiwan: 老人不是最清楚以前寫程式的進入門檻多高,現在變多
YahooTaiwan: 低嗎

所以呢?因為知道所以不要講出來?
你真的讓我不懂
我是覺得,因為知道,所以要講出來
這是八卦板,沒有錯吧?

套句柯粉的話:因為我不是寫給你看的

我的確想過分好幾篇,整理好一點來寫
但我也知道很多人對這些知之甚詳
所以最後,我決定擠在一篇
亂是有點亂,但你一個左轉就出去了

我想這樣對你這種人是最方便的了

jimmywhy2001: 程式不難 難得永遠是客戶阿20F 11/14 19:51
ilovecim: 老人講古但是精彩啊我看得懂耶21F 11/14 19:52
simpson083: 我現在養蜂,我也在寫程式計算溫濕度及蜂蜜產量22F 11/14 19:55

以前我爸養鳥,種花種草
他是曾想用電腦控制自動灑水
這些不難,有時是自己做,有時是自己懂,再花錢去買
(當你和賣家可以更專業的溝通時,總也比都不懂的人會好談些)

skfyeat: 重點應該就是有專業領域知識產出客戶所要的"正確結果"23F 11/14 19:59
skfyeat: 比你用什麼工具重要吧,這年代一堆人在賣弄自己懂什麼
skfyeat: 懂什麼殊不知做出來的東西,在使用者眼中跟屎一樣

我也做了不少屎 XD,一直不清楚誰會來買
大約十年前學長勸我創業,我不敢
現在覺得當年其實是可以的
反正問題又不在電腦上
就算只會開機安裝印表機,只怕也有這種需求
重點就是要把客戶服務好..

kingright: 很有意思  很多有趣的觀念26F 11/14 20:04
Dkuei: 無聊27F 11/14 20:38

你說對了,這行沒那麼有趣..

syuan6874: 推28F 11/14 21:05
roxcido: 推29F 11/14 21:19
※ 編輯: HuangJC (42.73.90.19), 11/14/2016 22:01:22
b99605015: 想看你程式瑪的comment30F 11/14 21:45
HuangJC: 寫程式會比這種文章好讀多了,因為囉嗦的東西,又稱為31F 11/14 22:07
HuangJC: dirty code, 我們一律會隱藏在函式裡;函式名稱會好懂
HuangJC: 如果我想離題的就留個註,然後另開一整篇,就那意思了
HuangJC: 可是我沒想要在同標題下連寫三篇...
※ 編輯: HuangJC (42.73.90.19), 11/15/2016 01:18:16

--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 1048 
作者 HuangJC 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇