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