導航:首頁 > 程序命令 > 有產品視角的程序員

有產品視角的程序員

發布時間:2023-04-06 05:34:03

程序員轉行可以做什麼

面對著日新月異的代碼和語言,你是否感到了力不從心?稍有懈怠,就跟不上崗位需要了?身體漸漸的發福,熬夜寫代碼開始扛不住了嗎?

這個時代很殘酷也相對公平,殘酷的地方在於世界的變化之快容不得人有片刻懈怠,公平的地方在於:不論你是年輕還是年老,都要靠實力說話。

那些被時代拋棄的永遠都是跑得比較慢甚至在原地徘徊的人,即所謂的工作十年卻只有一年工作經驗。

年輕程序員的優勢在於年輕和激情,大齡程序員的優勢在於閱歷和經驗。所以,年輕程序員不要有跨越年齡階段的焦慮,大齡程序員也不要覺得年輕人搶了自己的飯碗。

每個年齡段都有自己要解決和面臨的問題,認清自己內心真正的需求和渴望,再去尋找適合自己的棲身之地打怪升級,才是當務之急哦。

⑵ 程序員應該向產品經理學習哪些能力

最近幾年要說哪個領域最火,無疑是互聯網領域,而隨著互聯網的火熱,伴隨而來的也是相應的互聯網職位的火熱,比如炙手可熱的程序員和產品經理(或者叫程序猿和產品汪)。我也是一個剛入行不到三年的菜鳥程序員一枚,大學學了四年計算機,畢業以後就一直在寫程序。就像很多人說的那樣,大部分時間似乎是在為了實現產品經理的需求而寫程序,於是程序猿和產品汪之間那些相愛相殺的事情,我也基本都能體會一二。


如果按照主流的做法,作為程序猿王國里的一猿,我應該揮舞起長矛大刀對產品經理口誅筆伐一番,但是這里我卻絲毫不想去為了黑而黑,而是一反常態,從自己的角度來談談,作為程序員,我們應該從產品經理那裡學到些什麼能力,而這些能力,程序員往往做得不夠好甚至可能是欠缺的。

1、文案能力

對的,沒錯,就是文案能力。程序員最擅長的是寫代碼,用文字元號來清晰地表達程序的運行邏輯,簡簡單單的if...else、for就能表達很多枯州亂復雜的運行邏輯,時間久了,對於母語的表達能力漸漸下降,寫個注釋往往都能詞不達意。更何況現在代碼風格指南都在強調好的代碼不需要注釋,於是程序員越來越少寫自然語言了。

2、溝通能力

據我的觀察,畫原型圖只佔據了產品經理工作時間很短的一部分,剩餘的大部分時間是在和老闆、開發、設計、測試溝通,推進產品的一次次迭代。所以,在一個程序員眼裡,產品經理是要協調各方一起推進產品上線的角色,如果有人對需求產生了認知上的偏差,產品經理是要負很大一部分責任的,至少說明產品經理的溝通沒做到位,而這樣的產品經理大部分都被辭退了,因為出現溝通問題最嚴重的後果就是上線延期甚至產品失敗,一個產品的失敗是對產品經理最大的否定。

總之,產品經理絕不是埋頭苦乾的原型畫家,要去關注外界、關注他人,平衡各方利益並且化解沖突。溝通,本質上也是權衡與妥協的藝術。我看到的和遇到的產品經理,溝通能力普遍都是很好的,至少大部分都不輸於程序員。

3、整體思維

現在稍微有點規模的互聯網公司都會把各個業務或者功能進行細分,很多程序員往往會專注於自己的業務和細分領域。精細化分工,是現代社會發展出來的一個高效率生產方式,對提高公司的競爭力是大有好處的。但是這有一個負面的影響是,很多程序員往往過於專注自己的一畝三分地,不太關心甚至忽略了整體的存在。

4、總結

一個跡滑好的產品經理其實絕不止這些能力,而文案、溝通、整體思維這些能力是我所觀察到的作為產品經理最容易被放大和辨識到的能力,也是多數比較容易被程序員忽視的能力,程序員學習到產品經理身上這些最容易被沒檔觀察到的特質,對程序員本身來說是一個非常好的進步的過程。所以,程序員,請多看看產品經理發給你的文案,是不是比你自己寫的更友好,逼格更高?北大青鳥建議多觀察產品經理是怎麼說服大家接受需求變動的,如果換作是你,你能安撫大家的小情緒嗎?多體會產品經理對產品設計和預期的宏觀描述,再簡單的功能也有它背後的邏輯和存在的意義。


⑶ 做為一個程序員你為什麼離開大廠呢原因有哪些

程序員的崗位生命周期與自己的自學能力、崗位等級和細分行業都是有較為立即的關聯,盡管在大型廠有較大的上漲室內空間,並且會獲取越來越多的網路資源支撐點,可是能不能在程序員崗位走得更長遠通常或是因人有所不同的。從程序員崗位的特性看來,往往程序員崗位的崗位生命周期相對性較為短,一個主要的因素是程序員崗位的壓力非常大,尤其是運用級程序員崗位,不但壓力非常大,並且自己的上漲的空間也相對來說非常小,常常要應對許多可重復性的研發每日任務,這也會造成程序員的工藝管理體系慢慢老舊,進而被領域所取代。因此,從這種視角看來,從業產品研發級崗位會在一定水平上增加自己的崗位生命周期。

假如效益低迷加工廠會對技術人員開展裁掉,就算確實想做到退休幾乎可以說天方夜談,因此在企業都還沒破產倒閉以前,多學習培訓更多的專業技能為未來換工作奠定扎實的基本。程序員無論到什麼高新科技產品研發企業、生產廠、網路科技公司,或是中央企業、國營企業全是較為吃香的專業,月收益過萬沒有問題。關鍵是對技術專業英雄熟練度、技術性是不是高超及其把握的關鍵技術比較多有較大的關系。

⑷ 程序員轉做產品經理,對於轉行謀職產品經理難度大嗎

難度是比較大的,不同的職位有不同的事業規劃,想要做一個成功的產品經理,必須要有著非常不錯的溝通能力。

⑸ 程序員會甘願為實現產品經理的想法而工作嗎

其實產品經理這個崗位,就是程序員轉崗的最佳選擇之一。和程序員不同的是,產品經理不需要寫代碼,主要工作就是挖掘用戶需求,將用戶需求轉化為功能需求,做出原型交給開發和 UI 進行產品的開發設計,同時跟進程序員同學開發進度直到產品上線。

產品經理其實就是對一個產品負責的管理者,和程序員相比,他需要具備更強的綜合能力。

軟體專業畢業的學生,做產品經理有得天獨厚的優勢。因為他們專業能力更強,也懂得什麼樣的產品能落地,他們更容易受到程序員的尊重,溝通起來也會更加順暢。而且,產品經理的薪資待遇並不比程序員低。一、產品經理的主要工作

那麼,產品經理的具體工作有哪些呢?

1、需求分析

通過用戶調研(訪談,問卷,功能數據)等,發現用戶的痛點。

2、產品設計

根據需求分析的結果,定製解決方案,通過產品原型(Demo)實現出來,並需要把交互,規則,邏輯及數據統計需求寫清楚(PRD)。

3、項目跟進

需要與UI,UE,開發,測試,需求方進行溝通確認,保證整個項目過程中,各方對產品功能的理解一致,並按照原定計劃進行推進。

4、產品上線

產品上線前,需要提前准備好宣傳軟文,培訓手冊;產品上線後,需要進行線上驗證,檢查和自己的產品設計是否一致,此外還需要數據的收集。

⑹ 產品經理怎麼和程序員打交道【3】

經常有人問我:「嗨,費傑你好!請問阿里巴巴的需求文檔怎麼寫?「,但很少聽到人談:「嗨,哥們你好!請問產品經理怎麼和程序員打交道?」你回去稍微琢磨了一下,心裡就會得到下面三種情況:1) 很多產品經理之前就是程序員,所以非常了解程序員是什麼樣的一個狀態;2) 很多產品經理還停留在關注自己產品規劃、設計本身,缺乏對團隊配合的思考;3) 很多產品經理,其實是有和程序員打交道的實踐技巧、心得的,但沒有重視和分享。事實上在很多產品研發體系下,產品經理和程序員因為思考方式、關注范圍、職能職責的差異,導致了溝通上的困難。如何更好的與程序員建立起一座暢通的橋梁也是每位產品經理需要思考的問題。一般情況下,產品經理和程序員溝通困難大概的原因:�0�21、得到信息不對稱;�0�2�0�2產品經理得到的信息一般集中在:商業需求、商業策略、戰略方向、產品規劃、運營數據、整體營收、目標任務等方面。產品經理往往在根據公司現階段的情況,以及市場的競爭情況,做一些產品策略或者一些產品的方案的策劃、發起、實施。
所以這個過程中,產品經理扮演的角色是翻譯:「市場需求、商業需求」,成為:「產品需求」,所有的信息全部圍繞需求本身。為什麼要做需求?怎麼做需求?先做什麼需求、後做什麼?基於怎麼樣一個思路去推送產品進行實施、從一個利益平衡獲得空間增長指標後達到另外一個利益平衡。程序員不一樣,很多時候程序員得到的信息是:有一個需求,可能是小需求、產品需求、或大到項目需求,然後得到一系列需求列表,然後產品經理會讓程序員看:「需求」哪些通過code改改就可以實現,哪些是需要開發可以實現,哪些是技術或構架或因為成本的原因不能實現。
所以在這個過程中,程序員扮演的角色是翻譯:「產品需求」,成為:「技術語言」的評估,所有的信息全部圍繞開發需求本身。如何開發這些需求?是溝通資料庫增加欄位?調用介面?開發新的介面?需要開發組件?重新構架引擎?來實現滿足或支撐這些需求?那這個時候問題來了,很多情況下我們只是把程序員當做一個寫代碼,通過編程語言來操作計算機完成需求的工具了。�0�22、溝通語言不對稱;�0�2�0�2說到兩者溝通的語言,這肯定是困擾產品經理本身的。產品經理的語言是:「描述「、」形容「,我也見過很多產品經理,很多人的需求文檔就是漫天飛舞的文字,一整段的描述+描述,不要說程序員看不清,可能過段時間連自己都看不清楚。除了書面語言,產品經理的溝通語言也是含糊的,沒有太多的邏輯去組織,很多時候總是試圖去述說一個需求,被程序員的一個計算機術語而打斷。程序員的語言,更偏向於技術化。很多產品經理做過技術,有技術背景,但是還有很多產品經理不懂得技術。所以在這個時候,程序員在解說或回答一個需求的時候,會把自己習以為常的變數、函數、實現方式說出來。於是很多產品經理聽到:「Sdk、webshell、select、api、組件、插件、控制項「等等的時候會雲里霧里,那這個時候問題來了,很多情況下我們總站在自己的立場上、自己的世界裡認為別人也懂自己在說什麼?實際呢?大家都是聽得一半一半,溝通沒有徹底到位。�0�23、思考角度不對稱�0�2�0�2產品經理思考的角度在於產品本身,對技術的細節、技術的性能沒有太多的發言權。很多產品經理要是的實現的業務邏輯,不管程序員是採用:c++ 、javaphp、Python、找開源代碼改的,還是自己寫的都沒有關系。程序員只要在約定的時間里,把約定的業務邏輯開發出來就可以,產品經理不去會考慮目前伺服器的配置、程序員手上任務的配置、技術能力的情況,要的是結果。而且很情願的認為團隊中的工程師都是世界上最好的工程師,想做什麼都可以做,對因為技術原因而不能支持實現需求不能接受。程序員思考的角度有點區別,我也看到不到程序員本身對產品追求完美對需求的背景、意義去研究了解;但很多程序員還是停留在自己接單子任務一樣來一個做一個的境界,做好了自己玩自己的。程序員考慮程序實現的方式同樣的一個請求是get還是post,程序員考慮代碼的性能,從而採取不一樣的方案去實現需求,考慮請求並發量壓力和安全性。但是很多情況下,程序員對技術的理解會導致有一些業務需求滿足不了,不是因為不能實現,是因為實現了覺得是廢代碼,或者構架不完美了。那這個時候問題來了,很多情況下到底傾斜誰的立場上思考問題?我之前也會碰到很多情況程序員就程序的角度說業務需求不合理,產品經理說程序員消極罷工、霸得蠻。�0�24、考核標准不對稱;�0�2�0�2誰也不尿誰,哼!你能把我怎麼樣。產品經理和程序員有為完全溝通或誤會的時候,極端情況下,有一方會罷工。這個時候主要是2個角色的各個考核標准不一樣,所以在很多情況下顯得非常的無奈。產品經理很可能考核的是方案和上線的時間、產品上線後的數據;而工程師考核的是程序的性能、很多時候產品經理催的急要的急,但程序員每天的時間有限,還是得慢慢構架慢慢開發,程序員開發時間少了,未知的執行BUG沒考慮過是要負責的。這個時候問題又來了,產品經理天天干著急!咋辦?以上是我結合幾年來的工作經驗總結出來的,當然這4大因素把很多共性的因素概況進來了。當然過程中還是會因為很多產品經理或程序員本身(個性)的溝通技巧、態度、情商等因素導致的溝通不倡,影響了彼此之間的默契。其實仔細的分析一下,產品經理和程序員打交道的過程中不管是共性的因素還是個性的因素,也不是想像中那麼困難。通過一些努力之後,我們總是會找到一些快速和程序員建立溝通橋梁的辦法。我個觀點如下:�0�21、 要看到項目層面,不要只看需求本身。�0�2�0�2上面說到的幾點不管是:「信息不對稱「、」溝通的語言不對稱「、」思考角度不對稱「還是」考核的標准不對稱「是我們常見的幾個客觀隱私。把幾個因素抽取出來剖析,發現還是由於我們站問題的視角的高度不一致造成的。產品經理只是看到自己得到了商業的需求,策劃了產品的需求,接下來會把很多事情拋給程序員做了,那還是站在需求方的角色中。那如果真正的是站在意識層面的項目經理的角度,這個時候看待問題的視眼會廣很多。這個時候你就想著為了做這個項目這個需求,程序員是不是明白了為什麼要做?是不是對這哪些需求的優先順序有了重要的認識?作為產品經理我用怎麼樣一種表達方式程序員更明白?是不是需要把時間點等劃定?目前程序員的資源和伺服器情況允許他們能做的空間是多大?怎麼樣才能拉動他們的積極性更好的完成這個項目?適當的時候,需要幫助程序員做哪些申請或讓步?對產品經理來說,同樣張羅一件事情,同樣會了得到一個結果,但是中間的過程很可能是完全不一樣的。所以因為思考角度僅僅從做完一個需求死磨硬泡上升到,站在項目的角度去考慮各個關節的風險點、時間點,得到的效果是完全不一樣的。�0�22、從理解程序員開始,換位思考會更好。�0�2�0�2一直在問一個問題:「程序員是什麼一群人?「就和問自己:」產品經理是什麼一群人?「一樣,有點好笑、有點幼稚。從小工到專家,從CSDN到走出軟體作坊,發現很多很多非常優秀的程序員的心聲。程序員是什麼樣一群人?像切西瓜一樣一刀一刀切:寫php的寫Java的寫windows C的寫liunx C的寫C++的編程水平一般的編程水平還行的編程水平牛逼的編程水平大師級的構架牛的資料庫牛的勤奮的懶於思考的不會JavaScript的積極的喜歡鑽研的……好像都不太合適,因為你找不到解決和工程師溝通的好的辦法。而且這些很多是外在的條件,隨隨都在改變。看到很多朋友一年之間經歷幾個大項目水平突然猛進,態度、一些特點也變得完全不一樣。這個時候你需要的是了解和掌握程序員,作為職場的人,和我們一樣的人共同需要的一些特點。如下4點:1) 是不是特別想被肯定、獲得尊重;理解、肯定、尊重。這3個詞或許非常的空但確確實實是一個非常好的方子。靜下心來走近程序員,聽聽他們的心聲、他們的抱怨,或許產品經理和程序員的距離將不再是那麼遙遠。雖然很多時候我們講德行說尊重,但真正領悟到心裡、落實到行動、表現在態度上的完全不一樣的。真正,你是不是一言、一行本真理解、肯定、尊重程序員的,程序員是有感知的。2) 是不是想給產品提供自己的建議,而不是僅僅做一個編程的機器;很多程序員對產品非常熱愛、對產品有獨特的想法,但多數又局限於技術情節對產品的建議常常被忽視。相信很多程序員都希望參與產品,通過自己的專長改變產品,進而打磨出一款完美的產品。所以產品經理也可以適當的給程序員一點發揮的空間,特別是在技術創新、產品需要技術驅動的方面,在商業可控的層面讓程序員發揮排頭兵的作用。這樣程序員會開足馬力投入到開發實施的過程中。3) 是不是不僅僅和人任務指派,需求更多的和諧的人與人之間的溝通建立。產品經理和程序員兩者之間沒有一個良好的溝通,只是基於做與不做,做好做不好,什麼時候做好,這樣的功利性溝通肯定是不可靠的。往往兩者因默契不夠,或一方因溝通技巧不足、對待工作態度不夠積極,造成矛盾。建立一個人與人之間的良好溝通,幫助產品經理或程序員更好的認知對方、了解對方,這樣無論是在平時的溝通過程,還是在項目的合作過程中更好的促進了解、達成共致都會有一個前提保障。4)是不是需要別人的幫助,讓他在非技術領域獲得真知。看到很多產品經理朋友和程序員打成一片,和程序員一天聊天、抽煙、一起下班打游戲、打球,甚至有些時候產品頭腦風暴的時候要去幾個有產品情節的工程師參與前期的討論,效果都不錯。可能這些現象從另外一個層面來解決我們上面的一些疑惑。3、產品經理要改善心智,不斷自我學習。�0�2�0�2最近突然覺得說得想的,有點像哲學。群里的一個朋友說了, 其實哲學就是我們生活一些事情表現出來的道路。產品經理跟程序員打交道也好,對待生活也好,我個人認為是產品經理對哲學的認識、理解、應用。產品經理越往下走,拋開產品技能本身不談,沉澱商業以及人脈資源,都是需要以一種良好、可靠的思維方式去支撐的,也就是所說的心智模型。很多時候產品經理改善心智可以不斷的增強一些事物的判斷。如:遇到程序員的拒絕的、不行的理由,這個時候你通過分析起碼要判斷得出來,這個是程序員隔個人的態度問題,還是流程問題,有一點微妙的。所以產品經理需要不斷的學習,學習提高軟技能。說到學習,回應這篇《產品經理怎麼樣和程序員打交道》中,程序員常用的一些技術原理、技術術語得去學習一下、研究一下。Right? OK, End !

⑺ 如何辨別一個程序員水平的高低

1.自己介紹項目,看對項目的提煉總結能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技術深度;
3.設計模式提問,看有沒有學習方法;
4.語法基礎問題,多線,分布,安全等問題,看知識面廣度;
5.智力問題,看反應能力,分析問題思路等
上述五步基本可知是否是一個好程序猿

計科專業從事軟體開發十幾年了,主要在瀏覽器內核領域研究的比較多,最近在研究伺服器後台方向,辨別程序員水平高低主要看做出了什麼產品,如同現在的程序員主要是項目經驗,簡歷上寫的一堆項目經驗都是面試的時候主要提及的問題。經常在面試中會問兩個關鍵點:一個是做過什麼項目;一個是在項目組中承擔什麼職務,畢竟參與過和做的多少程度是不一樣的,這些都是可以通過一些具體的細節檢測出來,問題越具體越是容易看出水準,具體的東西不是能夠編造出來的。

有很多技術公司直接不通過筆試,僅僅通過簡單的面試就確定工資水準了,最簡單的測試程序員水平的直接用筆試的方式,筆試可以把一些細節量化,盡量的細節化也是能測試出程序員基本功的,但這種基本用來測試初級程序員的,很多高級的程序員看到有筆試直接就抬腿走人了,因為有些程序員在一個方向做的時間太長了,很多基本功都忘得差不多了,所以筆試可能不過關,現實中很多程序員筆試不過關,面試還可以,也一樣可以做項目說的就是這類人,起碼這算是非常優秀的程序員。

有很多公司採用谷歌的方式,直接採用上機寫代碼的方式檢驗程序員水平,這種方式比較直接,但在現實中可能消耗的時間以及面試官的精力,目前只有極少數的公司用這種方式,國外的公司用這種方式比較多,這種看基本功非常有效。通過代碼可以看到編碼習慣以及演算法的設計上,都能直接看的出來。

普通的程序員直接看項目的經驗,高級的直接看做過的產品,特別是產品主要設計人員,這就是程序員內心的自豪感,畢竟作為一個程序員起碼要有自己設計開發的產品,也算是不白做一個程序員,在程序員的職業經歷中如果能經歷過一個產品從開始設計的初稿到最後推向市場,如果是完整的經歷,將是一種巨大的財富,只要經歷過一次都會對產品設計有一個比較層次的認識,這種能力需要靠直接的面試語言表達來展示出來,談下對產品的認識以及產品穩定性性能等方面的總結,能到這個層面起碼是高級軟體工程師的級別。

當然有些程序員內在的東西不是靠語言或者寫代碼看出來的,因為一個優秀的程序員不僅僅是代碼能力以及框架能力,還有幾個非常重要的能力

程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。

希望能夠幫到你。

自認為不是一個好的面試官,因為我認為在這么短的時間內,准確地衡量出來程序員水平的高低是有比較大的難度的,並且我有多次看走眼的時候,面試的時候覺得能力還不錯,但是入職工作了一段時間之後,編程能力不忍直視。

工作之後接觸一段時間,我會從這么幾個方面觀察他們,以判斷技術能力的高低和發展潛力。


能不能出活兒、能不能debug

能不能把開發任務按時按質量地完成,當然是最主要的衡量標准了:

解決問題的方法

在開發過程中,難免會遇到沒有見過的問題,有些程序員遇到問題無從下手,而優秀的程序員,自有一套解決問題的方法。

分析問題、流程設計的思路

有人會認為,程序員的主要工作就是敲代碼,上班大部分時候都是在敲代碼,其實並不是這樣:

總結問題和改進問題的能力

好的程序員,相同的問題不會犯第二次,差的程序員,總會在一個問題上栽跟頭:

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。

不請自來,一介碼農路過,留下些看法。

程序員主要是有四種綜合能力,也就是debug 能力、 performance分析、 保護性編程和 投入產出比。

僅僅獨立完成日後必然成高手?

在這里不能說一棒子打死,至少對於很多人來說,能獨立完成是沒什麼問題的,有的是因為對業務熟悉,有的是真的基礎扎實。但怎麼說呢,程序員和瀏覽器打交道是最多的,現在這個互聯網時代,遇到的大部分問題網路都是可以解決的,也就是普通程序員 + 網路 = 超級程序員。 但很多人也沒明白具體的原理,甚至都是這個項目抄抄那個項目抄抄的,久而久之雖然解決了平時的業務,但進步的空間卻很少,甚至止步不前,寫出來的代碼也可能存在很多坑,所以,僅僅能獨立完成任務的話,離高手還有比較遠的一段距離。

如何辨別高手程序員?

也就是結合我們一開始列舉的那四個能力進行判斷。不同級別的程序員,在那綜合能力面前,強弱也是不同的。例如在奔潰的或者其他性能調優問題上,即使是面對大量復雜的代碼,在信息不全的時候也會一步步的分析,抽絲剝繭縮小范圍,最終定位根本原因

,並且最終給出一個好的方案。

如何成為高手程序員?

當然還有看他摘了帽子是否禿頂這樣的笑話,就再不贅述了。

第一階段(黃金):會用編程語言實現需求,比如現在的業務系統,都會找一些會搬代碼的人來拼工作量,也就是能自己獨立基於搭好的框架實現crud常規操作。

第二階段(鉑金):除了crud,還會有一些自己踩過坑的經驗,知道如何處理一些常見問題,或者可以基於搜索引擎快速解決一些異常情況。

第三階段(鑽石):能解決一些疑難雜症和會通過debug部分源碼類庫查看到這些疑難雜症是如何引發的,並通過編碼解決這些問題,還能進行一些局部的性能優化,類似某個系統介面緩慢可以單獨去優化。

第四階段(星耀):會基於整個系統進行設計和規劃,根據業務特性選擇合適的框架,從源頭控制開發遇到問題的頻率,可以自主的搭建框架並完善機制,了解各個組件工作原理。

第五階段(王者):小說裡面總是說練武功的永遠比不過創造武功的,同樣的道理,用框架的也往往不如寫框架的,所以寫框架的這類人單獨分層。

第六階段(榮耀):其實這個階段不應該列入進來,因為這類人往往不編碼的,只是給出思想;像Hadoop這種框架就是基於人家發表的一些論文(bigdata)進行編碼實現的,這類人注重的是思想和演算法,區塊鏈,大數據,雲計算等等概念的創造和理論的支撐是這類人提出來的,這些人才是真正影響行業走向的人。

程序員的水平高低,不是靠語言或外在表現就能看出來的,不是看他會多少技術、參加過多少項目、寫了多少博客,而是看他在實際業務場景中解決問題的能力,尤其是面對一些特別復雜的問題,或在高強度、高壓工作狀態下解決問題的能力與態度。


技術可以通過學習掌握,但是解決問題、定位問題的能力卻不是一蹴而就。大家可能會說,「解決問題的能力」這個太寬泛了吧,可以更具象化嗎,有具體的測量方法嗎?簡單整理了以下幾點供參考。


優秀的代碼能力

會寫出滿足需求的代碼,早就不是評判程序員水平的標准了。代碼編寫既要滿足業務需求,同時還要考慮後續的軟體維護,說得通俗些,既要自己爽,也要別人爽。一個優秀的程序員,會致力於寫出更簡單、更效率、可讀性強、擴展性強的程序代碼。


邏輯思維

程序員在日常工作中,需要理解各式各樣的業務需求,所以這就需要程序員具備一定的邏輯思維能力。可以說,邏輯思維是程序員的靈魂,因為每一行代碼都是程序員邏輯的體現。


debug能力

項目著急上線,發布時出現問題?

業務高峰時段,系統宕機了?

業務催、運營催、用戶催、老闆催!

各種形態的bug,各種著急的心情,背後無數支眼睛盯得內心慌慌......

這些都是一位合格程序員所需要面對的日常。不同的程序員,在解決問題的方法、效率、質量等方面,都各有千秋。一個經驗豐富的程序員,能夠扛住各方壓力,在復雜條件下找到核心問題,通過抽絲剝繭的分析來找到產生問題的原因,並快速進行應對處理,事後及時復盤總結,減少同類問題出現的概率。


學習能力

隨之互聯網的發展,越來越多的人湧入程序員這個賽道,競爭日益激烈,加之新技術層出不窮,更新迭代快,程序員所使用的語言、框架、模式都會發生天翻地覆的變化。如果不主動學習,你很快就會被落伍淘汰。



溝通能力

這種其實在面試過程中能體現出來,溝通主要是技術溝通,以及和客戶之間的溝通,所有技術都不是閉門造車就能搞定的,溝通能讓事情推進起來更加順暢,包括和產品經理之間的流暢的溝通也顯得非常重要。程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。


責任心

線上出bug了,第一時間響應、處理;

團隊項目進度緊張、人手緊缺,主動補位;

又或者,在項目推進過程中如果只是關心自己模塊內容,對於整個項目置之不理,只守著自己的一畝三分地。

隨著時間軸的拉長,你會發現,有此f技術能力不是最好的,甚至不如你的小夥伴,最後做到了技術主管或經理、甚至更高職位,這裡面除了技術實力,還有一個叫「責任心」的東西。


結束語

判斷一個程序員的水平高低,核心是其解決問題的能力,而解決問題的能力養成,需要扎實的底層基礎來支撐,要綜合其代碼質量、項目經驗、框架能力、邏輯思維等等多方面,不能單看某一方面。


而對於1-6歲的程序員來說,想要成為一個高級程序員,變得越來越優秀,唯有持之以恆去學習、積累、實踐、修煉。



----end----


一:50歲的時候,頭發還是黑色的濃密的。

二:賺到的錢能保證家人快樂的生活。

三:當公司不要你的時候能成功轉型。

其他的例如編程經驗、寫代碼厲害啊什麼的根本不值一提。

這就是程序員的面試嘛 :-)

(1)是否能熟練使用所用編程語言的主要功能;

(2)是否知道用合適的數據結構解決問題;

(3)是否知道基本的演算法,並且用這些演算法解決問題;

(4)只看少量代碼的話,從變數命名和程序結構一般能夠判斷是否是新手;

(5)給出具體問題,能夠用程序解決,能考慮到所有的邊界條件;

(6)考慮程序的可擴展性,可維護性;

再往高一點走,就需要

(7)面對模糊的問題能夠分析並且找到細節和具體的需求;

(8)知道利用已有的庫,架構和工具等來解決新的問題,而不是什麼都自己實現;

(9)能發現並改進已有程序中的瓶頸;

(10)對整個大項目的程序架構有很清晰的了解,知道相互之間的依賴,以及知道為什麼採用這樣就架構;

(11)給一個大的項目,能夠對整個項目的程序架構和組件進行合理的設計,考慮並行性,低延遲,大數據量等各種需求和應對方式。

帶領團隊已多年,項目數十個,對判別程序員水平的高低,我有自己的看法,歡迎大家一起交流。



1.代碼質量。

優質的代碼,首先是經得起考驗。靜態分析工具過一遍,無錯誤,無警告。當然警告部分需要人工重審,因為靜態分析工具不一定完全正確。過了這一關,重要的還須過測試關,少Bug或無Bug的代碼,才是好代碼。優質的代碼帶有技術氣質和藝術氣質。閱讀起來,有一種賞心悅目的快感,即工整美觀,干凈利落,又蘊含著理論常識,運用技巧,精準到位。



2.表達能力。



3.文檔能力。

文檔形式包括但不限於PPT,文字,圖表,音視頻。文檔內容包括但不限於API說明,工具手冊,項目事項,技術論述,陷阱總結,方案展示,指導手冊。文檔要求必須是滿足公司或部門的規范和格式,否則五花八門的,不利於交流和傳承。



以上3點,是我量化判斷程序員水平的標准,僅供參考。相比水平,其實我更看重程序員的態度,執行力,時間觀念,自學力等等,也是很重要的團隊作戰能力,也可以說是程序員水平的考量吧。

謝謝大家。

⑻ 為何大多數程序猿會轉行做產品經理的背後的原因有哪些

產品經理這個工作對之前的工作經歷或者學歷沒有太高的要求,再加上這兩種工作有聯系,作為程序員了解產品的屬性或者性質,程序員的溝通能力很強,所以可以好好的勝任產品經理這個工作。

⑼ 你認識的程序員都有哪些特點

程序員都是一些追求完美的人。女程序員細致認真,不僅能寫代碼而且注釋詳盡清晰、能做好單元測試BUG最少、能寫標准規范的設計文件不會對不上模塊編號也不會少了類或介面說明,提交代碼不會忘記寫LOG,不會和測試人員面紅耳赤地爭辯這是測試理解錯誤而不是代碼錯誤,不會因為還要寫用戶手冊而抱怨連天,不是份內的工作如果需要也會按時完成。程序員都是一些追求完美的人。女程序員細致認真,不僅能寫代碼而且注釋詳盡清晰、能做好單元測試BUG最少、能寫標准規范的設計文件不會對不上模塊編號也不會少了類或介面說明,提交代碼不會忘記寫LOG,不會和測試人員面紅耳赤地爭辯這是測試理解錯誤而不是代碼錯誤,不會因為還要寫用戶手冊而抱怨連天,不是份內的工作如果需要也會按時完成。 女人天生比男人細心、耐心、有愛心、不願意給別人帶來麻煩。周圍的女程序員的確不多: 一個學人機交互的女博,她負責的產品從各個方面來講都很棒,工作交給她非常放心。

閱讀全文

與有產品視角的程序員相關的資料

熱點內容
為什麼我的世界天空伺服器進不去 瀏覽:262
釘釘直播後的視頻如何線上加密 瀏覽:503
聽主的命令 瀏覽:208
全民上雲時代雲伺服器 瀏覽:519
iphone不創建id如何下載app 瀏覽:972
windowsphp擴展安裝 瀏覽:93
emacslinux配置文件 瀏覽:379
python3在線教程 瀏覽:114
不小心刪文件夾的文件 瀏覽:480
java獲取手機IP 瀏覽:816
手機rar解壓密碼獲取 瀏覽:344
程序員被辭退工資怎麼處理 瀏覽:494
戀活的模型沒加密 瀏覽:159
如何把安卓機的微信轉移蘋果 瀏覽:583
爬山演算法相關題目 瀏覽:724
vc編程大全 瀏覽:118
excel表格單列數據加密 瀏覽:650
給同事的解壓話語 瀏覽:994
linux關閉網卡命令行 瀏覽:456
史上最漂亮程序員 瀏覽:771