2017年7月20日,IEEE Spectrum 發布了第四屆頂級編程語言交互排行榜。因為有各種不同語言的排行, 所以 IEEE Spectrum 依據不同的變量對流行度進行了排行。據 IEEE Spectrum 介紹,他們的排行依據數 據記者 Nick Diakopoulos 提供的數據,結合 10 個線上數據源 的 12 個標准,對 48 種語言進行了排 行。 Python 的排名從去年開始就借助人工智能持續上升,現在它已經成為了第一名。但排在前四名的語言 Python、C、Java 和 C++都擁有廣大的用戶群體,並且他們的用戶總量也十分相近。實際上, Diakopoulos 在對公司招聘所要求的基本語言分析中,C 語言的需求甚至還要在 Python 之前。
Python的火熱度持續不斷。。。。。。 你覺得Python真的好嗎?或許你在漫天的宣傳中看到了這些:
- 接近英語的簡單語法;
- 開發環境簡單,能打字就能寫代碼;
- 眾多的第三方庫; 解釋執行,不需要編譯;
- 跨平台,方便移植;
但是作為一個負責任的假程序員 ,要跟你說的是:就算再簡單的語言,也得學才會會,不要在好不好,真 的好不好這些事情上下功夫,要在怎么學如何學上下功夫。 那么,言歸正傳,我們來看看Python這個神奇的語言。
第一部分:各個領域應用的語言。
大家看這個內容,其實你很明顯發現,其實各個語言都有他的用處。我們可以說Python是應用最廣的。但 是暫時還是不能說它是全能的,因為他也有它的短板,但是對於一般的小公司和小項目而言,是很難得的 全能。
現在有個很奇怪的現象,就是大家把Python神話了。Python作為一門語言,確實有他的優勢。但是建議大 家在學好這個語言的同時,要學第二門語言,這樣未來對大家有好的發展。
第二環節:Python工程師在企業里面的定位是什么?
四個重要的定位:驗證算法、快速開發、測試運維、數據分析。
1、驗證算法 :就是對我們公司一些常見設計算法或者公式的驗證,公式代碼化。
2、快速開發:這個大家應該都比較熟悉,快速開發,就是用成熟框架,更少的代碼來開發網站,Python 在網站前后台有大量的成熟的框架,如django,flask,bottle,tornado,flask和django的使用較多,國 內用Python開發的網站有:知乎、豆瓣、扇貝、騰訊、阿里巴巴;
3、測試運維:做運維同學應該清楚,在Linux運維工作中日常操作涵蓋了監控,部署,網絡配置,日志分析 ,安全檢測 等等許許多多的方面,無所不包。python可以寫很多的腳本,把“操作”這個行為做到極 致。與此同時,python在服務器管理工具上非常豐富,配置管理(saltstack) 批量執行 ( fabric, saltstack) 監控(Zenoss, nagios 插件) 虛擬化管理 ( python-libvirt) 進程管理 (supervisor) 雲計算(openstack) ...... 還有大部分系統C庫都有python綁定。
4、數據分析:Python有三大神器:numpy,scipy,matplotlib,其中numpy很多底層使用C語言實現的,所 以速度很快,用它參加各種數學建模大賽,完全可以替代r語言和MATLAB。spark,Hadoop都開了 Python的接口,所以使用Python做大數據的mapreduce也非常簡單,加上py對數據庫支持都很好,或者 類似sqlalchemy的orm也非常強大好用。
在結束這個部分之前,大家有沒有一個疑問:為什么爬蟲沒有中重點講?
其實這里給大家重點說一下,如果你要學好Python,僅僅停留在爬蟲上,這個是很不靠譜的。Python 寫 爬蟲的教程網上一抓一大把,據大家所知很多初學 Python 的人都是使用它編寫爬蟲程序。小到抓取一個 小黃圖網站,大到一個互聯網公司的商業應用。通過 Python 入門爬蟲比較簡單易學,不需要在一開始掌 握太多太基礎太底層的知識就可以很快上手,而且很快可以做出成果,非常適合小白一開始想做出點看得 見的東西的成就感。
除了入門,爬蟲也被廣泛應用到一些需要數據的公司、平台和組織,通過抓取互聯網上的公開數據,來實 現一些商業價值是非常常見的做法。
當然這些選手的爬蟲就要厲害的多了,需要處理包括路由、存儲、分布式計算等很多問題,與小白的抓黃 圖小程序,復雜度差了很多倍。
第三部分:python的崗位,薪資,及技能要求
Python崗位有哪些呢?主要的崗位有這些:
- Python全棧開發工程師 (10k-20K)
- Python運維開發工程師 (15k-20K)
- Python高級開發工程師(15k-30K)
- Python大數據工程師(15K-30K)
- Python機器學習工程師(15k-30K)
- Python架構師 (20k-40k)
目前應用最多的:全棧開發、數據分析、運維開發,大家知道他們分別的要求是什么嗎?
我們來看三個崗位要求:
- 崗位1:任職要求 1.計算機、軟件相關專業本科或以上學歷,3年以上工作經驗;
- 2.熟悉python、JS開發語言;
- 3.具有MySQL數據庫設計與優化能力,熟悉mongoDB、mc、redis等一種以上;
- 4.熟悉Linux/Unix,能進行shell編程;
- 5.具有良好的學習能力,時間和流程意識,溝通能力、團隊合作
崗位定義:Python運維開發
- 崗位2:職位要求 1,熟悉 Python 編程;
- 2,熟悉 Linux 系統;
- 3,熟悉 shell 編程;
- 4,了解 django/web.py/flask 框架一種及以上;
- 5,有一定的 Web 后端開發經驗,熟悉前后端分離的開發模式 熟悉關系型數據庫 的使用與基本設計優化方法,了解常見的 NoSQL 數據庫如MongoDB, Redis 等;
- 6,良好的編碼風格及測試習慣 加分項: 在 GitHub 上有開源項目
崗位定義:Python全棧開發
- 崗位3:任職資格 1、具有python開發數據處理軟件的經驗;
- 2、精通Python,掌握numpy,scipy,matplotlib,pandas等數據處理方面常用的第三方 python庫;
- 3、熟悉至少一種Sql數據庫 (mysql/ sqlserver/oracle);
- 4、熱愛編程、具有良好的代碼風格;
- 5、做事具有條理性,具有良好的自學能力、分析問題以及解決問題的能力。
崗位定義:Python數據分析
那么,大家來看看,這三個崗位基本要求里面,有哪些共性和不同?
第一層:python的基本語法和標准庫
既然你要會python開發,那么語法基礎和庫是最基本的。
第二層:Linux基礎
全棧和運維涉及linux服務器的操作,那需要shell編程和linux基礎操作的基礎能力。數據分析其實就 沒有這一層,涉及是數據采集,也就是爬蟲。全棧對linux基礎要求少一些,而運維需要更多,還需 要一些DNS/DHCP之類的,很多企業也需要一定的運維工作年限。
第三層:數據庫操作
數據庫操作:SQL、Nosql,數據的儲存和處理,就是常見的增刪改查。
第四層:web前端
前端的實現,包括web前端技能,了解或熟悉HTML、CSS、Javascript,Bootstrap,jq,nodejs。 全棧就不說了,運維開發涉及到可視化的界面。
第五層:基礎python的框架和庫
基礎python的框架和庫做各種實現,需要開發一個網站或者做一個自動化運維監控,數據分析師基 於一些可視化的庫和數據分析的庫。
第六層:算法設計 和求職准備
學一個技術和進階的核心是算法設計,最重要的是:求職
最后一個部分:說說薪資和城市
全國python就業形勢分析:招聘待遇,工資20000-29999占比最多,達40%。經驗要求,3-5年工 作經驗要求的占比最多,達71%;學歷要求,本科學歷要求的占比最多,達76%。該數據僅供參考
python工資按工作經驗統計,其中0-2年工資¥13060,應屆畢業生工資¥4210,3-5年工資 ¥15220,6-7年工資¥23860,8-10年工資¥25220,10年以上工資¥14170,該數據僅供參考。
以上就是關於Python職業需求,薪資崗位以及常見職位的一個分析,歡迎大家留言和討論。
-------------------------------------轉載自知乎:Wayne