全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1915
推到 Plurk!
推到 Facebook!

程式設計師要學些什麼

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-18 00:14:26 IP:61.221.xxx.xxx 未訂閱
此為轉載文章 程式設計師要學些什麼 1.自己設定的方向 程式設計是很迷人的領域,甚至東西弄不出來時,還像是高級的愉樂,令人樂 此不疲我們有一個客戶就是這樣,明明國外可買到合用的軟體,但他一句 話:"不信台灣做不出來",所以他寧可再花一倍價錢來買我們的產品;甚至我 們還在發展中,程式還不能用雖然他不是程式設計師,但他堅持的理念,卻和 我們程式設計師同在而我們呢? 最近瘋狂加班,為了日本展schdule,有一群工程師已在公司不回家72小時 了我們每個人的功力,降個級去寫輕鬆點的Project,不過再要把自己所學 發揮到如此淋漓盡致,卻是不能的了 我最近參與的專案,是用電腦控制伺服機台,定位精度已可到達千分之一mm 程式完成一週之後,電機人員一直嘗試新的PID參數及接線因為程式是一種 數位性的東西,對於精度,在某一個程度後已幫不上忙,try出結果那晚,真 是欣慰且鬆了一口氣,因為這個艱難的結果得來不易;但業務卻在很久以前 就先把產品賣出去了~^_^~ 萬一做不出來,結果真是很難想像 2.生涯規劃 當清楚知道一些程度遠遜於我們的程式設計師可能不用這樣加班 不能說我們毫無感覺,而且程式設計師的生命極為有限;這句話是指某個程 度而言,當我還是國小時,寫的程式就讓某些已就業的設計師害怕了 同樣的,我現在最怕的也是那些還在學的學生,這份工作真是很難講年資,如 果沒有生涯規劃,只會coding,肯定將來寫不過年輕人 3.專業的充實 興趣和專業永遠是相生相剋的 一是有助談興的淺嘗即止,另一卻是不達目的不能休止的投入 只有在前面兩點有了定案之後,才能知道要朝哪方向去努力 從前我曾很想寫電腦象棋一類的程式 論coding,我早就有能力了;但我不會下象棋, 演算法這東西不能老是要問別人,自己一定要懂,要能清楚的描述 只懂電腦卻沒專業,那永遠寫不出個東西來 我常說,寫程式其實是個溝通的過程,是把心中的理念implement出來 有些人心中的專業理念根本一竅不通 比如我前女友的客戶;前女友專寫商用軟體,對於直銷公司分紅軟體有五套 以上發展經驗;(這是分手前的數字) 可是她經常面對客戶毫無道理的邏輯: 下線分紅百分之幾,上線及次級上線又分別分紅百分之幾...; 公司內也有一般月薪制管理人員 搞到最後竟然利潤不夠分,請問這是誰的錯?? 在此程式設計師是不會錯的,是客戶自己算帳的腦筋不清楚 一個專業不足的人,是絕對無法把程式寫出來的 寫程式前,先把自己的問題好好描述一次,最好能全盤手算模擬一次 連人都搞不懂怎麼一回事的演算法,更別想能向電腦清楚的描述了 不管用什麼語言,還不就是要電腦聽懂你的理念? 現在電腦還不懂人話,但就算懂得人話,遇到腦筋不清楚的設計師 說不定你還是要向它大吵一架:"你還是聽不懂我的意思"^_^ 4.扎實的功夫 從前老師曾教我,做Hard Ware(H/W),就是Hard Work,是苦功;避不掉自 己焊版子tune線路 做Soft Ware(S/W),就是Slow Work,避不掉慢慢的規劃,一步步的實作 這是指比重而言;硬體未必就不用規劃了,軟體也不見得就輕鬆了 但是軟體偏重規劃,是絕無疑問的 我寫程式到現在,從來沒有一個暫時的解決方案將來不出bug的 寫程式一定要規劃,要記錄; 再怎麼急就章的暫時模組,都要當做Release版本一樣詳細記錄 這樣在將來找bug時才能輕鬆應付 我甚至連暫時性的除錯模組都不會濫用如"a,b,c,d,e,a1,a2,a3,a4"等 等語焉不詳的變數名稱 一個大的專案,放個幾週後回頭來看,其難度不遜於看別人的程式 到時看不懂自己寫的程式是很可笑的事^_^ 而在Team Work時,也只有這樣才能釐清誰對誰錯 同事一句話:幫我把指令規格改一下,一個月後卻說:功能怎麼不同了 這是很常見的事!! 只有詳細記錄下Spec的更動,才能向同事力爭:規格是你改的,改了怎麼會 一樣!!別以為這很好笑,大公司裏什麼事都要公文白紙黑字,為的也是這件 事;口頭無算!小公司雖然較無文件,管理之累,但軟體人員仍要事事小心 因為你所面對的code,雖然是自己寫的,但面對昨日的自己,去年的自己... 這簡直就像是面對另一個同事,在軟體的高度抽象之下,一個五人的小公司, 面對每年累積的包袱,一個不小心就像五十人運作的中型公司一樣,處處置 肘!! 我現在寫一個難度不低的程式,其功能不過是把客戶檔案轉成另一種格式 這格式是從前同事早寫好的程式所需要的, 換句話說,同事寫Parser,我寫PreParser 面對同事那如同黑盒子,他自己早已招認自己也看不懂,文件失傳的大怪物 我的PreParser做了不少虛功,卻又不能不做;不做就是拋棄舊客戶 但是,PreParser Parser可以簡化成New Parser;難度可非常簡單了!! 只要把演算法詳細記錄,直接寫的New Parser程式可以小很多!! 比如,Parser千辛萬苦的幫一堆整數標定小數點,變成浮點數(單位轉換) 但是標定邏輯有誤,於是PreParser也得千難萬難的故意把新資料轉成整 數,甚至是轉成有特定規格的整數;還得故意產生舊Parser需要的Bug!! New Parser其實可以...直接從新資料轉成結果,一次OK才對 但誰叫我們失去了Parser程式的演算法... 於是只好一次一次做著多穿一件褲子,等別人來脫的蠢事 穿褲子,脫褲子...我是在形容另做一個Shell來包裝舊程式的愚蠢 這句話大概要曾犯相同錯誤的朋友才能理解了 我常在這個論譠看到朋友們問一堆描述不詳的問題 這功夫做得一點也不扎實 一個只有標題一行,內容一兩行的問句,是很難描述問題的 不只電腦不是我們肚裏的迴蟲,連另一個工程師,也不可能和我練成心靈相 通的本事呀!! 同事要求我做UI的改版時,講三次講不清他的理念,我就會要求圖解了!! BCB做UI,雖然只是拉拉滑鼠的簡單功夫; 那你向別人提出要求時,為什麼不先回自己座位,拉拉滑鼠畫一張圖給我!? 等你畫完圖,發現在800*600的pixel裏根本擺不下那麼多UI元件 你根本就不會提出那麼可笑的要求 不要認為別人必需幫你做實驗,這樣可以結省很多時間 UI改版說簡單是簡單;但碰上多語系專案,一個UI改版工程還是蠻大的!! 每個語系的UI FORM你都得重畫一次 規劃的時間愈多,除錯的時間就愈少, 這是任何軟體工程都在強調,但每個程式設計師都常犯的一個錯誤 一個有效的方法可以管制這個現象:口頭無算,文件詳實 5.了解自己的價值 從上面可以知道,文件的重要性 如果寫程式還是浮浮燥燥,三不五時就來個結構大翻修, 那麼下面幾句話可以思考思考: 程式其實人人會寫,隨便找個人就比你會coding;人外有人,新人好找得很 公司請一個工程師,其價值絕不在他暫時coding的能力 而在於他長期對自己程式的管理能力 一個能面對昨日的自己,甚至數年前的自己的工程師 其管理能力相當於可以管理數個人,像個小課長一樣 事實上每個工程師經常會受到幹部級的尊重! 即使你的名片上寫的是公司裏最初級的工程師 但是所做的事,所受到的尊重,在在都讓人覺得,你根本就是位課長,根本就 是位經理,因為你所寫的code,在數年後還是要維護, 有什麼別的行業出貨像我們一樣嚴格!! 有,就像醫生,看過病人不能隨便就忘了,而要在病歷上詳細記錄 一個病人的病歷可以長達數年,只有詳細追蹤才能掌握病情 工程師的價值不在短期的coding能力,而在長期的管理能力 每個工程師都應受到幹部級的尊重(分紅配股更是流行趨勢) 而面對這份尊重的自我要求,自我管理當然也不能少了 eyeball 2000/5/23 下午 06:41:22 No.1 這真的是一語道出心中事。好文章。謝謝您,對我這個年輕的程式設計者很 有幫助。 軟貼至ePaper的 JAVA週報 2000/6/2 下午 05:55:34 No.2 我們公司一直都在找人。但是我找人的時候,不會去找號稱"會Java"的人 ,因為什麼叫做"會"?如果是一個新的東西,不可能有豐富的經驗。所以 與其找一個"會Java"的人,不如去找一個學習能力強,而且有豐富C 經驗 的人才。因為C 也是功能強大的物件導向語言,有多年豐富的C 專案實作經 驗,很容易可以跨進 Java領域。所以我寧願找一個某一種"舊東西"的高手,也 不要一個今天宣稱"會Java",明天號稱"會XML",履歷表經常更新的牆頭草。其實 C ,Java 都只是工具,真正有價值的是你利用這些工具做出什麼樣的東西。例 如做過醫療方面的產品,對醫療市場就有一定程度的了解;或是寫過影像處理的 軟體,將來這領域的經驗,知識絕對是別人在短期內學不來的。這就是所 謂的"Domain Knowledge"(專業知識)。 所以回到同學們的問題,在學校要學什麼將來才有用?有些趨勢專家會告 訴你將來的市場是在什麼無線通訊或是生化科技等等,我勸大家別相信這 些事後諸葛的話。資訊科學有太多具挑戰性的領域還待開發,例如人工智 慧、機器、翻譯等等,而這些領域需要的基本工夫和其他軟硬體領域一樣 ,是數學/程式語言/演算法…等等。唯有打好蹲馬步功夫,再找一門自 己有興趣的科目鑽研。即使將來無法應用所學,相關的學習經驗也會讓你 很容易跨足其他領域。這樣總比老是跟著目前當紅的技術跑得團團轉好得 多。老是學最新技術是學不完的,Client/Server、OOA/D、RDBM、TCP/IP 、HTML…,人生苦短,老是在K別人制定的東西未免太累了,您說是吧?
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
ahcheng
一般會員


發表:13
回覆:72
積分:17
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-20 08:47:24 IP:61.30.xxx.xxx 未訂閱
引言:工程師的價值不在短期的coding能力,而在長期的管理能力 每個工程師都應受到幹部級的尊重(分紅配股更是流行趨勢) 而面對這份尊重的自我要求,自我管理當然也不能少了
佩服!佩服!過來人的話. 經驗和傳承都有了.
系統時間:2024-03-29 21:55:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!