標籤:style http io 使用 strong sp 資料 on 問題
軟體從業者需要應對來自兩方面的挑戰:
1. IT 行業的知識、技術更新很快, 如何去應對 ?
2. 軟體開發主要包括什麼樣的工作和任務, 需要擁有怎樣的專業技能和素養?
必須認真去思考這些問題,而不是一味埋頭於學技術, 這樣, 才能事半功倍。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我的答案是: 紮實的專業功底、精準的問題理解能力、使用專業工具分析問題的能力、快速自學的能力、靈活的頭腦、敏捷的思維能力以及謙和的品格與修養。理由如下:
1. 因為從事軟體開發從根本來說就是解決問題的一種形式,因此, 培養嫻熟的的溝通交流技能和良好的問題理解能力,準確理解客戶的需求以及領導的意圖,是非常重要的;
2. 在充分理解問題及需求的前提下,接下來就需要使用專業工具來分析問題, 獲得求解方案。這裡,專業工具的涵義其實可以很廣泛, 小到一個概念(比如I/0流,訊號量) , 一個編程技巧(比如 數組中的“哨兵”元素), 一個資料結構(比如數組、鏈表、散列表)、一種演算法技術(比如分治法、動態規劃法),中到一種具體技術(比如快取、虛擬儲存技術),大到系統建模工具、資料庫、應用架構的選用。程式員應當自覺地意識到並系統地運用這些有力的工具利器。
3. 自學能力也是相當重要的。工作中需要一個人能夠迅速理解和掌握實際中用到的複雜而綜合的技術,需要紮實的專業功底和一套適合自己的自學方法。
4. 光有勤奮用功的精神, 若沒有一個靈活的頭腦和敏捷的思維, 在這個“聰明人的行業”裡也會舉步維艱; 應當花功夫來磨練自己的頭腦和思維,使自己思考問題能夠更加周全、成熟和敏捷, 這樣才能真正地勝任更高層次的任務。不得不說,這確實是一個智力行業,無論這種智力用薪水衡量起來是否廉價。
5. 程式設計內功修鍊。 這種內功可從電腦基礎課程中獲得。核心的電腦專業課程主要有:離散數學、 電腦群組成原理、作業系統、資料庫、資料結構、演算法分析與設計、電腦網路、編譯原理。 重點並不在於學到了多少具體專業知識,而在於通過這些課程的學習,培養良好的問題理解能力,使用專業工具分析問題的能力,快速自學的能力, 以及鍛煉靈活的頭腦和敏捷的思維能力。 此外,廣泛涉獵軟體開發書籍,比如 《Unix 編程藝術》,《程式設計與實踐》, 《編程珠璣》, 《程式員修鍊之道》等, 也是對提高編程開發功底的大有助益的途徑。
6. 豐富的經驗資質。 通過細緻地觀察與適應真實的工作環境, 理解所要從事的工作類型及任務,從而可以有的放矢地學習和總結,通過長期的積累使自己成為該領域中一名有資曆的從業人員。
7. 品格與修養。 任何時候都不要忽略了個人的品格與修養的修行。做人為本,行事有準。
最後,什麼也取代不了多加研習, 勤于思考、實踐和總結。
進行軟體開發的能力與素養