能堅(jiān)持別人不能堅(jiān)持的,才能擁有你想擁有的崭倘。
關(guān)注編程大道
公眾號(hào)祥楣,讓我們一同堅(jiān)持心中所想,一起成長(zhǎng)E嗬惹悄!
哈嘍,大家好肩钠,我是walking泣港。今天咱們不聊技術(shù)暂殖,聊聊作為程序員應(yīng)該具備的素養(yǎng)。
程序員当纱,一個(gè)多么讓人“敬仰”的職業(yè)呛每。而程序員作為新一代的回歸自然的“猿人”,也是屬于新一代的第三類人種坡氯,程序員這個(gè)職業(yè)在外界眼中就是“人傻錢(qián)多死得早”的代名詞晨横,因?yàn)椤案咝健钡恼T惑,不少其他行業(yè)的兄弟箫柳,轉(zhuǎn)行做了程序員手形,而且近幾年各種大大小小的培訓(xùn)機(jī)構(gòu)如雨后春筍般遍地開(kāi)花,越來(lái)越多的其他行業(yè)的從業(yè)者都在往程序員這一行業(yè)轉(zhuǎn)滞时,相信作為程序員的你身邊多多少少都會(huì)有幾個(gè)同事是從其他行業(yè)轉(zhuǎn)行過(guò)來(lái)的叁幢。
而在21世紀(jì)這個(gè)信息化、網(wǎng)絡(luò)化快速發(fā)展的今天坪稽,獲取信息和知識(shí)的途徑越來(lái)越廣泛曼玩,在這個(gè)快速發(fā)展、節(jié)奏緊張的社會(huì)窒百,作為一個(gè)程序員應(yīng)該具有哪些素養(yǎng)才能夠幫助程序員進(jìn)一步的提升與進(jìn)步呢黍判?下面walking作為一個(gè)程序員在此做一個(gè)個(gè)人分享。
扎實(shí)的專業(yè)技能
這是作為程序員最基本的職業(yè)素養(yǎng)篙梢,如果專業(yè)技能掌握的不夠牢固顷帖,那就是技術(shù)不到家,作為程序員應(yīng)該感到慚愧渤滞。最基本的贬墩,比如我們Java開(kāi)發(fā)者吧,最起碼把這個(gè)Java的常用的API要熟練吧妄呕,這是毋庸置疑的陶舞。不然你怎么寫(xiě)代碼,怎么開(kāi)發(fā)呀绪励。不要覺(jué)得我說(shuō)的在這一點(diǎn)是廢話肿孵,這不,walking最近就看到一個(gè)同事寫(xiě)出了這樣的代碼
@GetMapping("/getUserCount")
public Map<String,Object> getUserCount(){
Map<String,Object> result = new HashMap<>();
String key = "users_set";
Jedis jedis = jedisPool.getResource();
Set<String> smembers = jedis.smembers(key);
Iterator<String> iterator = smembers.iterator();
int count = 0;;
while (iterator.hasNext()){
iterator.next();
count++;
}
result.put("count",count);
return result;
}
這段代碼僅僅是為了得到使用redis的set結(jié)構(gòu)保存的用戶ID的count數(shù)疏魏,這位同事怎么寫(xiě)的呢停做,從redis里拿到所有用戶ID的set集合,然后用java的方式--迭代器遍歷集合大莫,再count++計(jì)算set中元素個(gè)數(shù)蛉腌。看到這,你有什么想法呢眉抬?明明很簡(jiǎn)單的一行代碼贯吓,卻搞的這么麻煩,到底是為什么蜀变?不還是技術(shù)不到家嗎悄谐?redis的api不會(huì)也就算了,java的set集合的api再不懂就說(shuō)不過(guò)去了吧库北?所以扎實(shí)的專業(yè)技能是程序員的基本素養(yǎng)爬舰,否則寫(xiě)出這樣的代碼只會(huì)讓人貽笑大方。
保持良好的編碼習(xí)慣
不但要專業(yè)知識(shí)扎實(shí)寒瓦,代碼規(guī)范程度也很重要情屹。知名互聯(lián)網(wǎng)公司的代碼的變量命名、注釋格式杂腰,甚至嵌套中行縮進(jìn)的長(zhǎng)度和函數(shù)間的空行數(shù)字都有明確規(guī)定垃你,良好的編寫(xiě)習(xí)慣,不但有助于代碼的移植和糾錯(cuò)喂很,也有助于不同技術(shù)人員之間的協(xié)作惜颇。一些所謂的高手甚至叫囂高手寫(xiě)的代碼一般人看不懂,我只能說(shuō)他不是一名合格的程序員少辣。正所謂“規(guī)范大于約定”凌摄,良好的編碼習(xí)慣將會(huì)讓你受益終身。阿里的一套Java開(kāi)發(fā)手冊(cè)讓無(wú)數(shù)公司追捧漓帅,聞名國(guó)內(nèi)外锨亏。詳看:下載 | 阿里Java開(kāi)發(fā)手冊(cè)嵩山版。
團(tuán)隊(duì)精神和協(xié)作能力
團(tuán)隊(duì)精神和協(xié)作能力是作為一個(gè)程序員應(yīng)具備的最基本的素質(zhì)忙干。軟件工程已經(jīng)提了將近三十年了器予,當(dāng)今的軟件開(kāi)發(fā)已經(jīng)不是編程了,而是工程捐迫。獨(dú)行俠可以寫(xiě)一些程序也能賺錢(qián)發(fā)財(cái)乾翔,但是進(jìn)入研發(fā)團(tuán)隊(duì),從事商業(yè)化和產(chǎn)品化的開(kāi)發(fā)任務(wù)弓乙,就必須具備這種素質(zhì)末融【澹可以毫不夸張的說(shuō)這種素質(zhì)是一個(gè)程序員乃至一個(gè)團(tuán)隊(duì)的安身立命之本暇韧。
文檔習(xí)慣
文檔是一個(gè)軟件系統(tǒng)的生命力。一個(gè)公司的產(chǎn)品再好浓瞪、技術(shù)含量再高懈玻,如果缺乏文檔,知識(shí)就沒(méi)有繼承乾颁,公司還是一個(gè)來(lái)料加工的軟件作坊涂乌。作為代碼程序員艺栈,必須將30%的工作時(shí)間寫(xiě)用于技術(shù)文檔。沒(méi)有文檔的程序員勢(shì)必會(huì)被淘汰湾盒。
需求理解能力
程序員要能正確理解任務(wù)單中描述的需求湿右。在這里要明確一點(diǎn),程序員不僅僅要注意到軟件的功能需求罚勾,還應(yīng)注意軟件的性能需求毅人,要能正確評(píng)估自己的模塊對(duì)整個(gè)項(xiàng)目中的影響及潛在的威脅,如果有著兩到三年項(xiàng)目經(jīng)驗(yàn)的熟練程序員對(duì)這一點(diǎn)沒(méi)有體會(huì)的話尖殃,只能說(shuō)明他或許是認(rèn)真工作過(guò)丈莺,但是沒(méi)有用心工作。
模塊化思維能力
作為一個(gè)優(yōu)秀的程序員送丰,他的思想不能在局限當(dāng)前的工作任務(wù)里面缔俄,要想想看自己寫(xiě)的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過(guò)簡(jiǎn)單的封裝在其他系統(tǒng)中或其他模塊中直接使用器躏。這樣做可以使代碼能重復(fù)利用俐载,減少重復(fù)的勞動(dòng),也能使系統(tǒng)結(jié)構(gòu)越趨合理邀桑。模塊化思維能力的提高是一個(gè)程序員的技術(shù)水平提高的一項(xiàng)重要指標(biāo)瞎疼。
測(cè)試習(xí)慣
測(cè)試是軟件工程質(zhì)量保證的重要環(huán)節(jié),但是測(cè)試不僅僅是測(cè)試工程師的工作壁畸,而是每個(gè)程序員的一種基本職責(zé)贼急。程序員要認(rèn)識(shí)測(cè)試不僅是正常的程序調(diào)試,而要是要進(jìn)行有目的有針對(duì)性的異常調(diào)用測(cè)試捏萍,這一點(diǎn)要結(jié)合需求理解能力太抓。
學(xué)習(xí)和總結(jié)的能力
程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)令杈。許多程序員喜歡盲目追求一些編碼的小技巧走敌,這樣的技術(shù)人員無(wú)論學(xué)了多少語(yǔ)言,代碼寫(xiě)起來(lái)多熟練逗噩,我們只能說(shuō)他是一名熟練的代碼民工掉丽,他永遠(yuǎn)都不會(huì)有質(zhì)的提高。一個(gè)善于學(xué)習(xí)的程序員會(huì)經(jīng)骋煅悖總結(jié)自己的技術(shù)水平捶障,對(duì)自己的技術(shù)層面要有良好的定位,這樣才能有目的地提高自己纲刀。這樣才能逐步提高项炼,從程序員升級(jí)為軟件設(shè)計(jì)師、系統(tǒng)分析員、項(xiàng)目經(jīng)理锭部。
作為高級(jí)程序員暂论,乃至于設(shè)計(jì)師而言,除了應(yīng)該具備上述全部素質(zhì)之外拌禾,還需要具備以下素質(zhì):
1取胎、 需求分析能力
2、 整體框架能力
3湃窍、 流程處理能力
4扼菠、 模塊分解能力
5、 整體項(xiàng)目評(píng)估能力
6坝咐、 團(tuán)隊(duì)組織管理能力
保持程序思維
作為一個(gè)程序員而言循榆,程序員的思維可謂是超人類的思維,因?yàn)槲覀兠鎸?duì)產(chǎn)品提出的需求時(shí)要用一個(gè)程序的大腦去思考墨坚,去想如何控制電腦做出我們想要完成的事情秧饮,如何用最簡(jiǎn)單、最優(yōu)的方式去實(shí)現(xiàn)這個(gè)功能泽篮。那何為程序思維呢盗尸?那就是“源于程序,終于程序”帽撑,但是不脫離程序泼各,要做程序中的散文詩(shī)人。程序員的思維只有從不斷的練習(xí)中去感悟亏拉,去思考扣蜻,去總結(jié),去完成及塘。比如產(chǎn)品經(jīng)理突然有一個(gè)想法想做一個(gè)論壇莽使,問(wèn)你們誰(shuí)能做,你怎么應(yīng)對(duì)笙僚?下面的視頻帶有一定的娛樂(lè)性質(zhì)芳肌,但是希望大家能夠多聯(lián)系,多總結(jié)肋层,去挖掘自己程序的潛力亿笤,有一天可以做到:根據(jù)problem反射出answer或者根據(jù)answer反射出problem的時(shí)候就是程序員思維出來(lái)的時(shí)候《安【視頻在公眾號(hào)】
不斷的學(xué)習(xí)的精神
程序員要保持不斷的學(xué)習(xí)與進(jìn)步净薛,因?yàn)槌绦騿T界的新的技術(shù)層出不窮,在新的技術(shù)中去注意自己應(yīng)該掌握的知識(shí)點(diǎn)掂铐,學(xué)習(xí)并且利用就是最好的競(jìng)爭(zhēng)力罕拂,如果作為程序員知識(shí)儲(chǔ)備不深,或者固步自封永遠(yuǎn)停留在自己的世界里而沾沾自喜全陨,不去主動(dòng)接觸爆班、學(xué)習(xí)并掌握新知識(shí),那么你遲早會(huì)被淘汰辱姨∈疗校可以從哪里得到更多的新的技術(shù)呢:1)github 2)各大論壇 3)博客網(wǎng)站 4)培訓(xùn)機(jī)構(gòu) 5)程序員你懂的墻外的東西
有人會(huì)說(shuō):平時(shí)上班那么忙,哪有時(shí)間學(xué)習(xí)坝晏巍枢舶?偉大的文學(xué)家魯迅曾經(jīng)說(shuō)過(guò):時(shí)間就像海綿里的水,擠擠總是有的替久。你把刷視頻凉泄、玩游戲、發(fā)呆的時(shí)間拿來(lái)學(xué)習(xí)不香嗎蚯根?沒(méi)時(shí)間是你懶惰的借口后众!
保持頭腦靈活
作為程序員要不斷去參加一些益智類的項(xiàng)目,來(lái)保持自己的大腦的活性颅拦。久坐和長(zhǎng)時(shí)間面對(duì)電腦給自己的精神壓力和身體壓力是非常大的蒂誉,保持一個(gè)大腦的活性有助于我們的學(xué)習(xí),研究距帅,更有利于我們心腦血管的健康右锨,這樣對(duì)我們的生活會(huì)有更進(jìn)一步的提升空間。比如碌秸,玩一玩益智類的小游戲绍移,適當(dāng)?shù)耐嬉煌骈_(kāi)拓自己的大腦;再比如去找找算法題做做都是可以的讥电。walking身邊就有一些大齡程序員登夫,在與其對(duì)接的過(guò)程中,發(fā)現(xiàn)一個(gè)小問(wèn)題他就要想半天允趟,甚至是告訴他之后還不是很明白恼策,很明顯腦子反應(yīng)慢了,不靈活了潮剪。老話說(shuō)的好涣楷,腦子越用越靈,不用就生銹了抗碰。
充足的睡眠和持之以恒的鍛煉
對(duì)于程序員來(lái)說(shuō)狮斗,加班是常事,但是良好的生活作息可以讓我們得到更好的工作效率弧蝇,充足的睡眠是保證我們工作效率的第一開(kāi)端碳褒。哪怕我們工作再忙折砸,切記一定要保證充足的睡眠。持之以恒的鍛煉源于運(yùn)動(dòng)沙峻,運(yùn)動(dòng)是生命之本睦授。有很多人工作后,1-2年內(nèi)就發(fā)胖摔寨,大肚子渾身贅肉去枷,作為程序員更容易這樣,長(zhǎng)期的伏案工作是复,吃完就坐在電腦前删顶,缺乏運(yùn)動(dòng),加上不注意飲食淑廊,暴飲暴食逗余,長(zhǎng)此以往身體就會(huì)越來(lái)越差,糖尿病季惩,高血壓猎荠,脂肪肝…這樣的疾病就會(huì)找上門(mén)。我們要每天給自己一定的時(shí)間去鍛煉蜀备,去流汗关摇,去釋放,這樣我們才可以在家庭生活中成為一個(gè)強(qiáng)者碾阁。美國(guó)程序員是世界的領(lǐng)先水平输虱,凡是在美國(guó)的白領(lǐng),仔細(xì)看看都是身體健康脂凶,體能充分的人宪睹。
保持良好的心態(tài)
程序員更要保持良好的心態(tài),不然你寫(xiě)代碼寫(xiě)文檔就和容易出錯(cuò)蚕钦,不要帶情緒上班亭病,保持一個(gè)平和的心態(tài),佛系應(yīng)對(duì)工作嘶居。如果有一個(gè)良好的心態(tài)罪帖,可以更加好的去解決bug,bug對(duì)于程序員來(lái)說(shuō)是最耽誤時(shí)間邮屁,最影響心情的一件事情整袁,即使是有了bug也不要太著急,告訴自己急也沒(méi)有用佑吝,當(dāng)下之際是找出bug快速解決它坐昙。。walking身邊的同事就發(fā)生過(guò)這樣一件事芋忿,兩個(gè)前后端的同事合作做一個(gè)功能的開(kāi)發(fā)炸客,測(cè)試階段bug不斷疾棵,到上線前還在解決,結(jié)果兩個(gè)人就互相埋怨痹仙,起初還是隨口說(shuō)說(shuō)是尔,最后甚至大大出手互相辱罵,傷了和氣蝶溶,后來(lái)均被勸退。所以無(wú)論我們面對(duì)工作宣渗,還是生活都要有一個(gè)良好的心態(tài)抖所,只有良好的心態(tài)我們才可以走的更遠(yuǎn)。
時(shí)常規(guī)劃自己的人生
程序員的職業(yè)生涯比起其他的職業(yè)是要更加的短暫的痕囱,新生的程序員是層出不窮的田轧,他們思維活躍精力充沛,能吃苦能加班鞍恢,相對(duì)于30多歲以后的你如果還不考慮轉(zhuǎn)型的話傻粘,是和他們拼不過(guò)的,所以我們要時(shí)常有一種危機(jī)意識(shí)帮掉,做好自己的職業(yè)規(guī)劃弦悉。
作為程序員的我們,可以強(qiáng)化自己的專業(yè)技能做技術(shù)經(jīng)理蟆炊,技術(shù)專家稽莉,技術(shù)顧問(wèn),架構(gòu)師等涩搓,也可以轉(zhuǎn)型去做管理污秆,或者也可以創(chuàng)業(yè)等等,腦袋里面一定要時(shí)常規(guī)劃自己的人生路線昧甘,否則很難走到最后良拼。
一定明白自己想要什么,是一輩子做底層的程序員敲代碼嗎充边?那不會(huì)被淘汰嗎庸推?如果想升職做技術(shù)大牛,那就應(yīng)該把自己的技術(shù)功底打扎實(shí)浇冰,從剛工作甚至是大學(xué)時(shí)代就規(guī)劃好自己將來(lái)要做到什么樣的技術(shù)程度予弧,不斷的積累經(jīng)驗(yàn)掌握技術(shù)原理,解決問(wèn)題湖饱,而不是等到30歲以后工作有可能有危機(jī)的時(shí)候才去著急掖蛤,為時(shí)已晚。規(guī)劃越早越好井厌,并不斷的去實(shí)踐達(dá)到一個(gè)個(gè)目標(biāo)蚓庭。
好了致讥,今天就分享到這。如果感覺(jué)本文對(duì)您有幫助器赞,有勞點(diǎn)下在看垢袱,分享給更多的人。歡迎關(guān)注本公眾號(hào)港柜,謝謝您的支持请契!
本文僅做個(gè)人分享,如有疑問(wèn)或不妥之處夏醉,請(qǐng)歡迎指正爽锥、交流。
你可能感興趣的文章:
《[需求設(shè)計(jì)]從一個(gè)小需求感受Redis的獨(dú)特魅力》
《【面試突擊】— Redis篇》--Redis數(shù)據(jù)類型畔柔?適用于哪些場(chǎng)景氯夷?
《【面試突擊】— Redis篇》--Redis的線程模型了解嗎?為啥單線程效率還這么高靶擦?
《【面試突擊】— Redis篇》-- Redis的主從復(fù)制腮考?哨兵機(jī)制?
《【面試突擊】— Redis篇》-- Redis哨兵原理及持久化機(jī)制
《【面試突擊】— Redis篇》--Redis Cluster及緩存使用和架構(gòu)設(shè)計(jì)的常見(jiàn)問(wèn)題
《Redis緩存穿透踩蔚,緩存擊穿,緩存雪崩枚粘,熱點(diǎn)Key》
《高并發(fā)場(chǎng)景下緩存+數(shù)據(jù)庫(kù)雙寫(xiě)不一致問(wèn)題分析與解決方案設(shè)計(jì)》
《什么寂纪?我往Redis里寫(xiě)的數(shù)據(jù)怎么沒(méi)了?》
關(guān)注公眾號(hào) 編程大道 赌结,第一時(shí)間獲文章推送捞蛋。
覺(jué)得好看,請(qǐng) 點(diǎn)贊柬姚、關(guān)注拟杉、轉(zhuǎn)發(fā) 哦~
參考:
https://jingyan.baidu.com/article/6181c3e0f0c589152ef153bb.html
https://zhidao.baidu.com/question/565951751422039924.html