不知什么時候碼農(nóng)成為了程序員的另一個代名詞缅糟,雖然略含貶義,被大多數(shù)程序員用來自嘲祷愉,但如果被別人稱為碼農(nóng)窗宦,我想大多數(shù)程序員心里必然不爽。然而對大多數(shù)處境不太好的程序員二鳄,碼農(nóng)卻是他們生活和工作狀態(tài)最真實的寫照赴涵,用來形容他們也是十分恰當(dāng)?shù)摹N蚁胫苑Q為碼農(nóng)應(yīng)該和農(nóng)民或是民工有一定的聯(lián)系泥从,兩者都是處于金字塔的最底層句占,一個是從事體力勞動,一個是從事腦力勞動躯嫉,工作存在重復(fù)性,缺乏創(chuàng)造力杨拐,對工作缺乏激情祈餐,被金字塔上一層的人壓榨著。
碼農(nóng)的養(yǎng)成主要有兩方面的因素:一是程序員的自我意識哄陶;另一個是公司的環(huán)境帆阳。
自我意識
容易成為碼農(nóng)的人一般都是比較聽話的,缺乏主見和獨立思考的能力屋吨,不思進取蜒谤。這些人一般都是逆來順受,對公司或領(lǐng)導(dǎo)安排的工作都是無條件去執(zhí)行的至扰,即便不合理也不會提出異議鳍徽,不敢站出來反抗的。他們從來不會想著如何提高工作效率敢课,如何提升自己的技術(shù)阶祭,甘愿在公司混著日子绷杜,做一個代碼的搬運工,任勞任怨濒募”廾耍可能對他們來講這只是一個工作而已,并非真的喜歡計算機這個行業(yè)瑰剃。他們之所以選擇這個工作齿诉,可能是因為聽別人說這個行業(yè)工資高。這樣的人用碼農(nóng)稱呼他們最合適不過了晌姚。其實這樣的人無論在哪個行業(yè)都是在最底層鹃两,都會被叫做X農(nóng)。
公司環(huán)境
相對而言我覺得公司環(huán)境更為重要舀凛。
一般程序員所在的公司可以簡單分為兩類:技術(shù)驅(qū)動型和營銷驅(qū)動型的俊扳。技術(shù)驅(qū)動型的公司都是非常重視技術(shù)和技術(shù)人員的,他們愿意花高薪聘請行業(yè)里面的牛人猛遍,牛人做事的效率和質(zhì)量自然要比一般人高出一大截馋记,公司做出來的產(chǎn)品自然也是一流的,公司的效益也會因此受益懊烤。并且牛人多了會形成一定的效應(yīng)梯醒,會吸引其他牛人,吸引潛力優(yōu)質(zhì)的新人腌紧,如果管理和培養(yǎng)新人的方式?jīng)]有問題茸习,新人會逐漸成長起來,形成一個良性的循環(huán)壁肋。這些公司一般是互聯(lián)網(wǎng)公司号胚,無論是一線互聯(lián)網(wǎng)公司還是初創(chuàng)的公司都是對技術(shù)非常重視的,和公司差兒不差兒錢沒有多大關(guān)系浸遗。
而大部分營銷驅(qū)動型的公司則缺少對技術(shù)的足夠的尊重猫胁,大部分碼農(nóng)存在于這些公司。這些公司的盈利方式大部分靠市場關(guān)系拿項目賺錢跛锌,這種方式下產(chǎn)品做得好或不好顯得不是特別重要弃秆,只要關(guān)系足夠硬,只要市場人員拿的到項目就能賺錢髓帽,公司就能盈利菠赚。這種情況下,公司要想盈利更多郑藏,無非是營銷上拿更多項目或是嚴格控制成本衡查。控制成本可能就是縮短研發(fā)時間译秦,削減用人成本峡捡。一旦縮短研發(fā)時間時击碗,項目的計劃安排就不再是根據(jù)工作量和研發(fā)人員的能力制定的戒良,而是根據(jù)這個項目成本要控制在什么范圍內(nèi)或是營銷人員拍著胸脯給客戶承諾的時間節(jié)點婚瓜。所以當(dāng)項目經(jīng)理告訴你這個項目要一個月要做完時,可能的原因就是一旦這個項目用了兩個月時間公司可能就賺不到什么錢了倘潜,或者就是營銷人員在客戶面前牛逼吹破了砚婆,所以就苦了這些程序員要加班加點的趕進度械拍,為這些人吹的牛逼買單。
在這種性質(zhì)的項目研發(fā)中装盯,工作計劃安排不合理坷虑,時間過于緊張。并且一般情況公司都有類似項目的代碼埂奈,你不再是代碼的創(chuàng)造者而是代碼的搬運工迄损,大部分是copy其他項目的代碼過來,做一些修改滿足現(xiàn)在的需求账磺,“能用就行”是他們經(jīng)常說的一句話芹敌。緊張的時間沒有給你進行設(shè)計和思考的余地,為了追趕進度你只能用最快的實現(xiàn)方式而不是最優(yōu)的實現(xiàn)方式垮抗。長此以往會扼殺程序員的創(chuàng)新能力和思考能力氏捞,變成機器一樣的代碼工。最終在經(jīng)歷無數(shù)個日日夜夜的奮戰(zhàn)項目按時實現(xiàn)完成了冒版,大家皆大歡喜液茎。你可以給項目經(jīng)理一個交代,項目經(jīng)理可以給公司一個交代辞嗡,營銷人員可以給客戶一個交代捆等。而你可能還在惦記著項目某個功能實現(xiàn)的方式不是特別好,當(dāng)時由于時間關(guān)系沒有采用最好的方式欲间,然后考慮要不做一次優(yōu)化楚里,但是對于公司而言做項目重構(gòu)或是代碼優(yōu)化不會直接產(chǎn)生任何價值,所以公司是不會給你時間做這些的猎贴。而這時候可能項目經(jīng)理會告訴你有另一個項目,非常著急蝴光,要一個月完成.....她渴。這樣雖然你做了很多項目,但其實只有一個項目的經(jīng)驗蔑祟,并且還是1.0的經(jīng)驗趁耗。雖然你工作了很多年,實際的工作經(jīng)驗只有一年疆虚。這樣的程序員就可以稱他為碼農(nóng)了苛败。
在這種公司里面满葛,程序員就好像流水線上的工人一樣,只要成本低能干活就行罢屈。公司只要留住幾個核心員工嘀韧,能夠帶領(lǐng)研發(fā)即可。鐵打營盤缠捌,流水的兵锄贷,你走了很快會有其他成本更低的人頂替你,只要公司的項目能按時交付即可曼月。如果你初入這個行業(yè)谊却,代碼量不夠可以考慮去這些公司積累一下代碼量,因為他們要求相對低一些哑芹。但如果你對技術(shù)有一定的追求炎辨,是一個不愿意的將近的人,這樣的公司就不適合長待聪姿,除非你甘愿做一個碼農(nóng)碴萧。
牛逼的人可能用碼農(nóng)自嘲,但大部分人更多是心里的無奈咳燕,有時候我們可能改變不了環(huán)境勿决,但我們可以換個環(huán)境。如果你不愿意將就下去招盲,是時候做出改變了低缩,不要對自己的工作不滿,卻還不愿意去努力改善曹货。多利用自己的業(yè)余時間提高自己的技術(shù)咆繁,早日脫離碼農(nóng)這個階層。