2013年9月15日 星期日

技術的堅持和原則重要嗎?

關於到底重不重要這個問題我覺得真的沒有很重要耶
因為我覺得就算說多重要很多時候也只是被拿來說說而已
否則我們也不會有這麼多有關技術債留下的難題了
例如我就遇到過的:
a.一個網頁表單的aspx.cs會出現包山包海的數千行程式碼(神物件)
b.單一個存表單資料的資料表欄位能多達上百欄(反正規化?)
c.某個App_Code中的套印類別居然用上三維陣列(可能在實做什麼演算法吧)
d.網站首頁被放入複雜sql統計無cache直到有天流量尖峰使用者無法登入
e.網站登入資訊頁在Page_Load直接呼叫外站服務無例外處理讓網站隨外站一起掛
f.到處都是的SQL Injection弱點(真的可以執行sp_MsForEachTable逞罰)
g.同事網站的登入資訊居然用靜態變數儲存,上線自己還抓不到BUG
h.還有更多萬能的Session在控制項的事件中設定與讀取
...
還有許多,這些要列是列不完的
有句話說"知識是有限的,只有愚蠢才是無限的"大概就是形容這些。
但是我們也不能否認在獲得知識前無知的自己大概也曾經犯下過錯(或臨時的發蠢狀態XD)
差別在每個人蠢的時間長度不同,有些人真的是橫寫的阿拉伯數字八阿

可是這邊就產生了更奇怪的問題,而且對我們也許可能更加的重要
"解決這些技術債的問題算聰明還是愚蠢呢?"
我認為會有這些問題時表示技術的重要性已經有很大程度的被無視了
這時候應該要考慮的是"你自己的位置"
Position Yourself(http://st-threath.blogspot.tw/2013/09/position-yourself.html)
其實我是想分享這篇文章
當技術在你身上,而你在這個地方(黑人騎馬真得很奇怪?...)
會不會使你變得強勢還是繼續的弱勢你真的要想清楚

以前我曾經有件任務要去修改一個ClassLibrary1.exe的專案
這隻是個定期從外站服務撈取資料然後轉換存進系統資料庫的排程程式而已
需要我在裡面加上在存進資料的同時過濾出可疑資料自動發信email給使用者的功能
沒錯...這個專案名稱就是ClassLibrary1,新增類別庫專案時的預設名子(然後專案屬性被改成執行檔)
可想而知裡面的程式碼根本無法維護,要不就是我能力太差吧
沒有辦法,那時我就只好花了超出預定一點的時間去整個重寫這隻程式(不只是換個好名子啦XD)
後來也只是被主管問到是不是程式重寫了而已,感覺不出很在意為什麼的樣子
不過我也沒去多想...當然後來在那間公司還是有發生很多其他事情
最後也離開了那裡,和那間公司最後的關係就是互相的逞罰吧...
至於現在的我多少了解到關於真正的問題是出在哪裡

我們不應該留在視對技術的堅持和原則為愚蠢的地方
更重要的是要能更快的去查覺自己的位置、關於技術是被怎樣看待的
自己的機會會在哪裡、是否有什麼方法可以改變它,那些多少都是有跡可循的(不知道就google公司名稱阿XD)
又或者你的判斷是因為在其他地方有利所以可以讓步無所謂也罷
最怕的是什麼都沒想,沒發現自己處在不允許任何堅持的劣勢
那時再問對技術的原則與堅持重要嗎?
吼,我自己舉自己的例子都覺得有點丟臉了啦>///<

沒有留言:

張貼留言