返回列表 發帖

[轉載] 你屬於哪個版本的程式設計師?

國外開發者博客中有一篇有趣的文章,將程式設計師按水準像軟體版本號那樣劃分為不同的版本。相對于在招聘時分為初級,中級,高級程式設計師,直接表明需要某種語言N版本的程式設計師或許更方便直接。根據作者的觀點,可將WEB開發者大致分為以下幾個版本:

Alpha:閱讀過一些專業書籍,大多數能用Dreamweaver或者FrontPage幫朋友製作一些Web頁面。但在他們熟練掌握HTML代碼以前,你大概不會雇傭他們成為職業的WEB製作人員。

Beta:已經比較擅長整合站點頁面了,在HTML技巧方面也有一定造詣,但還是用Tables來製作頁面,不瞭解CSS,在面對動態頁面或資料庫連接時還是底氣不足。

Pre Version 1 (0.1):比Beta版的開發者水準要高。熟悉HTML,開始瞭解CSS是如何運作的,懂一點JavaScript,但還是基於業餘水準,逐步開始關心動態站點搭建和資料庫連接的知識。這個版本的WEB開發人員還遠不能成為雇主眼中的香餑餑。

1.0: 能夠基本把控整個站點開發,針對每個問題盡可能的找到最直接的解決辦法。但對可測性,可擴展性以及在不同(層)框架下如何選擇最合適的WEB設計工具尚無概念。這個版本的WEB開發者有良好的技術基礎,需要有進一步的幫助和指導。

2.0:懂面向物件的編程語言,理解分層開發的必要性,關注代碼分離,對問題尋找更完美的解決方法,偶然也會考慮設計模式的問題,但對此仍然概念不清。屬於優秀的初級開發者,能完成較鬆散的代碼開發(相對大型嚴謹的站點開發而言),在面對較複雜問題尋找解決辦法時需要周邊人的幫助。

3.0:開始較為深入的理解面向物件編程和設計模式,瞭解他們的用途,當看到好的設計模式時能看透其本質,逐步關注分層的架構解決辦法和可測試性。理解不同的開發語言並能說出他們的異同(例如各自的優勢)。屬於優秀的中級別開發者,雇主也確信他們最終能找到問題的解決辦法,這個版本的人可以給1.0和2.0的開發者以指導。但他們對架構的理解仍然不夠清晰,值得一提的是,只要給予一些指導,他們能很快理解並熟記做出的決定,以及選定方案的優勢所在。

4.0:理解模式,重視用戶的回饋。著手研究方法論,架構設計和軟體發展的最佳入口。頭腦中已經形成了超越開發語言,技術架構的整體方案,可根據需求解構程式。能從理論的角度,不同模式如何融合成最佳形態,將多種X-驅動的模式應用到不同的方案中。是精通多語言的高手,理解不同系統和方法論的細微差別,屬於高級程式設計師。這個級別的人能夠輕易的輔導2.0和3.0的程式設計師,將他們推向更高的級別。

5.0:從系統的角度考慮問題。對各種系統結構有深入研究,能對整個代碼架構中的問題進行改進。在團隊粘合性以及代碼安全性方面有傑出貢獻。對1.0到4.0版本的開發人員出現的問題能及時察覺,讓整個團隊保持積極性且保持興奮的狀態創建軟體解決辦法。舉例來說,他們總是對新的技術和資訊保持饑渴狀態,試圖用最簡便的方案解決開發任務。在整個IT團隊中獲得信任,屬於高級程式設計師和架構師。

那麼,您屬於哪個版本的程式設計師呢?
To infinity and beyond!

返回列表 回復 發帖