
老板:擱這瞧不起誰呢?都給我干活去!
前言
大家好,之前寫過一篇關于職場當中打雜文化的文章,反響不錯,最近剛好有些小伙伴在準備校招,來請教我招聘資訊當中的“做業務”究竟是什么意思,所以我就寫下了本文,把這里面的門道給大家說道說道,
我們談到業務這個詞,大家聯想得最多的應該是銷售或者是售后服務這類崗位,但實際上在互聯網公司也有技術和業務的區別,面試的時候,HR也經常拿這個說事:我們是技術驅動的公司,或者是面向技術的崗位,我們都明白她的言下之意是我們這個崗位很金貴的,你要好好把握,
但為什么做技術就金貴、做業務的好像就很弱呢?要想說明白這個問題,就得先說清楚究竟什么是互聯網公司當中的業務,

業務和技術
究竟什么是做業務?對于這個問題老實說并沒有一個標準回答,我感覺大家都是靠自己猜測,我個人對這個問題的理解是凡是產品經理讓你去做的事情,就是業務,凡是其他程式員讓你做的事情,往往就是技術,
其實很好理解,產品經理找我們一般都是什么事?一般都是讓我們實作他們的需求,比如做一版新功能,比如做一份分析資料,比如解決一個用戶問題等等,這些事情往往是直接或者是間接面向客戶或者是用戶的,比如做了新功能,用戶就可以做之前做不到的事,比如客戶對某些地方不滿意,我們針對性地做出修改,這些為了達成客戶需求或者是讓客戶更加滿意的事情,就是業務,
做技術恰恰相反,不是為了讓某些人滿意,而是為了解決某些技術問題或者是系統問題,比如說想辦法提升服務器回應的速度,想辦法提供機器的吞吐量,想辦法存盤更大規模的資料,想辦法在大規模流量下服務器不宕機等等,這些東西用戶往往直觀感受不明顯,但是如果不做的話,要么影響公司后續發展,要么制造出更大的麻煩,這些事情的源頭往往是其他的程式員,可以是架構師也可以是上下游協作的團隊,很少會有產品經理找到程式員做技術升級或者是改造的,

利與弊
業務
說到做業務大家更關注的可能都是做業務的缺點,比如說技術含量比較低,很多事情比較雜,如果是開發的話,就是今天這里加一個功能,明天那里加一個按鈕,簡稱CRUD(增刪改查),演算法的話也差不多,這里做一個模型預測一下用戶的喜好,那里做個模型預測一下用戶留存,甚至有可能模型都用不上,跑一些SQL做做統計就滿足要求了,
你說你想要用一些高端的做法,十有八九會被產品經理或者是運營小姐姐打回來,我們只要能用就行了,不追求技術,越快越好,
短時間內可能還好,時間長了會覺得非常無聊,不知道這樣的日子何時是個頭,作業好像都是這些枯燥瑣碎的東西,技術領域很久都沒有成長,你說學一點厲害一點前沿一點的技術吧,學了也派不上用場,所以很多工程師的熱情都在做業務里消磨了,感覺看不到出路,也獲得不了成長,因此很多人聽到做業務這三個字就頭疼,非常地抗拒,這些也都是非常非常正常的,
我一開始的時候也是這么覺得的,覺得做業務很沒勁,整天和產品經理、運營什么的扯皮,并且壓力也很大,有時候系統出問題了還要半夜起來看,感覺自己就是一個莫得感情的coding機器,但后來我現在回過頭來看,對問題的看法發生了一點變化,主要是我看到了做業務的好處,認知更全面了,
不知道大家有沒有聽說過在一些公司當中,有一個叫做CEO大獎的東西,也就是CEO每年會選擇一個他認為做得最出色的團隊頒發這個獎項,一旦獲得這個獎項,那么整個團隊的績效和年終獎都是非常非常可觀的,聽說當年王者榮耀團隊拿了CEO大獎,團隊當中的每個人當年光交稅就上百萬,
我觀察過幾個公司的CEO大獎,幾乎無一例外都是業務團隊,比如螞蟻金服當中我知道拿過這個獎的團隊有兩個,一個是螞蟻森林,另外一個是小程式,很明顯,這兩個都是做業務的團隊,
從我們個人而言,我們可能更加看重個人能力的提升和技術成長,但是站在公司決策者和管理者的角度,他們顯然更加看重的是公司的發展和壯大,對于互聯網公司來說,發展和壯大主要體現在業務上,而不是技術上,技術再好不能賺錢,最終公司還是得倒閉,這樣的例子也屢見不鮮,
所以做業務不是主要的,主要的是做的什么業務,如果是在核心的業務團隊,無論是團隊和個人的績效還是晉升的機會,都要比其他的團隊好不少,也更容易引起老板的注意和賞識,獲得晉升往上走的機會,
另外一點是做業務很鍛煉軟實力,比如和上下游和產品經理和運營等等的溝通,再比如可能經常需要向老板和leader匯報業務的情況,并且在我們做業務的程序當中,也培養了一個我們對業務場景的理解,這對我們是非常重要的,隨便拿一個廣告業務舉例,廣告的競價機制是如何運行的?碰到商家刷點擊率怎么設計反作弊機制?CTR和CR有什么區別?在不同的場景下的廣告有什么區別?
對這些問題的理解,雖然并不是直接的技術能力,但是對于我們的跳槽以及就業一樣非常有用,這也是為什么很多人跳槽的時候不會換技術方向的原因,之前做廣告的,換了家公司往往還是會選擇做廣告,就是因為有這些業務理解上的積累,
技術
說完了業務再來說是技術,其實互聯網公司是很少有純技術團隊的,我想來想去可能也就只有阿里云或者是中間件這樣的團隊,除此之外還有一些像是人工智能實驗室或者是各種實驗室,我之前一度覺得叫xx實驗室的部門聽起來就很高大上,進去了一定光環加身,
后來我了解了一下才知道,根本不是這么回事,各種實驗室里的專案往往離業務比較遠,也就是說往往找不到應用場景,沒有應用場景也就意味著不能給公司帶來盈利,不能給公司帶來營識訓本上也就約等于沒有太大價值,有些大公司可能還好,愿意養一撥人鉆研技術,給公司的未來鋪路,但即使如此風險也是很大的,一旦公司業績不好,第一個被裁的技術團隊可能就是這些,
還有一個隱藏的因素是技術方向其實會制約選擇,什么意思呢?很簡單,比如你是做中間件的,我們都知道中間件是非常有技術含量的崗位,但問題是中間件崗位只有一些大公司才有,小公司都用開源的中間件,基本上不會自己開發的,也就是說你空學了一身屠龍術,但是龍只有幾家大公司才有,當你想跳槽的時候,你的選擇會被制約,而做業務就不存在這個問題,即使做的業務很小眾,只要自身技術素養OK,就不會在跳槽的時候成為問題,
做技術的優點大家應該不用我多說了,大家猜也能猜到,比較單純,不用和產品、運營以及各路人馬打交道,可以安心地寫代碼,學技術,也有充足的技術成長,提升自己的實力等等,

打雜
除了做業務和做技術之外,還有一種就是打雜,也就是既做不到核心業務,也接觸不到核心技術,只能在邊緣的團隊做著邊緣的事情,這也是大多數工程師的常態,老實講這非常尷尬,我也是經歷過的,深有體會,
在我們不能改變現狀的時候,如果盯著現狀一直看,只會讓自己更加痛苦,這個時候除了想各種辦法展現自己的能力,讓自己脫穎而出受到重用之外,還有一個比較好的方法就是要學會自娛自樂,自己給自己提需求,比如說,老板不是不給我們有技術含量的活(也可能老板自己也沒有),怎么辦?那我們能不能自己做一些有技術含量的事情?
我們大可以當一個杠精,挑一挑當前系統當中的問題,然后想辦法把它解決了,或者優化了,覺得哪個系統或者是工具不好用,可以自己抽空做一個更好用的工具出來,如果你有權限訪問公司的一些閑置的機器,你也完全可以在上面部署一下各種分布式的集群框架,當做自己的一個實驗裝置,只有人規定不能用公司的資源盈利,可沒有人說不能用公司的資源提升自己,對嗎?
如何提升
我自己做Android開發已經是第6個年頭了,畢業后兩年,有幸加入到位元組跳動這個大家庭,在位元組的4年,見證了太多人的來來去去,印象很深一個同事,跳槽阿里薪資直接double,但也看到很多人鍍著“大廠”的金四處碰壁,終究還是倒在了技術上!
我自己或許也算是個成功的例子,在4年的時間里從1-1做到了2-2,當然,這背后的“辛酸淚”就留到日后再說,總的來說,歸功于自己不斷地學習,復盤總結,提升技術!以下分享一下我4年來具體的學習路線及筆記檔案,希望能幫助到有心提升技術的朋友!
以下完整學習筆記PDF,可以點贊+評論支持下打工人老弟,點擊這里免費自取!
- 架構師筑基必備技能
目前Android APP開發主流語言就是Java語言,Java語言最大的特性就是提高了軟體的互動可能性,可以說安卓手機幾乎所有應用程式都是利用Java語言來進行撰寫的,
知識要點:
1、深入理解Java泛型
2、注解深入淺出
3、并發編程
4、資料傳輸與序列化
5、Java虛擬機原理
6、高效IO
- 設計思想解讀開源框架
隨著互聯網企業的不斷發展,產品專案中的模塊越來越多,用戶體驗要求也越來越高,想實作小步快跑、快速迭代的目的越來越難,插件化技術應用而生,如果沒有插件化技術,美團、淘寶這些集成了大量“app”的應用,可能會有幾個g那么大,
所以,當今的Android移動開發,不會熱修復、插件化、組件化,80%以上的面試都過不了,
知識要點:
1、熱修復設計
2、插件化框架設計
3、組件化框架設計
4、圖片加載框架
5、網路訪問框架設計
6、RXJava回應式編程框架設計
- 360°全方位性能調優
在不同層次的開發工程師手里,因為技術水平的參差不齊,即使很多手機在跑分軟體性能非常高,打開應用依然存在卡頓現象,
另外,隨著產品內容迭代,功能越來越復雜,UI頁面也越來越豐富,也成為流暢運行的一種阻礙,綜上所述,對APP進行性能優化已成為開發者該有的一種綜合素質,也是開發者能夠完成高質量應用程式作品的保證,
1、設計思想與代碼質量優化
2、程式性能優化
- 啟動速度與執行效率優化
- 布局檢測與優化
- 記憶體優化
- 耗電優化
- 網路傳輸與資料儲存優化
- APK大小優化
3、開發效率優化
- 分布式版本控制系統Git
- 自動化構建系統Gradle
4、專案實戰
- 啟動速度
- 流暢度
- 抖音在APK包大小資源優化的實踐
- 優酷回應式布局技術全決議
- 網路優化
- 手機淘寶雙十一性能優化專案揭秘
- 高德APP全鏈路原始碼依賴分析
- 徹底干掉OOM的實戰經驗分享
- 微信Android終端記憶體優化實踐
- Android框架體系架構
Android框架體系架構(高級UI+FrameWork原始碼) 這塊知識是現今使用者最多的,我們稱之Android2013~2016年的技術,
Android開發者也往往因為網上Copy代碼習慣了而導致對這塊經常“使用”的代碼熟悉而又陌生:熟悉的是幾乎天天在和它們打交道, 天天在復制這些代碼 ;陌生的是雖然天天和這些代碼打交道,但是并沒有深入研究過這些代碼的原理,代碼深處的內涵,
本篇知識要點:
1、高級UI晉升
2、Android內核組件
3、大型專案必備IPC
4、資料持久與序列化
5、Framework內核決議
- NDK模塊開發(音視頻系列)
NDK(Native Development Kit縮寫)一種基于原生程式介面的軟體開發工具包,可以讓您在 Android 應用中利用 C 和 C++ 代碼的工具,通過此工具開發的程式直接在本地運行,而不是虛擬機,
在Android中,NDK是一系列工具的集合,主要用于擴展Android SDK,NDK提供了一系列的工具可以幫助開發者快速的開發C或C++的動態庫,并能自動將so和Java應用一起打包成apk,
本篇知識要點:
1、NDK開發之C/C++入門
2、JNI模塊開發
3、Linux編程
4、底層圖片處理
5、音視頻開發
6、機器學習
- Flutter學習進階
2019 年無疑是 Flutter 技術如火如荼發展的一年,
每一個移動開發者都在為 Flutter 帶來的“快速開發、富有表現力和靈活的 UI、原生性能”的特色和理念而癡狂,從超級 App 到獨立應用,從純 Flutter 到混合堆疊,開發者們在不同的場景下樂此不疲的探索和應用著 Flutter 技術,也在面臨著各種各樣不同的挑戰,
本篇知識要點:
1、Flutter跨平臺開發概述
2、Windows中Flutter開發環境搭建
3、撰寫你的第一個Flutter APP
4、Flutter Dart語言系統入門
…
- 微信小程式開發
微信小程式作為現在比較火的編程開發應用場景之一,深受市場的青睞,這讓不少開發者眼饞不已,但是對于初學者來說,就完全摸不著頭腦了,不知道微信小程式開發制作需要學習那些知識,有需要的朋友可以參考本篇,
本篇知識要點:
1、小程式概述及入門
2、小程式UI開發
3、API操作
4、購物商場專案實戰
- Android相關原始碼解讀
只要是程式員,不管是Java還是Android,如果不去閱讀原始碼,只看API檔案,那就只是停留于皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的,
由于篇幅原因,如有需要以上完整學習筆記PDF,可以點贊+評論支持下打工人老弟,點擊這里免費自取!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/254510.html
標籤:其他









