吉林信息港
您當前的位置 :主頁 > 吉林信息港 > 時尚 > 正文
十年大廠的幾點啟發性建議!強烈推薦
2020-03-30 07:59:41來源:閱讀:-

“垃圾的業務邏輯!!!” 估計很多程序員在剛接觸一個新項目的業務代碼的時候,都會在心里罵娘,說不準已經把前幾任維護者的家人都給問候了一遍。

在我自己的職業生涯里面,也遇到過不少寫得跟 “屎” 一樣的業務代碼,但業務代碼,業務邏輯是一個程序員不可避免要接觸的東西。

按 “二八原則”, 估計有80%的程序員是業務開發,而事實上,我覺得這個比例可能要到90%, 畢竟系統工程師,基礎架構工程師,業務組件開發工程師等純技術的崗位是很少的,當然這些 “純” 技術崗位,也非完全不接觸業務,只是上比例更少而已。

可以說,90%的程序員,職業生涯里80%的時間都是在跟業務打交道的,所以我們很有必要探討一下這個話題。

技術服務于業務

純技術驅動的公司,我覺得是不存在的,只不過有些公司的技術氛圍會更好,技術人員的決策權會更大。

在目前的市場上, 產品+技術, 市場+技術 是比較正常的企業結構模式,至于技術人員在不同公司里面權重的大小,就要看具體情況了。

像騰訊是產品驅動的公司,阿里是電商,更多由市場驅動,一個是消費者市場,一個是商家市場;拼多多跟阿里類似,頭條其實也是產品驅動的公司;美團由消費者市場驅動,小米賣的是產品,百度的搜索由消費者驅動,AI由企業市場驅動。

當然,這里不是說技術就只能從屬于其它崗位了,目前很多企業對技術人員的重視度是越來越高的,而技術人員在實際工作中的決策權也在加大。我覺得這個跟技術的發展有關。

比如說,目前在市面上火爆的推薦型產品,如頭條,抖音,技術在里面的決策比重就要比一般性產品的高。這個很好理解,因為產品形態本身就很依賴于技術,雖然產品的交互體驗,UI 設計依然很重要,但最關鍵的還是你推薦出來的東西,用戶有沒有興趣,而推薦這部分,就是技術驅動的。

還有一類是 AI型的產品,比如商湯科技,沐瞳科技這類,他們銷售的是自身的AI能力,雖然還是市場主導,但技術在里面會有更多的決策權。

未來,我相信隨著技術的發展,AI化的產品會越來越多,技術人員在里面的決策權也會越來越大。

另外,隨著存量時代的到來,從增量市場進入到了存量市場。增量時代比拼的是快,存量市場比拼的是品質,這里的品質包括產品品質,也包括企業品質(高效的運作模式),這必然對技術提出更高的要求,技術人員在決策上的比重也自然會增加。

踩坑,閱讀惡心的業務邏輯代碼,是不是一件有價值的事情?

以上依然是不可避免的一件事情,在你實際面對那些惡心的業務邏輯代碼的時候,你必定要吐槽一番,然后開始陷入深深的自我懷疑:"我這是在干什么?簡直是在浪費時間!"

12年做存儲的時候,我們遇到了一個問題,存儲系統搞完了,卻沒有業務愿意接進來。

他們說,你的系統不穩定,而且性能也沒有特別好(早期版本),為什么要接?

以上的反問,我也無可辯駁,但項目還是要向前推進,后來我們決定這些事情都由我們自己來搞。

于是我找了具體業務的負責人,跟他們說,我們來修改業務代碼接入新的存儲系統,中間過程如果出了問題,責任都算我們的。

第一批的業務,就靠這種方式推動起來了。

后面,我加入到業務團隊后,第一接手的,是個核心但卻惡心的業務系統,當時那個系統極不穩定,經常出問題,但上面下了死命令,你們就是要搞好,要不,你們團隊就沒有存在的價值!

于是噼噼啪啪,整了兩個多月的時間,重構了很多的業務邏輯,才慢慢好起來。

我的實際經驗是:踩坑,看惡心的代碼本身,不會產生很大的價值,但是踩坑的過程中獲得的經驗,看惡心代碼,修改惡心代碼的過程中獲得的負反饋,卻極有價值。

它們雖然沒有給你展示什么是好的,但是給你展示了什么是不好的,這過程中,你會慢慢明白,你應該怎么做,才不會重蹈前人的覆轍。

終日跟業務打交道,應該如何來提升自己

1 學會思考和總結

比如當 if else 寫得太長的時候,是不是分析下判斷條件的內在邏輯,有沒有可能去構建一個狀態機。

比如一段代碼邏輯,當你寫第二次的時候,是不是考慮抽成一個單獨的函數,因為有第二次,就意味著會有第三次,第四次。

有不少同學覺得業務邏輯繁雜且沒有技術含量,所以一直對業務邏輯有抵觸的心理,但實際上,業務邏輯也不完全是無章可循,不可復用的。

如果你留心觀察市面上的各類產品,各種APP,你會發現,大家在功能上都會有很多的相同點。

比如,每個APP,幾乎都會有這些功能:注冊,登錄,用戶頭像,昵稱,用戶資料管理。

有些APP會有消息聊天,有的APP會有論壇功能,有的APP會有內容推送,有的APP會有商城,會有支付。

總的來說,你可以認為To C 產品的業務邏輯是有限的( To B的業務豐富性會更高,但也是有限的),雖然具體的業務邏輯不同,但設計的關鍵點,其實是相同的。

比如說登錄。一個產品的登錄模塊,一般會涉及:就近接入,IP重定向,加密設計,密碼驗證等。

比如說消息邏輯,消息邏輯的關鍵點一般是:消息的唯一性和順序性。

類似論壇,內容推送,商城,支付,都一樣,每個具體的業務都有其關鍵點,而且這些關鍵點幾乎都有業內最佳實踐,也有很高的經驗可復用性。(代碼不一定可以復用,但設計思路幾乎都是相同的)。

所以這里一定要學會思考和總結,你的成長只能你做主,沒人可以幫你!

2 不要只守著自己的一畝三分地

很多人做事,只守著自己一畝三分地,來一個需求,做一個需求,做完就不理了,不愿意進行更多的總結,也不愿意接觸需求以外的代碼和邏輯。

一個超過5人維護的系統,就可以認為是一個大系統了。這類系統,按一般比例,有 80% 的邏輯不是你維護的,所以這里就是關鍵了。有的人會去了解覆蓋面更廣的剩余的 80% 的邏輯,有的人就終日只守著自己那塊。

所以最終,一定是更愿意了解全盤的人可以勝出,升職加薪,開始負責統籌整個項目

這個道理很淺顯的,只是很多人或懶或不屑去做,但人跟人的差距,確實就是在這些額外的付出中拉開的。

圍繞業務經驗規劃職業發展

我發現不少同學的職業規劃有點問題,有些人是圍繞新技術來規劃自己的職業發展的,這顯然有問題了。這么做的結果,就是終日在追新技術,終日焦慮,但卻沒有形成核心的競爭力。

我覺得業務的同學應該圍繞業務技術經驗來規劃自身的發展。

其實大家日常接觸的所有需求,延展開來看,都是跟一個具體的行業相關的。

比如做微信QQ,是 To C 的產品,再細分是社交產品,業務技術經驗是社交架構和海量服務。

頭條,抖音,是推薦型產品,業務技術經驗是推薦系統。

企業級應用,SaaS,是 To B 的產品,業務技術經驗是企業級應用,比如如何在共性需求和個性需求之間進行取舍。

搜索,電商等都是如此。

以上的這些業務技術經驗都是有很高技術經驗壁壘的,一旦你積累起來,后面就是獵頭來挖你了。

跟挖人的獵頭接觸的時候,他們喜歡問,你有沒有做社交產品的經驗,你有沒有做過搜索系統,做過推薦系統,有沒有做過企業級的應用等。

挖人的獵頭,招聘的面試官,都希望能夠找到有相關經驗的從業者,而客觀來說,行業經驗的壁壘比技術棧的壁壘要高很多。

新的技術棧,你可能花幾個月的時間,就可以掌握到一定程度了,但行業經驗,卻是要經年累月積累的。

所以,你在做職業規劃的時候,一定要認真思考這個問題,自己所在的行業是什么,未來可選擇的有哪些公司,自己應該注重積累哪些業務技術經驗

最后

技術服務于業務,這是客觀存在的,不過隨著技術的發展和存量時代的到來,技術人員的決策權會越來越大。

踩坑,閱讀惡心的業務邏輯代碼,是一件很有價值的事情,很多人不愿意做,但做的人,可以獲得一份獨到的經驗,這個便是競爭的壁壘。

做業務的同學,平日要多思考,多總結,嘗試思考業務的共性,思考業務的標準化,這能夠極大的提高自身軟件設計的能力。

職業發展的規劃,是個開放性的問題,我的建議圍繞業務技術經驗做職業規劃,而非圍繞技術棧做職業規劃

原文完

Android 研習()社 事件更新:

發出文章后得到了很多人的幫助,感謝大家支持。

另外有點意外的是,從各個地方得到了更多關于 Android 研習(襲)社的黑料,新增了個角色,叫「路遙」,他們一起干了些破事,手段骯臟,極其不要臉,聽了想打人的那種,讓我長見識了。

不過平時我都挺忙的,要看到這些內容得等等了,困了 睡覺去了。

Have a good day!

推薦閱讀:蘋果7好還是7p好

版權和免責申明

吉林信息港所有文字、圖片、視頻、音頻等資料均來自互聯網,不代表本站贊同其觀點,本站亦不為其版權負責。相關作品的原創性、文中陳述文字以及內容數據龐雜本站無法一一核實,如果您發現本網站上有侵犯您的合法權益的內容,請聯系我們,本網站將立即予以刪除!

篮球让分胜负刚好 丽江旅游股票行情 秒速时时彩是哪个省的 腾讯分分彩采集口 官方快三手机app 陕西金叶股票 湖北快三今天预测热号 赌场玩法种类大全 福建体彩36选7开奖走势图 山西快乐10分走势图app 一只股票分析全面分析 广西快三预测号码豹子 北京pk拾开奖直播 辽宁十一选五基本走势图表 福建11选5遗漏数据怎么看 体育彩票大乐透app 股票指数期权的交割方式