程序員這份職業

一、啓蒙與選擇

決定進入軟件行業,從事程序員這份工作,始於大學的薰陶。當時的想法很簡單,爲了能夠做出酷炫的東西,可以在同學面前炫技;也受學長大學四年經歷的啓示,在以後離開校園時,提前謀一條出路,學習一些技能,旱澇保收不怕餓死。炫技、謀生、未來主流,基於這三個原因構成了我最初學習技術的原動力。

學習的過程遇到了很多的問題,不知道從何入手、獲取到的資料少、學習的方向不明確等,那個時候只要有機會和大佬面對面交談和有人指導的機會都會百分百專注,希望不錯過每一個對自己有幫助的東西,就希望天天粘着。

在這個艱難的學習期,有學長帶了一學期,看視頻自學了一學期,自己給別人培訓了一學期,除此外就沒有什麼跟技術相關的活動了。而在不斷摸索的過程中,學習能力也開始得到了鍛鍊,開始知道怎麼查找資料,遇到問題怎麼想辦法解決,瞭解到的技術少,學習的方向就很單一,等到後面開始瞭解到越來越多的知識和技術時,反而有些糾結和迷茫,這麼多的東西到底哪個纔是自己主打的方向,不同的技術要了解什麼,瞭解到什麼程度都成了擺在自己面前的問題。這些也一直困擾着自己。

二、程序員職業對個人的塑造

1、規範性

程序員需要學習的東西比較多,面對的資料也多,如何整理這些資料文檔,按照那種方式整理,是需要好好思考的,隨便亂放是不行的,會影響你工作效率,也不利於工作經驗的沉澱,所以,特別鍛鍊一個人文檔整理的規範性,工作上的規範也一定程度影響你生活中做事的風格,是胡亂一丟還是分門別類。

2、細心

一個項目很多行代碼,稍不注意一些小問題就會影響到整個項目,比如多打了一些東西,少打了一些東西,多刪減了一些看似無用的東西,出補丁時少了一級路徑,複製時少複製了一個字母等,各種各樣小細節上引發的問題,就特別需要自己留心,多檢查檢查

3、學習能力

需要用到很多開發相關的軟件工具,工具的學習,業務的理解,代碼技術層面的學習,如何使用這些技術,遇到問題了查資料解決,看相關的專業書籍等,但是基於不同工作的性質,初期大踏步學習後,後期就開始平穩了,已有的東西足夠應付工作上的事後,就容易求穩,所以保持持續學習力,除了工作迫使你學習,另外一點就是從內而外驅動,而從內部驅動往往是很難的,大多人更樂於被動學習,而一個有足夠學習空間和成長空間的工作無疑是吸引人的,具備一定基礎後,工作需要什麼就學習什麼這種學習能力是很強的競爭力。它代表了你的快速適應能力。

4、分析解決問題的能力

從一開始工作不知道做啥,到清晰整個工作流程和內容,同樣地,編碼過程遇到的問題,從不知道怎麼下手解決到快速閉環,這中間體現了分析和解決問題的能力,從技術層面、架構設計層面、業務層面三個大方向出發,每一個方向裏又有各種各樣的技巧和思路。刨去廣度意義上技術的多樣性,每一項技術除了自身的一些設計特質和語言特質外,最終落實到處理問題上的,是你的分析和思考能力。

5、架構設計能力

這項能力體現了個人的技術棧,和宏觀上對於技術的運用能力,能夠從無到有的給出一個實現框架,然後剩餘的人在這個框架下面做具體的填充工作,按部就班的走上幾年,好的設計體現了擴展性,前人栽樹後人乘涼,便於後來開發者開發維護。

6、抽象和邏輯思維能力

把一個複雜的東西通過表象發掘出其本質特性,就是抽象能力體現,抽象的層次越達到本質,擴展性就越強;邏輯思維就是把事情條理化展示出來。

以上,大致就是工作幾年對於程序員這份職業帶給我的思考,這些能力在不同階段側重都不同,比如架構能力,需要有長期的積累才能勝任,但是可以從當前開始有意識鍛鍊自己的技術選型,自己的宏觀層面上的技術視野。

同樣做程序員,做的情況也不同,從代碼能力上分成3種,搬磚型、自主學習型、創造型

大多數人剛開始是停留在搬磚階段,做代碼的搬運工,區別只在於熟練程度與經驗,熟悉到一定程度了,成長也就逐漸停滯,除了工作內容外,本質上沒有什麼差別;能提升到自主學習型並持續精進的就少了,這個時候在熟練了代碼搬運工作後,開始去思考項目代碼的深度問題,並學習底層知識,增加個人技術厚度,開始能夠理解項目的運行原理,能開始做一點創造性的代碼工作;創造型,工作內容富有挑戰性創新能力要求高,腦力勞動也更高,但與之帶來的成就感更多,工作已不僅是工作,更多是精神層面上的追求。

三、程序員職業發展路徑

1、走技術路線

在技術這條道上走到黑,屬於匠人一類,跟其他傳統制造行業的匠人是差不多的,這種屬於知識型匠人,一輩子做一件事,到最後成爲了萬中無一的人。但是也有風險,如果不能保持時刻學習跟進的能力,那麼隨年齡增大,面對更多年輕人的競爭,被淘汰的可能也會變大。

2、走技術管理路線

有了一定技術積累後,轉管理,技術相對不那麼重要了,更多的學習管理一個項目一個團隊,甚至一個公司。主要職責從過去的做好自己,到讓他人變好,需要明白技術對於管理者的作用是啥,知人善用,確定未來技術方向很重要。越往後越靠軟技能吃飯,越來越多的思考行業和技術的發展趨勢,這種通用性的能力到哪裏都不怕。

3、複合式發展

有過一段技術的經歷,然後轉到其他行業發展,複合式發展路線。技術從業經歷讓你有一定對技術的認知,受其薰陶,一定會影響你的一些習慣,這是工作本身的特點對人的影響。然後做產品,做銷售,做運營等,這份經歷可以給你的新工作加分。複合式發展路線,對一個人綜合能力的鍛鍊挺多,這就需要你也要關注除技術以外的東西。

對於個人職業發展的思考,目前就想到這麼多,後面還需要多留意相關的信息,積極思考與準備。

(歡迎關注我的公衆號“海邊的奔跑”,與您分享籃球、技術與生活!)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章