作為軟體工程師解決現實問題應當具備的基礎技能

2021-09-26 16:26:14 字數 1097 閱讀 7984

程式設計開發本質是運用程式和計算機來解決現實中的各種問題,因此,程式設計開發人員的才智發揮載體是計算機或者說計算裝置,直接**是程式。

難度:中級

程式設計師用來進行程式設計開發所需要的技能,歸結起來主要如下:

順序計算、併發計算 (平行計算、分布式計算)。

理解應用所基於的計算模型和框架是非常重要的。傳統應用通常基於順序計算,而現代商業應用,比如雲計算,通常基於分布式計算架構;大規模的科學計算應用,比如基因序列計算,則基於平行計算。

熟悉常用資料結構和演算法設計,能夠針對計算目標設計高效的資料結構和演算法並實現之, 滿足效能需求。

至少精通一種主流資料庫, 從資料處理中分離出的一種專門針對大量應用資料實時檢索要求的技術。

程序、訊號、記憶體管理、api 等,理解相關概念及實現,熟悉使用linux&macos&windows至少一種作業系統。

tcp/ip socket , rpc ,http , 序列化與反序列化, 熟悉網路程式設計的底層原理。

面向過程、物件導向、指令碼語言、函式型、瀏覽器語言等,最好每種型別語言掌握一種。

靈活地操作文字和字串。

能夠讀懂**,維護**,重構或擴充套件**。

異常機制、 返回值與全域性變數、 直接退出或重續 等; 建造穩固可靠的應用的必要基礎。

尋求有益資源、遠端協作夥伴及有效解答。

保證程式的時間效能、空間效能、安全性、可靠性、可用性、 可擴充套件性、可讀性、可維護性、可移植性、使用者體驗。

解決實際的設計開發問題, 在現有專案的基礎上擴充套件功能模組時應該會經常用到。

用於子系統的設計, 需要專案經驗積累。

通常基於分布式計算架構,比如雲計算基礎設施。

首先必須確定具體需求,深入了解各種工具、技術與框架及其優劣,然後根據需求選擇最適合的那種。

上網搜尋已有解決方案;根據原理進行推斷和驗證猜想; 排查縮小範圍; 對比分析; 列印資訊。

比如使用現有的軟體。

針對每個問題,將自己掌握的技術和方法整理出來,並使用示例來說明,基本上就可以了解自己的技術水平了,同時亦可備日後用。

積微知著。人們常說的那些「大技能」,其實可以分解為大量的微技能,而積累越多的微技能,在處理問題時便有了越多的選擇和思考餘地。作為軟體工程師解決現實問題應當具備的基礎技能

軟體工程師的健康問題

軟體工程師的健康問題 最近單位那些狗屁事情讓我心情不佳,看什麼都煩。這心上有火,嘴上就長瘡,坐在電腦前整個那就是個痛不欲生。關於it工程師的的健康問題早就在我心裡盤算了一兩年,都是從身體感覺不良開始的,再往前只知道玩命的幹活 其實不知道那是在玩命,還樂此不疲。每天晚上兩點睡覺,七點起來上班,在家裡連...

作為乙個軟體工程師的經驗

我覺得,與現階段學習緊密相關的是個人規劃問題,規劃不同,自然需要學習的內容也不同。心無旁騖的時候不妨問自己這樣乙個問題 我希望十年後二十年後的自己是什麼樣子的?如果能迅速明確的回答這個問題,那麼你的心中肯定也有了乙份對未來的美好藍圖。這也就是奮鬥的目標,雖然有可能這個藍圖現在看來非常遠,非常不現實,...

軟體工程師招聘需求

我們又很多軟體工程師需求,有意向的和我聯絡 c 高階工程師 任職要求 1.大學本科及以上學歷,計算機相關專業畢業 2.良好的英語閱讀能力 學習能力 溝通能力及團隊協作精神,能夠承受一定工作壓力 3.紮實的 c 程式設計功底,精通 win32 mfc 和多執行緒等技術 4.五年以上 visual c ...