寬泛的意義上講,程序員是這樣一群人:他們用某種語(yǔ)言或技術(shù),開(kāi)發(fā)某種軟件產(chǎn)品(系統(tǒng)),解決特定現(xiàn)實(shí)領(lǐng)域的問(wèn)題。
有了這個(gè)定義,我們就可以來(lái)討論程序員的幾種常見(jiàn)定位:
解決某類問(wèn)題的專業(yè)人士
軟件架構(gòu)與設(shè)計(jì)
技術(shù)專家
技術(shù)傳播與布道
解決問(wèn)題的人
我到底能夠解決什么問(wèn)題?給別人帶來(lái)什么樣的方便?
這是每個(gè)程序員首先要考慮的問(wèn)題。這決定了你要在什么樣的領(lǐng)域、什么樣的公司工作,決定了你做什么產(chǎn)品,也決定了你要選擇什么技術(shù)。
比如你想提升遠(yuǎn)程辦公的效率,那可能就會(huì)去做與協(xié)同辦公、溝通、項(xiàng)目管理等相關(guān)的產(chǎn)品,像Slack、TeamViewer、蜜蜂(全時(shí)的產(chǎn)品)、釘釘?shù)取?/p>
比如你想解決訪問(wèn)國(guó)外網(wǎng)站的問(wèn)題,那可能會(huì)去做VPN類產(chǎn)品;
王江民想解決安全問(wèn)題,結(jié)果單人獨(dú)騎白衣飄飄,帶著江民殺毒在中關(guān)村創(chuàng)造了一場(chǎng)神話。
當(dāng)年梁肇新想解決電腦播放VCD、DVD的問(wèn)題,于是就有了豪杰超級(jí)解霸的傳奇。
張小龍想解決郵件收發(fā)與管理的問(wèn)題,才有了Foxmail,有了Foxmail的成功,才有了后來(lái)進(jìn)入騰訊,才有了微信。
……
一旦你把自己定位成解決某一類問(wèn)題的人,聚焦到某一個(gè)領(lǐng)域的具體問(wèn)題,那么接下來(lái)的一切都順理成章,你會(huì)很容易就能了解到解決這類問(wèn)題需要什么知識(shí)、業(yè)務(wù)、技術(shù),然后你就可以充滿動(dòng)力地去學(xué)習(xí),去準(zhǔn)備。
當(dāng)然,你也可能因此脫離具體的技術(shù)去做管理工作,甚至去創(chuàng)業(yè),用你的技術(shù)來(lái)打造能夠解決特定問(wèn)題的產(chǎn)品或服務(wù)。
所以,這個(gè)定位其實(shí)是一種元定位,可以衍生出其它的方向。
軟件架構(gòu)與設(shè)計(jì)
相對(duì)于把自己定位成解決某類問(wèn)題的人,有的朋友可能更感興趣如何做出一個(gè)復(fù)雜的軟件系統(tǒng),對(duì)實(shí)現(xiàn)這個(gè)系統(tǒng)的過(guò)程更感興趣,也愿意不斷去設(shè)計(jì)、實(shí)現(xiàn)各種各樣復(fù)雜的系統(tǒng),反復(fù)地挑戰(zhàn)自己。
那他可能給自己的定位是架構(gòu)與設(shè)計(jì)。
這也是很多程序員的夢(mèng)想:做一個(gè)真正牛B的架構(gòu)師,體驗(yàn)運(yùn)籌帷幄與庖丁解牛帶來(lái)的超強(qiáng)成就感。
比如你定位到大型網(wǎng)站的架構(gòu)與設(shè)計(jì)。那你就可能去學(xué)習(xí)Java、http、數(shù)據(jù)庫(kù)、分布式、云計(jì)算、大數(shù)據(jù)、Docker等各種技術(shù),以及常見(jiàn)的網(wǎng)站架構(gòu)(參考李智慧《大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析》),然后到一個(gè)正在發(fā)展(或者已具規(guī)模)的電商類公司去跟著公司一起成長(zhǎng),鑄就自己的架構(gòu)之路。
技術(shù)專家
就像教育的目的是為了讓每個(gè)人都成為自己想成為的樣子,但實(shí)際上教育本身卻成了一種產(chǎn)業(yè),考試也成了一種產(chǎn)業(yè)。軟件開(kāi)發(fā)也是類似的:技術(shù)是用來(lái)創(chuàng)造軟件系統(tǒng)(產(chǎn)品)以便解決現(xiàn)實(shí)問(wèn)題的,但實(shí)際上圍繞技術(shù)本身也形成了新的產(chǎn)業(yè)。
比如技術(shù)培訓(xùn),比如各種技術(shù)認(rèn)證,比如技術(shù)圖書(shū)……
所以,也有很多程序員把自己定位在技術(shù)本身,寄望于成為某一個(gè)特定技術(shù)領(lǐng)域的專家,建立自己的頂端優(yōu)勢(shì),從而成就自己。
比如有的人專攻Hadoop,有的人專攻Docker,有的人就是把OpenGL用的很溜,有的人在視頻編碼上有很深的造詣,還有的人成了Go語(yǔ)言專家,還有的人調(diào)試技術(shù)特別牛(比如《軟件調(diào)試》和《格蠹匯編》的作者張銀奎,膜拜一下)……
當(dāng)你在某個(gè)技術(shù)領(lǐng)域有深入的研究,形成了優(yōu)勢(shì),你就可以把這種扎根于技術(shù)的優(yōu)勢(shì)復(fù)制到各種領(lǐng)域去解決各種問(wèn)題。這也是非常好的道路。
技術(shù)傳播與布道
我想來(lái)想去,自己的位置非常尷尬……
因?yàn)槲壹葲](méi)有把自己定位到解決什么問(wèn)題上,也沒(méi)有成為架構(gòu)師,更沒(méi)有在某個(gè)領(lǐng)域成為骨灰級(jí)專家……
所以我只好安慰自己說(shuō),Ok,我想做的是:如何更好地幫助初學(xué)者學(xué)會(huì)一種技術(shù),跨越從不了解到會(huì)應(yīng)用這種技術(shù)解決問(wèn)題的過(guò)程。
Ok,這就是技術(shù)傳播與布道的定位了。
所以,從這個(gè)定位出發(fā),我會(huì)寫(xiě)一些入門(mén)級(jí)的博客文章,講述某種語(yǔ)言、某個(gè)技術(shù)點(diǎn)如何用,什么包括環(huán)境配置等不那么有技術(shù)含量的文章,也會(huì)寫(xiě)一些技術(shù)圖書(shū)來(lái)幫助別人(比如《Qt Quick核心編程》和《Qt on Android核心編程》),然后我還錄了一些入門(mén)級(jí)的視頻課程……
當(dāng)然這個(gè)定位也可能催生一些產(chǎn)品,類似Codecademy、計(jì)蒜客、萌碼、慕課等。
我有一段曾經(jīng)迷惑過(guò):作為有多年開(kāi)發(fā)經(jīng)驗(yàn)的程序員,還在博客上撰寫(xiě)入門(mén)級(jí)的技術(shù)文章,合適嗎?當(dāng)我用這個(gè)定位合理化了自己的行為后,居然不困惑了。
程序員的迷茫與解脫
很多程序員都很迷茫,學(xué)了一兩門(mén)語(yǔ)言,做了三五年開(kāi)發(fā),不知道接下來(lái)該怎么辦。
這就是定位的問(wèn)題:找不到自己的定位,是迷茫的根源。
現(xiàn)實(shí)情況是很多人說(shuō)自己是Java開(kāi)發(fā),前端開(kāi)發(fā),C++開(kāi)發(fā),但你真的是把自己定位到語(yǔ)言與技術(shù)這個(gè)層面了嗎?還是說(shuō),你其實(shí)并不打算成為技術(shù)產(chǎn)業(yè)的一份子,只是除了“熟悉某種技術(shù)”,并不知道自己要走向哪里?
請(qǐng)思考一下,在信息的汪洋大海中遨游時(shí),你的方向在哪里?
……
當(dāng)你把自己定位成技術(shù)專家,那你就會(huì)努力在某個(gè)方向上建立自己的知識(shí)圖譜,形成頂端優(yōu)勢(shì)。這條路漫長(zhǎng)而艱難,可能三年五年,也可能八年十年。比如李飛飛聚焦在圖像識(shí)別這個(gè)方向,取得了令人矚目的成就,現(xiàn)在正在把圖像識(shí)別嫁接到各種領(lǐng)域去解決實(shí)際的問(wèn)題。
……
當(dāng)你把自己定位成解決問(wèn)題的人,那Java、C++、Spark、Docker、區(qū)塊鏈這類技術(shù)層面的東西,就不再會(huì)困擾你,需要什么,你可能就會(huì)去學(xué)習(xí)什么,你培養(yǎng)的,是自己解決問(wèn)題的思維和框架,是拿到任何的問(wèn)題,都能快速發(fā)現(xiàn)解決之道。
這種定位,還可能會(huì)引領(lǐng)你走出具體的技術(shù)工作,轉(zhuǎn)型去做管理,因?yàn)閹ьI(lǐng)一個(gè)團(tuán)隊(duì),可能會(huì)更有助于你去解決更大更復(fù)雜的問(wèn)題。
……
定位能夠產(chǎn)生目標(biāo),目標(biāo)會(huì)讓你聚焦在一個(gè)方向上,遠(yuǎn)離迷茫。所以,只要你根據(jù)自身的實(shí)際情況,找好定位,就擁有了擺脫迷茫的銀彈。
最后,送一張圖,供定位時(shí)參考:
-
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29825
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論