標籤:style blog http io ar 使用 java strong sp
2012,是個特別的年份; 在 2012 , 有傳說中的世界末日, 更有IT、移動、互連網領域的日趨激烈的競爭格局演變,煞是好看。
2012 上半年,我還是個研究生; 下半年,正式入職,成為軟體開發行業中的一員。我還在學校的時候,特別想知道真實的軟體開發環境是怎麼樣子,那裡是一個充滿神秘感的地方,及至我真正進入,也開始有了真實的體會。
7月份,剛進入公司不到10天,就承擔了入職後的第一份任務:開發程式或工具,完成項目所需要的資料訂正工作。老闆說,我可以選擇 java 或 python. 最終我選擇了 python, 並使用推薦的 web.py 架構。因為,我覺得 java 來做這項工作可能很麻煩,不如 python 便捷。從項目角度來說,這實際上是個簡單的技術選型,當然這個選擇其實有風險的,因為我是邊學邊用的;不過有老闆和熟悉python的同事做代碼REVIEW,風險就小了很多。在這個項目中,印象最深的有三點:
1. 需求變更非常頻繁,交流需求非常密切,需要多個團隊密切配合;幾乎每天需求都會有新增和變更,每天在郵件中有來自各個團隊的交流和項目進度跟進。公司是小團隊制的,每個團隊的人數基本不超過10人,各負責一個子系統。我想,這就是真實的軟體開發環境吧和要面對的挑戰吧。需求挖掘和管理、專案管理和團隊協作溝通值得作為一門學問來認真探索。
2. 最不起眼的地方,埋藏著最大的危險。開發程式一定要考慮真實環境。在資料訂正的邏輯中,有個地方邏輯很複雜,因此投入了很多時間和精力來確保無誤;可是,有一張表的訂正邏輯非常簡單,因此用的是看上去非常平凡的SQL語句,結果在這裡出了麻煩:沒有考慮真實環境的效能問題,效率很低,以至於差點放棄此次發布計劃。
3. 自己的成長離不開老闆和工作夥伴的支援和鼓勵。正是有了各位工作夥伴的支援和包容,有了老闆做靠山,加上自己的努力, 比較順利的完成了第一份任務。心裡很是感激。所以,與工作夥伴保持良好的交往關係是很重要的。
關於此次項目發布的體會,可以參考我的博文:《第一次參與項目發布的體會》。 這裡就不詳述了。
接下來,去公司的另一個子公司接一個項目,除了 SSH , 還用到了 flex 技術。 此次領悟到的一點是,工欲善其事,必先利其器。最初,因為部署flex的熱調試看上去很繁瑣,就暫時不去理會,專註於業務的學習和項目的接手。結果每一個很小的 flex 改動,都要編譯整個 flex 工程。雖然編寫了指令碼完成自動化編譯和部署,可以在編譯部署的時候做些其它事,但根本問題還是沒有解決。總體來說,還是耗費了很多時間。因此,後來終於迫不得已學習了flex工程的熱部署,才讓flex開發大大鬆了一口氣。結論是: 在開始一個項目之前,一定要事先部署好工程的熱調試。到現在為止,我接手這個項目已經4個月了,基本能夠承擔起相關需求的開發,也做了些基本的思考,可以參考博文: 《如何構造軟體》
接手的兩個項目都需要學習新語言和新技術,我想這早已不是什麼新鮮事了。不過我想提出自己的開發學習理念: 有兩年以上的開發項目經曆的人,應該更注重領悟,而不是沉迷於某項技術的學習。領悟開發活動的本質,開發技術的本質,能夠觸類旁通,而不是學一個用一個。此外,程式員盡量涉獵更廣泛的技術領域,勇於接受新技術和新領域,而不是固守在單一的技術領域中。善於專註,敢於捨棄。每一次捨棄都是一次飛躍。
我的老闆也提出了給我的兩條忠告。第一次,他指出我太注重技術而不是業務的學習。我想這也是很多技術人員的通病吧。我們更夢想成為系統架構師,而不是業務專家。其實,從社會需求和職業晉陞的角度來說,業務才是關鍵,而不是技術。技術只是手段,業務才提供價值,產品是業務的具體實現形式。第二次,他大概看到我太沉溺於埋頭實現需求,與同事的交集太少,對我說,一個人要有自己的專長,要有自己獨特的價值,當提到某個事情的時候,別人第一時間想到的是你。這也是很好的忠告。不一定要善於誇大自己的工作,但也要適量地展示自己的工作; 要有自己的專長,不要什麼都會一點且只會一點。要深入事物核心,而不是滿足於表面的瞭解和使用。
要削減學習項目,收縮戰線,集中攻克一些子主題,確立自己的專長和競爭優勢;
懷著探索的方式和心態來學習和鑽研,深入事物核心和本質。
程式員的人生,除了面對代碼,還必須面對自己的前程和感情問題。因此,這段時間,更多地思考了自己的職業、技術發展之路,調整自己的生活態度,而不是全身心投入到技術的學習中。方向是努力的前提。程式員需要持之以恒的閱讀學習來汲取知識和靈感,需要運動鍛煉來保障可持續長久的發展,需要交流交往來結交志同道合之友,需要廣泛涉獵各種領域的資訊來擴充自己的視角和見識,需要進行認真的自我反省,來解決自己的情感問題。總結為五個詞: 閱讀、運動、交流、資訊、自省。一個真正的男人要有能力解決自己面對的問題,而不是無益的吐槽,跟隨大流,虛度光陰。應用開發人員熱衷於熟悉和使用各種開發架構,但有沒有想過,給自己的人生、職業和情感開發一個合理可擴充的架構呢?
總的來說,我覺得自己對內的思考是比較充分的,不過對外的關注不夠。我私下認為,人們對於科技創新和IT產品競爭的關注似乎過了頭,—— 科技雖然能給人們的生活帶來便利,但僅是便利而已。人的心靈和精神需要歸宿,沒有任何一種科技有能力解決這種根本性的問題。那麼,從局外人來看,感覺人們的關注有些捨本逐末,或是人們早已意識到自己無法解決這個根本性的問題,—— 就像圖靈停機證明一樣, —— 因此,不得不將自己的目光投向錯綜複雜的外界?
2012 年終將過去,祝願所有的開發人員,乘著新年希望的曙光,早日圓自己未完成的心愿~~~ 祝夢想成真~~~
2012, 軟體職場之旅啟程