一名軟體實施工程師的自我修養

01。關於我

本人職位實施工程師,在一家不大不小的非網際網路公司摸魚近十載,從畢業之初的菜雞逐漸成為了現如今會摸魚的老油條菜雞。想想一路摸索走來掉進了很多坑,很多坎坷,也算一把心酸一把淚,滿紙皆是荒唐言。

一名軟體實施工程師的自我修養

以前領導有句話說的,不管是啥,不管會不會,先開始弄,出問題了再解決問題。於是我就一路莽了下來,一步步走到了今天,還算公司沒開除,也算不幸中的萬幸。我也倒還算老實,僅僅弄斷過一次網路,刪除過一次現網目錄,沒啥其他大錯。導致我現在理解的實施就是,開始走走走,然後遇到坑,找土堆,找鏟子,填了它,繼續走,遇到灌木叢,找斧子砍了它,到河邊,找人員修條橋或者找條船開過去,歷經千辛萬苦,到達終點。遇山開山,逢水搭橋,沒有過不去的火焰山。

摸魚的地方是個不大不小的公司,沒阿里騰訊華為大,但也有幾千上萬人。就是給甲方做專用軟體,導致一年中大部分時間不在公司,哦,不該這樣說,該說一年就沒有幾天在公司待著,天天過著差旅生涯,如此這般竟到了第九個年頭,話說的十年之期已到,也沒人恭迎龍王。只能恭迎摸魚王。

02。我理解的實施人員的職責與基本要求

因為我是做專用軟體的,而且只在一家公司呆過,只能以我的理解來說,可能說的不全面,還請諒解。我理解實施負責的環節就一下幾個方面:專案部署釋出,演示,培訓,專案落地交維。

如果有現成的產品他在整個流程中的位置是:

1。銷售營銷人員與使用者侃大山找內容業務;

2。售前人員介紹本家產品,使用者感興趣,下一步;

3.實施人員閃亮登場,部署釋出;

4.售前或實施人員演示;

5。使用者滿意,同意合作;

6。銷售營銷人員簽字擬合同立項;

7。需求人員找使用者過需求定方案;

8。架構師或研發經理制定相應開發規劃;

9。專案經理盯專案進度;

10。研發人員負責開發,研發完成;

11。測試人員進行黑白盒測試,有問題返回上一步,沒問題下一步;

12. 實施人員再次登場,部署釋出;

13.上線前培訓;

14.系統割接上線;

15。運維人員接收執行維護

16。執行正常,簽字蓋章,驗收回款

我理解的專有產品專案大致如上所示。

懂了整個流程,也就基本懂了實施需要做什麼,可以看到兩次實施的出現的核心是系統部署,那麼核心技能就是應用部署釋出,需要的技能是:基本計算機知識,linux基礎,資料庫基礎(Oracle或mysql等),weblogic/Tomcat微服務等。

第一次實施出現是在籤合同立項前,工作內容是部署演示,這次的根本目的就是展示已有產品,重要的是展示特長,部署不用說,要對本產品熟悉。演示就要懂業務邏輯了,會操作,知道為什麼這麼操作,懂業務,跟著售前一起給使用者講系統,不僅要講明白講清楚,還要體現優勢亮點,你就是甲方爸爸肚子裡的蛔蟲。

這裡需要的技能是:基本業務能力,語言交流能力

第二次實施出現,研發完測試完。其實有時我座位實施分攤了一些測試工作,會點測試技能也是有助力的。接著回到本行核心,系統實施部署,常規應用發在linux伺服器上,所以linux基本命令是必要的,linux系統基礎知識也是必要的,比如網路配置,埠配置,負載均衡等,weblogic與tomcat釋出應用的基本操作及相應問題處理。部署過程中,一些基本的前後臺開發知識瞭解也是必要的,一開始我連F12是啥都不知道,學了點前端,基本前臺報錯看network,後臺出問題看日誌,簡單的缺檔案少表操作能自己處理了,即使真的解決不了,也能定位問題,找對應開發人員解決。應用必然要用到資料庫,企業級資料庫,關係型Oracle,Mysql是目前個人用得比較多的,所以,oracle的系統知識是需要了解的,日誌,備份,全庫匯出匯入imp、impdp,archivelog,sqlloader等。如果專案用到mysql那就是mysql,如果用快取資料庫就是redis等,如果是檔案資料庫,就要學mongodb等。資料庫本身外還有sql,基本常用sql命令,檢視儲存過程函式等的編寫,會一些也是必要的,會更多也是極好的。

上線前培訓,一方面這個是需要演講能力,雖然沒那麼強,工作中見到更多的是寫個操作手冊或者PPT直接照著念,這點也是很無奈,遇到同事ppt寫的好轉售前了的;另一方面就是對整體業務的的瞭解。為什麼?你培訓的物件是使用者,他們是站在業務角度去考慮你的系統,系統是用來服務業務的,他們的業務場景是如何在你的系統裡如何實現是他們真正關心的,他說的業務你聽不懂,你也就解答不了他的疑問,這場培訓就是尷了個尬了。

之後就是交給運維了,但最好實施是需要形成文件的,包括最基本的環境文件,具體操作手冊及具體的常見問題處理等,留下這些第一能確保正常交接,第二是後續遇到問題可以及時定位處理,還真遇到過沒留環境文件,自己去扒環境配置的情況,一把辛酸淚。

工作中我還遇到的是比如docker安裝,oracle安裝,weblogic安裝,arcgis安裝等等。習慣後就發現實施的工作真的不像是你會了才會讓你去做,而是你該去做,所以你就該會做。所以最重要的反而不是技能本身,而是你如何以最快的學習速度去接受新知識,所以重中之重還是學習能力與對新事物的接受能力。研發用了新技術,使用者有了新業務,我們作為實施的都要去接觸,實施不用精通,但要了解,你說什麼我懂就夠了,畢竟我們的目的不是去當開拓創新者,而是追隨者,知道怎麼用就夠了,為什麼要用,為什麼這麼用,這樣比那樣好在哪裡,這些可以先不去了解的,你的目的只是先實現,程式先跑起來,ok,完成。

當然以上是站在一名入門級實施工程師的角度去考慮,大神請忽略,請往深挖,要多精通就多精通,不過那時大神就不再是實施工程師了。

一名軟體實施工程師的自我修養

03。實施工程師需要的基本能力

綜上所述,我們梳理下實施工程師所需要的基本能力:

重中之重:學習能力,對新事物的接受能力;

基礎計算機技能:基礎計算機知識,linux基本命令,oracle等資料庫基本維護,weblogic、tomcat等中介軟體伺服器的部署,基本SQL

輔助能力:溝通交流能力,業務能力,基本開發技能

額外:演講技能,測試技能

04。實施工程師的發展方向

上面實施人員的基本能力瞭解後,發展方向其實就好理解了。個人理解,純粹理解,畢竟我也還是在底層。

什麼是職業規劃,簡單說就是人往高處走,說實施是低處可能說起來有點兒不舒服,但貌似工資是沒那麼高,摸魚近十載在IT屆只能算低保戶。簡單的實施入門低,不學習發展個人看來是沒有太好發展的。

那麼具體要怎麼走?兩個方向:多廣,專精。

多廣

我一直習慣和別人這樣介紹我們實施工程師做的事兒,除了寫程式碼,其他都做。雖然說得有點兒大,其實也是表示實施的博雜,啥也會,啥也懂,但就是沒那麼精。和售前比研發好,和研發比資料庫在行,和DBA比業務懂得多,就是那麼牛。導致現在研發有些問題解決不了推給我,DBA不在我就算半個DBA,售前交流帶上我也沒再怕。尤記得一次售前離職,莫名的一個培訓扔給了我,一個電話叫去,一小時後培訓,材料是啥都不知道,進會議室會才發現是個不小的培訓,十幾號人,而主講是我,然後一頓叨叨叨,我都沒明白他們都明白了……

多廣的選擇常規的就是專案經理,管理序列。畢竟專案經理就是那個不懂技術的,在研發眼裡實施恰好就是那個不懂開發的,差不多嗎。各種協調管理交流,有區別也沒區別。

架構師這個路稍微有點兒難,其實更多的是研發的技術走向,但大牛們總是不同,會開發的實施人員也不是沒有,畢竟我也會四五種語言寫hello,world。畢竟我對架構師也不瞭解,我級別差些,高度不夠,也是感覺這個可以有。

專精

專精這個就有點兒多了,看下實施懂哪些,就知道專精的方向有多雜。

銷售:口才好,和使用者熟絡,也是可以的,好幾個同事外包轉售前;

售前、需求:口才好,業務精通,搞售前需求,好幾個同事研發實施轉售前;

研發:有興趣轉研發也是不錯的選擇,同級,但研發缺口大,雖然我還沒遇到,但相比跨行轉這種平轉其實是可以的,以前我也想轉,可惜三分鐘熱度,沒成;

運維:感覺更多的是不想漂了,有家有孩子了求穩定,轉了運維,不懂運維和實施區別?以後寫;

測試:測試感覺和實施同級,需求不大,工資不高,但感覺轉了沒啥必要;

使用者:想去甲方,轉業務,有渠道方法也是極好的,也遇到好多。

其他

條條大路通羅馬,工作無非幾個追求,掙錢生存,追求價值生活,實現人生理想。

所以考公務員,開公司創業,自媒體運營,繼承家業,回家種地,各種都是出路,為啥非得天天東奔西走掙低保。

一名軟體實施工程師的自我修養

05。實施工程師約等於公司高層和公司大佬?

出差多不知算優點還是缺點,或者說單身時是優點,脫單後是缺點。出差絕對是生活穩定的反面,當然公司高層和大佬也經常出差,所以反向求證,實施工程師約等於公司高層和公司大佬。

就像上面所說的發展方向受限,如果不走管理或者專精方向,遲早會邁入三十五歲中年陷阱。

06。後記

本篇我最早在19年在csdn上寫的,原文到現在有5278的閱讀和69的收藏,11條贊。好多人在下面留言體現了對於實施工程師的迷茫,其實我也迷茫,所以想與大家分享我的經驗。今天想起把它拿來修改進行傳送,如果效果好,後面會分享下我這近十年的實施經驗,感謝大家,也希望一起共同成長,走出迷茫,快樂工作,過上幸福的生活。

TAG: 實施售前研發工程師基本