關於難點的思考

Real_man發表於2019-04-16

你之前遇到的難點是什麼?這個是提現一個人思維方式的問題,就像最大挑戰,通過這個問題就瞭解到個人能否接受挑戰。

記得,曾經有人說他遇到過的挑戰就是自己獨立坐車從大學回家了。也行對於一些人,家境好,生活舒服,不會遇到什麼棘手的事,這就是他們遇到的挑戰。

我想說說自己對難點的思考,受限於環境,各種因素,我能遇到的難點也有限,每個人的視角不同,可能我覺得難的東西,有人覺得很簡單。

技術上

從接觸程式設計到現在,越來越覺得技術上其實沒有什麼難點,只是你對他了解的少罷了,現在突然告訴你一種不知道的技術,因為不知道,你可能覺得難,但是公司說,你這段時間不用幹其他的了,就把這個技術給我研究透,到時候給大家說說。我想這個技術對你來說就不難了,你有足夠的時間去了解它。記得我創業時曾3個月獨立開發安卓,ios app並且都上架到應用市場,開始時,很多都不懂,時間夠了,自然就有所瞭解。

技術上,只有願意學,大家都是能掌握的。僅僅對技術的考察是不夠的,我覺得作為開發,難的地方是如何合理的運用你所學的技術來解決現實生活中的問題。同時有多種技術都可以解決某種問題,你為什麼要選擇這種技術?這就可以考驗一個人的運用能力,有的人可能對這種技術很熟,但是並不適用當前的業務場景,導致實施起來非常的麻煩,這就產生了難題。

所以我覺得,技術攻關不難,如何合理的運用掌握的技術來解決所遇到的問題難。

其實這個和演算法有點像,各種程式語言的基礎語法我們都知道,只要做程式設計的都會了解這些東西。但是如果讓解決一些演算法性的問題,像初級演算法,中級演算法,高階演算法肯定可以難倒很大一批人,這時候人就會說這道題好難啊。

這就是對知識的運用能力,如果有些人都沒學過演算法,還能憑藉自己的聰明才智較優的解決演算法題,那麼這個人真的很厲害,我想他解決問題的能力覺得是一流的,可能他覺得都沒有什麼難題吧。

實際上

剛才說了,我覺得技術沒有難的,難的是如何合理的運用所學的技術解決問題。在實際的開發中,因為我們是程式設計師,肯定要考慮開發場景。

大部分時候,因為我們水平沒有公司的技術專家厲害,技術攻關會交給公司的架構師來解決,我們能處理的只剩下了一些不是那麼難的問題,公司花大價錢招那些牛人就是為了解決關鍵的難題的,讓我們去解決,又製造新的問題,估計也承擔不起責任。

大難題我們做不了,小難題也是可以提升的。其實大家在一個公司裡,雖然我們沒法做大難題,但是我們可以問牛人啊。難題不是我們做的,但是這種通用的經驗,可以學習,可以分享。

有時候可能忘記了問牛人那些難題,還剩下自己解決的那些難題。其實因為這些難題是自己解決的自己也最清楚是怎麼回事,當時是怎麼想的。對於這種自己寶貴的經驗,一定要好好的進行總結與覆盤,提升自己的能力。

簡述

主要在思考什麼是難點,難題?

我覺得技術上的問題是不難攻克的,只要你願意花時間,難點在於你如何運用技術來解決實際的問題,在解決問題前可以進行調研,不要盲目的採用自己已經掌握的技術。

每個人解決問題的能力是不同的,這也是為什麼行業內有大牛,有小白,身為小白,我們要做的一個是如果有機會一定要問學習大牛解決問題的方式方法,比如問當初為什麼要這樣設計公司的架構。採用xxx不行嗎?如果沒有與大牛接觸的機會,那就要利用已有的資源,充分的對自己曾經解決的問題進行總結,覆盤思考,甚至可以逼迫自己有沒有最優解。

反思

只是以工作上來說,碰到過哪些難點

  • 解決完全都沒辦法跟蹤的事件單,面對一個十幾年的業務系統,一些事件單突然被提出,發現問題是幾個月前的了,連日誌都沒有,要給出這種事件單的原因,解決辦法,以及深層次的原因,能不能不再出現這種事件單
  • 第三方系統不夠人性化使用,就比如早些年的12306,卡的要命,但是全國只此一家,你只能容忍。同樣的對接支付寶,如果支付寶產品不夠方便,那你只能將就去設計迎合對方系統的方案,對方系統不是冪等的,你就要做冪等的,對方不給你結果,你就要主動的去查結果。系統中出現了沒說明的狀態碼,你就要去問為什麼會有這種情況。 不是每個東西都會給你提供便利的,有時候需要自力更生
  • 面對錯綜複雜的十幾年業務系統,如何注入新的血液,採用新的能支撐的技術,如果將舊的規則替換掉,壞的程式碼進行改善,這是很典型的一個難點。

還有一個難點是如何在看似簡單平淡中的工作中,不斷的提升自己,提升在公司的價值,在市場上的價值,這是需要考慮的。

最後

有人問我,你有遇到過什麼難點嗎?之前也沒認真的相過這些問題,現在來看,所謂的難點,其實就是提升自己的好時機。

相關文章