很多同學正在面臨或即將面臨找工作的問題,很多人對自己想要從事的行業不是很瞭解。做為軟體學院的同學大多數要去軟體公司、遊戲公司和互連網公司。我就我比較瞭解的互連網公司的幾個跟技術有關的職位做一定的科普,希望對大家有一定的協助,大牛請繞道。
- RD(Research&Development),即研發,其實就是軟體工程師,或者叫程式員、碼農。我們軟體學院的大多數人都將從事這個職位,主要任務就是寫代碼,當然還有調研等工作,但都離不開編碼。需要掌握的技能包程式設計語言、演算法、指令碼等。這個職位大概可以分為兩個方向,一個是前端,另外一個就是後台。前端即UI,可以是網站的前端,也可以是應用程式的前端。對於網站的前端需要掌握HTML/CSS/JS、JSP/PHP/ASP.NET等東西,也可能用到JAVA等程式設計語言。對與應用程式的前端也分手機和案頭。手機需要瞭解Android呀、IPhone、Windows mobile、塞班那些個程式的開發,具體不是很瞭解,工資也很高。應用程式的前端的話,主要是Windows程式的開發了,那些Api什麼的要比較熟,演算法功底也是要有的。後台用的主要是C/C++、JAVA,演算法要求更高一些,後台一般用Linux作業系統,對Linux要求比較瞭解。對於不同的系統,還有一定的業務門檻,這些只能在工作的過程中學習了。對於某些後台技術,可能還需要掌握一些資料採礦、資訊檢索、自然語言處理等方面的進階知識,研究生可能要求對這些要有一定的瞭解,甚至是精通。
- QA(Quality Assurance),即測試。可能很多搞技術的都不怎麼看得上測試。但我不這麼認為,而且公司也都越來越重視測試了,測試拿的薪水也不比你研發的少。有的人甚至認為做測試就是簡單的重複勞動,甚至可能是做點按鈕的工作。但其實這都是誤解,或者說前面的這些都是比較低級的測試。一般來講,在互連網公司測試分為純測試和開發測試兩種,也可能不區分。也就是說測試並不是不要寫代碼,其實測試也要寫代碼。需要學會的技術有很多,可以說開發的那些技術你也是要懂的,還是學會使用各種測試載入器,指導RD寫單測,寫Mock(俗稱打樁),使用valgrind,搭各種測試環境,壓力環境。如果進階點,還需要搞可持續化整合,要寫各種各樣的指令碼。當然低級的反覆跑程式什麼的也是不可避免的。如果你懂技術,但不是那麼精通的話,還是可以考慮測試職位的,尤其低於女生來說,選擇測試還是比較靠譜的。說到女生,我就多插一句,女生並不是不適合做RD,RD中也有不少的MM,甚至也有很多做得非常出色的MM RD,但是你要能忍受各種各樣的加班和壓力。女生做QA的話,相對就要好很多,據我裡瞭解做測試的女生還是非常多,就我所知道的百度而言,測試mm可能比測試的gg要多一些。
- PM(Product Manager),即產品經理。這裡的經理是管理和運營的意思。產品經理也就是產品運營與管理的工作。產品經理其實是可以不懂技術的,有說PM懂技術好的,也有說PM不懂技術好的,但到底哪個好,那就不得而知了。懂技術,可能就不會提出那些無法實現的需求來,但是懂技術也可能限制和束縛你的思想。PM的很大一項工作是分析資料,並探索資料背後所隱藏的東西,所以如果你是學數學的或是數學功底好的話,會更好。其實PM對一個產品的影響要比RD大很多,現在來看,已經不是技術的時代了,很多時候都取決於產品的工作。說白了,產品是一個瞭解使用者需求,並替使用者提需求的一個工作。怎麼瞭解呢,主要是對資料的分析和對行業的瞭解了。我們軟體學院的同學,做產品並不是很多,其實我覺得也是一個很好選擇。尤其是女生,如果你對技術不是那麼感興趣的話,而又有敏銳的洞察力的話,還是可以考慮PM這個職位的。這個職位相比RD來講不是很累,後續的發展可能還比RD要好一些,何樂而不為呢。具體PM要瞭解一些什麼技術,我也不甚瞭解,感興趣的可以自己去網上查。
- OP(Operator),即營運。說表了就是管理線上機器和程式。一般成熟的互連網公司,RD是不直接管理線上伺服器的。RD的程式要上線,到線上的機器上運行,首先要經過QA的測試,然後由OP操作上線。OP需要保證線上機器安全可靠地運行,即時監控程式的運行狀態,會設定各種各樣的檢測指令碼,警示體系。另外要即時響應各種警示,不管是半夜還是淩晨,一有問題,你就要實習響應。可能這是一個真正不適合女生做的職位。OP需要對服務非常瞭解,對作業系統非常瞭解,要對Linux指令碼很熟悉,有的時候也是要寫程式的,比如監控程式。如果營運做的好,可能還需要寫一些協助工具輔助,可能是網頁版形式,方面營運和監控。
我瞭解的大概就這麼些東西吧,說的不對的,歡迎指正,有問題歡迎及時提出。