架構師成長之路二-----技能需求


可以看到網上收的部分架構師的能力要求,多種多樣,可根據自己感興趣的和自己目前從事的方向進行學習。



1.設計和開發汽車電子應用軟件;
2.與相關同事溝通協作,理解並實現業務功能需求;
3.編寫、維護開發文檔,設計測試用例;

崗位要求:

1.本科及以上學歷,計算機、電子信息等相關專業;
2.熟練使用C/C++語言,具備良好的編程風格;
3.熟悉Python、Bash等常用腳本語言,瞭解Lua;
4.掌握軟件工程相關的基本概念,熟悉常見開發流程;
5.熟悉Linux應用開發,具備網絡套接字、多線程、進程間通信等編程經驗;
6.具備一定的軟件架構能力,熟悉若干種常用設計模式;
7.有FreeRTOS、uC/OS-II等實時操作系統開發經驗者優先;
8.具備較強的英文技術文檔閱讀能力,良好的中文文檔寫作能力。


崗位職責:1. 負責公司人工智能產品線軟件架構設計與開發。

2. 打通從芯片到驅動/OS/框架/應用/雲端的全流程。
3. 相關算法的軟件實現與部署
4. 底層信號處理框架/物聯網框架/應用框架的開發
崗位要求:
1.計算機/電子等相關專業本科以上學歷
2.熟練C/C++,Python,Linux shell編程,網絡編程,服務器架設等
3.熟悉操作系統原理,軟件設計模式,軟件工程,編程思想。
4.熟悉信號處理/機器學習/深度學習相關算法原理

5.優秀的自學能力,自我驅動能力,團隊合作意識


1. 計算機或相關專業本科學歷,5年以上J2EE應用開發經驗,2年以上產品設計、架構經驗;
2. 精通J2EE系統架構,深刻理解J2EE架構的優缺點,具有大型基於J2EE體系結構的項目規劃、系統架構設計、開發經驗,精通J2EE設計模式;
3. 深刻理解軟件系統架構,精通面向對象分析設計方法,邏輯能力佳,具有豐富的OOA、OOD、OOP以及UML建模經驗;
4. 熟悉Oracle/ Mysql /SQLServer等主流數據庫管理系統、相關技術及工具;
5. 精通WebSphere/WebLogic//Tomcat等主流J2EE應用服務器,熟悉Hibernate,mybatis,Spring框架設計者優先;
6. 具備很好的學習能力,及良好的職業操守和個人道德,服從上級的工作安排,高執行力,高理解力
7. 能適應短期出差。


任職要求:
1、首先你必須是一名Geek,或正致力成爲一名Geek;
2、你必須具備5年以上編程經驗,精通gcc/g++、make、gdb;
3、你必須精通至少一種腳本語言shell/perl/python;
4、你必須熟悉編譯原理,精通數據結構和常用的算法,如果你有自己思考和實現會相當靠譜;
5、Oracle/Mysql/MS SQL SERVER/DB2......關係型數據庫熟練一種以上,對SQL語言的性能優化有一定的瞭解;
6、你必須有帶領團隊的經驗,並且對於團隊有一定的想法
6、如果你有機器學習/深度學習/神經科學/心理學等相關方向的經驗和興趣,對未來的工作會非常有幫助。


崗位要求:
1、五年的互聯網系統設計及開發經驗,有互聯網架構者優先;
2、精通java,精通jvm(通過jvm命令分析各種線上問題),熟悉各種java中間件(metaQ、solr、netty、java序列化),且深知各個中間的原理;
3、能用領域模型的思想設計系統,且能合理的設計分庫;
4、熟悉noSQL,redis集羣、mongoDB集羣,且能進行java層的封裝;
5、熟悉linux操作系統和Shell腳本語言;
6、有分佈式存儲開發的經驗優先;
7、高可用的數據庫建模思想。                   

職位描述:
1、3年以上.net開發經驗,有2年以上架構設計經驗。對系統高併發,高存儲,高穩定性、安全性有完整的解決方案;
2、對.Net技術有深入研究,精通C#、asp.net、MVC、Web API/WCF,瞭解Web Service、Remoting、Restful、WinForm、Dapper、spring、EF或其他Orm、Redis、MQ、領域模型、UML等技術及設計架構,懂java更好;
3、熟悉Web前端開發技術(AJax、HTML5、JavaScript、CSS、jquery等);
4、熟悉軟件架構、設計模式,有較豐富的系統分析與設計經驗, 熟悉網站性能和安全優化、熟悉分佈式、多線程等高性能架構相關技術;
5、精通UML建模,熟練使用相關建模工具;熟練使用各種開發方法進行系統開發,並具有規範的開發、設計文檔寫作能力;
6、同時具備.net、java兩者經驗者優先,有大型網站開發經驗者者優先。



嵌入式開發注重底層技術,少邏輯。而互聯網開發注重業務邏輯,圍繞着網絡以及用戶體驗,而且上層技術更新快,在互聯網公司不斷能接觸到新的技術。想想我當初轉型還是挺有機遇的。
現在在一家互聯網創業公司,公司招人比較看中工作經歷,一般喜歡互聯網名企的牛人,其次是創業互聯網公司的技術骨幹,具體能不能轉要看你的機遇和努力。嵌入式開發,算法接觸的並不多,網絡多併發這一塊我更是沒有任何經驗。

腳本語言的比較

腳本語言的比較,可能比較凌亂,但我想側重以下幾個方面:學習曲線,語言本身的特色、跨平臺的能力、國際化的能力,以及它在應用領域的份額。

Unix/Linux Shell

        首選還是要提一提Unix/Linux Shell(包括awk、sed),它也是腳本語言,並且可能是我們日常使用最多的。我個人感覺,shell更適合做流程化的系統管理工作,而對於邏輯較爲複雜的應用級產品,shell的開發和維護難度都相當高。帶有個人情感的說,shell的學習難度大於大多數主流腳本語言,這和它的語法特點,調試、運行環境等等都有關係。因此,日常流程化的系統管理工作,shell仍然是一個不錯的工具,除此之外,相信大家還有更好的選擇。

Python/Jython

       Python最大的魅力之一,就是簡單易學,一個新手可以短期內(有人說是十分鐘,我認爲幾天是完全可能的)就寫出高質量並且實用的程序,它甚至被稱爲非計算機專業人士學習編程的最好選擇。Python的功能強大,標準庫的豐富程度,估計連Java也望塵莫及。Python適合做系統管理,但這並不是說它不能做大型應用程序。Python應用的成功案例,已經數不勝數,尤其是在科學計算領域更是獨樹一幟。Python是一門優秀的面嚮對象語言,但更多的Python程序員,喜歡Python面向過程的部分。我個人感覺,Python的OO不如Ruby,因爲不夠徹底,但這也正是Python支持者更愛它的地方。

        可惜的是,Python在企業應用領域沒能有更大的突破,近幾年更有被後起之秀Rails(Ruby的WEB框架)拋在身後的意思。但這並不說明Python在企業應用方面不成熟(豆瓣網是離我們最近的Python案例),如果有興趣,大家可以瞭解Python社區最具人氣的WEB框架Django,也可以去看看簡單到讓人難以置信的WEB框架webpy。Python在短短几年內就成爲六大主流開發語言之一,絕對不是蓋的!

       Jython是Python的Java實現,它是IBM WebSphere服務器官方指定的管理語言。我選擇jython是看重了jdbc訪問數據庫的便捷。但可惜的是,jython對中文支持非常不好,可能是python本身的複雜度較高,jython團隊的活躍度也比較低,總之Jython要走的路還很漫長,至少我認爲當前版本,還不具備投入生產開發的能力。

Ruby/JRuby

       Ruby是腳本語言的後起之秀,它的成功要得益於殺手級框架Rails,Rails社區早就喊出了幹掉Java的口號,雖然這種口號沒有什麼實際意義,但Rails的確已經成爲眼下最爲炙手可熱的企業應用框架。我個人花了幾個月的時間學習Rails,雖然沒有實際的開發經驗,但Rails敏捷開發上的突出表現,的確是當仁不讓的,這也是它能迅速竄紅的主要原因吧。

       拋開Rails框架,還是來說Ruby。Ruby的語言特色是純面向對象,語法以魔幻著稱(它吸收了Perl、Python等腳本語言的大量優秀元素)。因此它的學習曲線要高於Python,但是學成以後可能會寫出非常優雅的代碼。美中不足是Ruby還年輕,它的標準庫還不夠豐富,成熟的第三方庫也相對較少,但這些情況會隨着時間的推進逐漸改變。

       Ruby完全可以勝任系統管理的需要,當然,如果開發WEB程序,Rails更是不二的選擇。

       JRuby是Ruby的Java實現,也是最早被Sun官方接收的Java平臺腳本語言(後來還有Jython)。JRuby與Ruby的兼容性非常高,團隊也非常活躍。如果想在Java平臺上使用腳本語言,除了Java原生的Groovy,我推薦JRuby,這也是我的選擇。

Perl
       提到Perl可能很多人會想到CGI,我個人可能更多的會聯想到文本處理,事實上,Perl設計之初的主要用途的確是在文本中提取信息。Perl像Python一樣,是目前最久經考驗,且成熟度最高的腳本語言之一,它有着大量的用戶羣和忠實的粉絲,因此我說Perl的壞話就比較心虛一點:)

       坦白的說,我不太喜歡Perl,可能像大多數不喜歡Perl的人一樣,Perl語法讓人不太習慣,有人說Perl的語法醜陋,可能有些誇張,但這能說明一些問題。Perl社區至少也應該承認一點:Perl是一門比較難上手的語言。這並不是說,你短期內掌握不了Perl,而是你短期內寫不出真正像樣的東西。另外,Perl不是面嚮對象語言,當然,很多人並不看重這一點,但這並不是什麼優點。

       Perl適合做系統管理,我覺得它跟shell很像。在其他應用領域,尤其是internet方面,

       Perl都有不俗的表現。Perl非常優秀,還是那句話,語言沒有好壞,只有合適不合適。

Groovy

       如果你正在爲“熱愛Java平臺”和“厭惡Java語法”的事情糾結,Groovy可能就是最好的選擇。Groovy可以說是Java平臺的原生腳本語言,與Java完美結合,它本身不提供標準庫,完全使用Java的API庫。在Rails成功之後,Groovy社區也出現了Grails框架,用來抗衡Rails。Groovy本身也吸收了Ruby大量的經典語法,熱愛Java的人,可以選擇Groovy。

腳本語言的缺點和未來

      目前大家公認的,腳本語言的主要缺陷還是性能問題,當然這可能取決於很多因素,問題是有多少情況下,性能問題纔是致命的。從EJB的崩潰,Spring的興起到Java遭受質疑,Rails取得成功,都說明,大家在面對不同規模的應用時,已經非常理智了。我相信能夠真正服務於我們的技術,纔能有好的前景,腳本語言的明天是無限光明的!




發佈了34 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章