不知不覺中,2018年已經過了三分之一,自己也馬上畢業五年了。由于某些原因,自己上學比一般同伴晚2年左右,馬上滿30周歲,而立之年。回顧畢業後在昆明這幾年,除了買了房,其他也沒有做出什麼驚天動地的大事。2017年6月以前沒有注意經驗的積累及未來職業生涯的規劃,沒有很大的收獲和進步。從上大學到現在,也去了很多地方,被譽為春城的昆明,藍天白雲、風景優美、氣候宜人。雖然昆明紫外線确實要比那些低海拔地區強一些,但是像我這樣一年基本曬不到太陽的人來說,毫無影響。現在的工作離家也近,8公裡左右,半小時公交就到家,父母離自己也近,基本一星期就能見一次,自己的房子,住着也舒服。這情況,身邊大部分親戚、朋友都認為我不應該再出去了。但是我認為不趁現在自己還有精力的時候提升自己的能力,慢慢地溫水煮青蛙那樣的情況就要在自己身上上演了。今年3月份的時候,跟上司說過想辭職的想法,那時候帶着些許沖動說出來的話,并沒有深入地考慮一些其他問題。其實我來目前的公司隻有十個月左右,挺短的!
4月初,做了一些更深層次的思考,目前昆明的IT環境,缺少國内一流網際網路科技公司,具備一定規模的網際網路科技公司僅有那麼屈指可數的幾家,反複看了一下他們的招聘要求及周邊同行小夥伴的回報,這邊技術落後,思想保守,缺乏創新。如果一直在這樣的環境中工作,遲早會成為井底之蛙,随着年齡的增加,肯定會被這個時代所淘汰。經過幾天的深思熟慮,我打算去北京看看,看看目前行業内的公司都在使用什麼技術和要求什麼樣的人。出發之前還跟上司詳細聊了一會兒,在此我十分感激我現在的上司。這次行動我并沒有給自己太多時間,用了一天的時間更新了主流招聘平台上的履歷,從4月19日開始投履歷,25号從昆明出發,安排了26号、27号兩天為面試時間,2天的時間一共安排了8家公司進行面試,這些公司基本都是業内比較有影響力的公司。
這次去北京的主要目的是學習,每面試完一家,我都會把這家公司使用的技術及對相關人員的素質要求做一個記錄,查缺補漏,完善自己的技能樹。如果不是業内頂級的平台,我不會考慮盲目辭職,畢竟畢業這麼幾年跳槽好多次了,雖然每次都有所提升,但是這并不是我想要的。這次轉型目标明确,對自己要求比較高,一定要有實質性的改變。找一個地方,潛心學習、鑽研五到十年,把事情做到極緻,做到行業的頂尖水準。如果達不到預期,那麼我就回來雲南繼續努力,按照一流公司的人才标準要求督促自己,不虛度光陰,為我現在的公司壯大發展做好知識儲備,為未來做好準備。雖然雲南省IT環境整體不好,目前公司給我的薪水也不是非常高,運維工程師也就我一名,但是我還是看好我目前我所在的公司,絕無僅有的資源和平台,一位具有遠見卓識的上司。
再扯就扯遠啦!言歸正傳,對這兩天面試做一下總結,并為自己設定一些小目标。
系統
系統是建構一切服務的基石。Linux依然是各大網際網路公司的首選,在衆多發行版中,CentOS系列在衆多企業生産環境中基本能夠達到一枝獨秀的程度,也有極少一小部分使用SUSE Linux。對Linux的要求主要有以下幾點:
- [x] 基本指令。
- [x] 三大劍客的熟練使用。grep、sed、awk的使用基本已經成為了标配,在這一方面,我可能還需要進一步強化,還需要掌握一些進階功能的使用。
- [x] shell。目前的Unix/Linuxshell有:bash、tcsh、csh、ash、bsh、ksh,bash是大多數Linux系統以及Mac OS X預設的shell,bash成為主流,作為一名運維工程師應該必須掌握的技能。目前在這一方面我還缺乏一些進階功能的實踐經驗,在接下來的工作中,能用bash實作的盡量使用bash實作。
- [x] 系統安全。系統安全也是各大企業比較關心的一個方面,如防火牆的使用(雖然目前主流的CentOS7的預設防火牆為firewalld,但是依然還有一些公司在使用iptables)、系統加強、權限管理、漏洞修複、系統更新。目前在這些方面我都有一些經驗,但是還需要更加深入學習。
- [ ] 系統優化。Linux的系統優化是一項技術活,包括系統層級的優化和核心級别的優化。目前我都還沒有較為深入的系統優化經驗,這一方面需要主動找機會實踐。
自動化運維
- [x] 至少一種自動化運維工具的使用經驗。數百台機器一般選用Ansible,大規模數千台機器一般選用SaltStack。目前我使用過Ansible,隻有比較初淺使用經驗,需要進一步學習強化。在Ansible使用熟練之後,抽時間實踐SaltStack。
- [ ] playbook是Ansible的基本要求。在今後的工作中一定要加強實踐。
開發能力
- [ ] 很多公司都要求運維工程師需要掌握一至二門程式設計語言,有的公司還要求掌握諸如Django、Flask之類的架構。Python基本成為運維工程師基本技能要求,我在16年的時候就重點花過精力學習過Python,基本文法,資料結構已經掌握,但是中途使用的機會少,沒有實戰經驗,在今後的工作一定要給自己制定一個明确的目标,一步步的去完成目标内容,适當的時候用到公司的生産環境中。
- [ ] 有的公司已經在生産環境中使用go語言了,招聘的時候也有要求。接下來的工作中,抽時間學習go語言。
資料庫
- [x] 關系資料庫,如MySQL、Oracle,常用的增删改查語句。特别是MySQL,需要進一步花時間、精力來學習。
- [ ] 非關系資料庫,如Redis、MongoDb,需要了解。此部分内容,從未涉及到,今後一定要找機會、花時間學習。
- [ ] 資料庫的容災、備份、遷移。此部分隻實踐過Oracle及MySQL的同步配置、備份與還原。如熱遷移、冷遷移、備份政策設計均還未接觸過。
系統架構
- [x] 資源、容量規劃。
- [ ] 高可用、負載、叢集。LVS、Haproxy、Keepalived、Heartbeat、Nginx等軟體的搭配使用,高可用方案的設計與實作。
- [ ] 分布式。分布式系統、分布式存儲,内容超級多,又格外複雜,需要花大精力來學習、實踐。可以先從zookeeper入手,這玩意目前公司在用。
- [ ] 微服務。
常用服務
- [x] DNS、NTP、NFS、SMB、FTP、Apache httpd、Apache Tomcat、Nginx、MySQL等常用服務必須會熟練部署。簡而言之,就是要達到紅帽RHCE的标準。這些方面目前已經熟練掌握,正在向更深入的方向發展。
- [ ] JVM優化。
- [ ] Tomcat優化。
- [ ] Nginx優化。
監控系統
- [x] 企業常用的監控系統主要有zabbix、nagios、cacti等。Nagios在上家公司實踐過,時間久了,快忘記完了。zabbix及cacti自己簡單的搭建了一下,沒有應用到生産環境。争取進一步的強化、實踐。
- [ ] 監控腳本。
日志收集、分析系統
- [x] ELK平台的搭建。已經在實驗環境進行過搭建,争取在後期投入生産環境使用。
- [ ] 熟練使用ELK。
雲計算
- [x] 居于KVM的雲計算平台。KVM在近幾年的發展比較迅速,有實力的大公司已經在嘗試OpenStack。對于P2V、V2V遷移已經有過實踐經曆,但是對其原理、架構了解不夠深入。希望自己在基于實踐的基礎之上,再做更深入的鑽研及總結。
- [ ] Docker發展很火熱,在一線城市已經成為主流虛拟化方案。Swarm、Kubernetes、Mesos等均有公司選用。之前用過幾次Docker,但是就是按部就班,沒有進行深入了解,在今後的學習過程中不能再停留這個階段,必須進行更深層次的學習、探索。
其他
- [x] TCP/IP模型的了解是很多公司面試會問到的一道題。
- [x] Linux的開機流程也是一道常考試題,這也是對Linux系統的基礎了解,需要注意。
- [ ] 大資料運維,這個目前有一些公司在招,招的人不多,要求比較高。
兩天的時間,感觸良多,總結完之後發現自己任重而道遠,希望明年的此時此刻我的技能樹又更加枝繁葉茂。不斷努力,繼續前行,注重自我驅動與自我實作。萬丈高樓平地起,厚積薄發,最後應該能有所成。在工作中,外行人或部分上司注重的是結果,在做事的我們更需要注重過程,思考、總結、積累,才會進步!分享出來,希望對大家有所幫助,不足之處還希望大家多多指教,希望大家一起共同進步。(由于MarkDown版本的問題,有些頁面并不支援[x]這種寫法,[x]代表已經完成的或基本掌握的内容,[ ]代表沒接觸過或尚未掌握或未完成的任務)