程序員想要在大廠晉升,這個能力,比埋頭苦干更管用
在國內幾個比較大的IT公司里面,程序員都要一定的職級,例如騰訊的T系列,應屆生為T5,一般3到5年可以晉升到T9可以認為是高級工程師了。阿里也有P系列,應屆生為P5,2-4年晉升到P6是高級工程師。每次晉升都需要寫ppt進行述職。
經常會聽到這樣的吐槽,說辛辛苦苦干了幾年,結果答辯的時候被評委認為是思維混亂,方案沒有好好思考,沒有技術深度等等等。這種情況特別常見,答辯的時候,評委最喜歡問,你為什么選擇這個方案。很多同學就很郁悶,這種業務的,業內不都是這么實現的么?部門里面用的技術棧不都這些,別人也這樣用,這有什么好問的。
換個角度想,評委并非十分熟悉你的業務形態,而且很難通過3-5分鐘的業務介紹,就能熟悉你的業務。所以,當我們進行方案的闡述的時候,最好是能夠進行方案的對比。在對比的過程中,最能直觀地體現方案的好壞,業務的形態,哪種方案更貼近業務。
舉個簡單的例子,假如你的技術方案中需要添加一個緩存,那么,是使用本地緩存還是分布式緩存,兩者的使用成本又是怎么樣?如果采用分布式緩存,那么有哪些常見的分布式緩存的方案呢?當年思考到這一點的時候,你自然會從流量的情況,數據的冷熱程度、冷熱分布、數據大小等多個維度進行考慮。
不僅如此,需要多少的緩存空間,命中率如何,如果用最小的成本,滿足業務的要求,是進一步的思考點。同時,在方案對比的過程中,你不但可以了解到業界常用的解決方案,又能夠學習到各項不同的技術。
如果你只是到答辯的時候才有這樣覺悟,那么,每次答辯的時候,寫PPT是異常痛苦的。最好,如果把這種習慣帶入我們的日常工作當中,那么你將事半功倍。很多人會覺得,平時項目排期那么緊張,怎么有可能每一個需求都下來思考呢?
不知道你有沒有遇到,在項目開發到一半的時候,才發現原先的技術方案在某些環節可能存在欠缺,導致整個方案需要重新討論,強行處理甚至推倒重做。為什么我們不在一開始設計的時候,就把整個方案考慮得更加完備呢?
最后,平時不妨多問自己:
為什么我們的系統要這么設計?
業內有什么其他常見的方案?
為什么我們不采用他們的方案?
如果你能想清楚這一點,那么,恭喜你,你已經想清楚了,評委會問你的問題。晉級自然事半功倍,技術能力也會不斷提升。