Full Stack與DevOps的美麗與哀愁

        最近開始流行的Full Stack developer跟DevOps的大方向都雷同,就是把不同職缺的責任整合到一個人身上,像full stack就是將front-end(前端)跟back-end(後端)分到一個人身上,不只是要做UI和前端邏輯,連後端API跟DB也要自己來, 而DevOps則是把開發、測試、維運的責任整合到一個人身上,差別是Full Stack沒工具而DevOps則是藉助於工具來實現。



        其實台灣很多Full Stack,只是不被稱做Full Stack,通常被叫做雜工,而且待遇通常很差,為什麼會發生這樣的事情呢?我想這跟養成的過程有關,一般的中小公司,不會刻意去培養員工,為了降低成本或者上級對技術的不了解,通常是少數員工去負擔所有的技術需求,這樣做法的問題點是,雖然看起來能解決的事情變多了,但都是比較淺的問題,解決問題的方法也不一定正確,不過誰管它?能動就好。

        而現在企業已經不像過去,進入這間公司之後就一輩子待在這間公司,這種終身任聘制,對自己職業生涯的規畫,要更有規劃與企圖心,而不是滿足於公司的安排,現在還是有許多表面上是科技業,但骨子裡是工廠思維的公司,用人的策略就是不管你專長是甚麼,哪裡有缺就叫你去補,完全沒有系統性的規劃與培養,如果你一輩子都待在這間公司就還好,如果換了一間公司,你過去所學完全沒有系統性的累積,那對下一份工作而言絕對不會是優勢。

        所以Full Stack並不好?我只能說這並不是絕對,所有的好與壞都是要看你所遇到的問題與情境,綜合分析下來,才有相對的好壞之分,而這篇文章的重點,是想告訴被推上Full Stack的人要想清楚,那是不是你想走的路,對我而言,當我在開發Android串接API時,常常會覺得某個case如果後端api能多給個資料,這邊我可以少很多工,這時就要跟後端討論,但不得不說並不是每個人都那麼好溝通的,有的人是大家好來好去,你有困難我來幫忙,有的人會覺得你自己不做好,一直把問題丟給我幫你解決,總之分層的一大問題是,會有更多的時間花費在協調溝通,而且最後得結果不一定會是你想要的,有的時候有常會覺得如果前後端都自己來,問題一下就解決了,但是一個人負責的再多、能力再強,一天也就只有24小時而已,如果想要增加效率,把工作分給其他人本來就是必要的,就算原本是效能是100%但兩個人變成80% * 2,也是必要之惡,總之Full Stack不是不好,只是要在對的時間,對的地點,而且要有成為Full Stack的領悟,意思要將更多相對應的知識補完,而不只是滿足於會動就好。

至於DevOps,目前看到走向都是在簡化維運,讓開發可以更方便,環境不一定要靠維運人員,可以自己來,而測試的角度,恩....有在注重與投資這塊的公司本來就不多....,當然比較好的方向是,不是將責任集中到一個人身上,而是各部門藉由工具與自動化來提升彼此的效率,但是只要是能夠歪掉的東西,就很容易歪掉,看看徵人網站上在徵求的DevOps工程師就知道囉....

延伸閱讀

留言