{eval=Array;=+count(Array);}
謝謝小悟空邀請,作為一名奮斗在一線的程序員,身邊也接觸了不少剛從校園走出來的新人,下面對如何提升自己,成為一名合格的程序員提出自己的觀點,歡迎大家留言討論。
在工作中實戰(zhàn)才是提升自己編程能力最快的方式,讓你在完成工作的基礎(chǔ)上提升個人能力,何樂而不為呢?對項目代碼的熟悉程度,一定程度上決定著你的年終獎金哦!
看到過很多新入職同事的編碼規(guī)范,簡直慘不忍睹,試想看到類似下圖這樣的代碼,或者亂七八糟命名的代碼,比如各種a,b,c變量命名,各種魔數(shù),看到這樣的代碼你還有心勁去開發(fā)嗎?這里推薦大家可以看看谷歌來源的編碼規(guī)范文檔,或者ucloud的編程規(guī)約,都是很不錯的,當然,如果部門內(nèi)部有一套良好的編程規(guī)范,建議編碼前先仔細閱讀。
每天下班最重要的事情就是做好代碼備份,試想你絞盡腦汁debug好幾天的代碼,最終卻因為突然斷電,沒有及時上傳SVN服務(wù)器,代碼全部銷毀,你去怎么跟領(lǐng)導(dǎo)解釋?難道因為你新入職領(lǐng)導(dǎo)就會再拿出幾天時間讓你重寫?職場如戰(zhàn)場,沒有人會因為你的錯誤而主動給你背鍋,所以,代碼的備份很重要,代碼的備份很重要,代碼的備份很重要!
個人認為,這在開發(fā)項目過程中占據(jù)不可或缺的一部分,雖然前期可能你會覺得它多余,浪費時間,不過它可以將我們的項目出錯概率最小化,甚至幫助我們發(fā)現(xiàn)一些測試童鞋也無法發(fā)現(xiàn)的問題。
雖然放在了最后,不過我覺得這是最重要的一項了。有的人可能會說,程序員整天對著代碼,沒必要注重溝通能力。可是,你可以想象,當你和同事討論一個方案,半天沒人理解你想表達的意思……當你和測試童鞋爭論一個bug的時候,你半天無法表達自己內(nèi)心的真實想法,這將是一件多么悲哀的事情。
謝謝邀請!
作為一名從業(yè)多年的IT人,同時也是一名計算機專業(yè)的教育工作者,我來回答一下這個問題。
首先,對于剛剛進入IT行業(yè)的初級程序員來說,要想提升自身的編程能力并迅速融入開發(fā)團隊,需要從三個方面做出努力,其一是圍繞崗位要求來組織自身的知識結(jié)構(gòu);其二是掌握開發(fā)團隊的開發(fā)流程和技術(shù)選型;其三是多與團隊中的老程序員交流,交流的過程也是學(xué)習(xí)的過程。
程序開發(fā)崗位的具體任務(wù)與開發(fā)場景有直接的關(guān)系,所以初級程序員一定要圍繞具體的開發(fā)場景來組織自身的知識結(jié)構(gòu)。開發(fā)場景通常與行業(yè)有緊密的聯(lián)系,比如同樣是做Web開發(fā),不同行業(yè)對于Web開發(fā)的要求就有比較大的區(qū)別,大型互聯(lián)網(wǎng)平臺往往比較注重效率、穩(wěn)定性、安全性等內(nèi)容,而專注于行業(yè)領(lǐng)域的Web應(yīng)用更注重業(yè)務(wù)流程管理等內(nèi)容。
不同的開發(fā)場景往往也會采用不同的開發(fā)方式,具體體現(xiàn)在開發(fā)流程和技術(shù)選型上的區(qū)別,對于初級程序員來說,應(yīng)該圍繞開發(fā)團隊的技術(shù)選型來制定自己的學(xué)習(xí)計劃。按照歷史經(jīng)驗來看,重點在兩個方面,其一是編程語言,其二是編程平臺。編程語言并不算難點,大部分編程語言的學(xué)習(xí)都會比較容易,難點在于對于編程平臺的理解,由于編程平臺的內(nèi)容通常比較多,所以需要一個過程才能慢慢熟悉。
在產(chǎn)業(yè)互聯(lián)網(wǎng)時代,編程平臺對于程序員的工作會起到非常重要的作用,隨著云計算平臺、大數(shù)據(jù)平臺、物聯(lián)網(wǎng)平臺和人工智能平臺的逐漸成熟,大量的行業(yè)創(chuàng)新將基于這些平臺展開,所以掌握這些開發(fā)平臺對于程序員來說還是比較重要的。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計算機專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區(qū)留言,或者私信我!
一個8年IT行業(yè)從業(yè)者的個人觀點,僅供參考。
初入職場,尤其是程序員這個行業(yè),大多數(shù)人都是由工作內(nèi)容來決定個人的技術(shù)方向,即工作需要什么,我就學(xué)什么,缺少主動思考的能力。那么首先我想強調(diào)的一點就是擇業(yè)的時候一定要選好平臺,選擇之前多做調(diào)研,確定好技術(shù)方向,然后去選擇對應(yīng)的公司,這樣就保證了第一個很重要的點,你有了合適的工作平臺,在此之上,再繼續(xù)考慮提升個人編程技能。
有了好的平臺,選擇了合適的編程方向后,不要死學(xué)理論,結(jié)合工作中的實際需求,把需求做抽象,應(yīng)用編程中的各種思想,嘗試找到解決方案。要理解語言只是工具,只有具有編程思想才能利用好這些工具
可以選擇一些優(yōu)秀的類庫,下載源碼進行閱讀,目前軟件正朝著開源的方向發(fā)展,多去社區(qū)逛一下,找一些好的項目,參與到其中,先學(xué)會閱讀,從中發(fā)現(xiàn)原來這類的需求可以這樣去實現(xiàn),慢慢的見多了自己也就把語言的精髓掌握了,開源社區(qū)中有很多大佬,多看大佬們的代碼邏輯,學(xué)習(xí)最牛逼的人是怎么做的,慢慢的自己也會成為大佬
解決問題的過程中,注意始終保持著知其然而更要知其所以然的心態(tài),因為大部分人都停留在了知其然的階段,如果你想有所發(fā)展,那么要有更多的探索精神
往往遇到問題,需要去各種社區(qū)尋找答案,而各類issues都是英文描述,那么此時英文達標的話那么溝通起來就不存在障礙,會顯著提升問題排查能力
綜合來講,提升編程能力最重要的是多去參與核心技術(shù)需求,真正參與到用編程的思想去解決實際問題的過程,多去社區(qū)學(xué)習(xí)大佬們的思想,逐步形成自己的問題解決思路。
以上。供參考
我是做Java的從Java角度談一下,一般編程也都是相通的,所以也都差不多。
剛開始可能對于編程有些吃力,可以買一些基礎(chǔ)的數(shù)據(jù)例如:《Java編程思想》《SQL必知必會》(前期這個可以不做重點)、《Java核心卷》。
然后從網(wǎng)上找一些基礎(chǔ)的視頻看一下,另外就是自己要多敲代碼實踐,多思考、和公司或者一些前輩交流。
另外提一點,剛開始寫代碼就一定要養(yǎng)成良好的習(xí)慣,對后面的成長很有幫助。
Java基礎(chǔ)打牢之后,就需要進一步學(xué)習(xí)框架方面的東西了。
途經(jīng)一在網(wǎng)上找一些視頻,可以加大倍速去學(xué)習(xí),另外也是要多敲代碼多實踐。
其實視頻學(xué)習(xí)比較慢,你就可以通過書籍學(xué)習(xí),例如:《精通
Spring4.x企業(yè)應(yīng)用開發(fā)實戰(zhàn)
》這本書是將如何應(yīng)用Spring框架的,沒有到源碼層面。還有Spring boot、SpringMVC這些有關(guān)的書籍。
現(xiàn)在Java基礎(chǔ)和框架都能應(yīng)用了,我們需要進一步學(xué)習(xí)他們的原理,這個時候就需要學(xué)習(xí),JVM、多線程、Spring源碼的了,這個時候一般不建議看視頻了,因為大家學(xué)習(xí)能力都比較強了,主要通過書籍看源碼進行學(xué)習(xí)。
Spring源碼的書籍有《Spring源碼深度解析》,里面講解的東西還是很棒的。
現(xiàn)在源碼框架啥的都會了,其實還需要再學(xué)習(xí)一下中間件的一些知識例如:MQ,具體學(xué)習(xí)哪些到這個時候都會有自己的明確目標了,就不多書了。
最后說一下,學(xué)習(xí)是需要終身學(xué)習(xí),而且要有自己的學(xué)習(xí)習(xí)慣計劃。
例如:每天上下班地鐵你就可以看一些博客文章公眾號等等,晚上拿出一個小時看書寫代碼,因為工作中好多都是重復(fù)的。
另外自己也可以寫一個自己的項目,終身學(xué)習(xí)成長。
再推薦一下我學(xué)習(xí)的一些APP、網(wǎng)站之類的,不是打廣告哈。
極客時間、CSDN、掘金、知乎、公眾號(具體哪些可以自己找很多)等等。坐地鐵的零散時間我會花在這上面。
1.首先需要做的就是提升主動性,做好自己的本職工作。程序員需要做的就是熟悉項目代碼,這是程序員的本職工作,在工作中提升自己的編程能力,增強競爭力,是非常好的選擇。
2.學(xué)習(xí)英文。我們都知道,程序員在工作中,遇到問題時,通常會到網(wǎng)上的各種社區(qū)找答案,而這些解決方法,通常都是英文描述的,如果英文好,對一名程序員來說,是非常棒的技能點。
3.閱讀之前項目的源代碼、培養(yǎng)自己的編程思維,都是提升自己非常好的方法。
希望以上回答對你有所幫助!
入行10年+,經(jīng)驗來看,從技術(shù)的角度的話,面主要看個人平時多關(guān)照熱點技術(shù),有基礎(chǔ)的人一般花不了幾天就能接觸。但一個技術(shù)能否深入了解,個人感覺主要是項目遇到的問題,這個很看項目本身規(guī)模。剛?cè)腴T的程序員的話,看視頻教程是最直觀的。
0
回答8
回答10
回答0
回答10
回答0
回答0
回答7
回答3
回答0
回答