在移動(dòng)互聯(lián)網(wǎng)“泛濫”的今天凶掰,越來越多非專業(yè)(這里的非專業(yè)指的是非計(jì)算機(jī)專業(yè)畢業(yè)的程序員)程序員加入到了IT行業(yè)中來了懦窘,可能是因?yàn)橐苿?dòng)互聯(lián)網(wǎng)的火爆導(dǎo)致程序員容易就業(yè)而且工資很高,可能實(shí)體行業(yè)不景氣畅涂,可能這確實(shí)是互聯(lián)網(wǎng)+的時(shí)代,越來越多的人加入到程序員的行列當(dāng)中來苹丸,使這個(gè)行業(yè)魚龍混雜∥現(xiàn)在這個(gè)程序員行業(yè)普遍的問題就是:人數(shù)多,底子薄商模,基礎(chǔ)差蜘澜,人均技術(shù)水平就是有問題,找百度瞪醋,順手Ctrl+C和Ctrl+V就把代碼來寫装诡。管它什么算法践盼,什么性能呢宾巍。如何從非專業(yè)走向?qū)I(yè)程序員呢?
1肄程、扎實(shí)基礎(chǔ)选浑,不斷學(xué)習(xí)
基礎(chǔ)的重要性其實(shí)不言而喻,基礎(chǔ)是你擴(kuò)展的資本褂始,不了解基礎(chǔ)描函,不扎實(shí)基礎(chǔ),你想進(jìn)一步學(xué)習(xí)胆数,了解高精尖是不可能呢互墓,那得多吃力啊,這個(gè)基礎(chǔ)對于不管是科班出身的還是非科班出身的程序員都很重要判莉,畢竟興趣才是自己最大的動(dòng)力育谬,跟科班不科班沒關(guān)系∶潭疲可能科班學(xué)的比較全面和系統(tǒng)咖刃,所以基礎(chǔ)上有可能略勝一籌,可是有興趣的人比科班可能更可怕嚎杨,說不定懂得更多。
我們生活在一個(gè)很有趣的時(shí)代刨肃,互聯(lián)網(wǎng)的存在幾乎使我們到了免費(fèi)學(xué)習(xí)的時(shí)代,技術(shù)分享遍布網(wǎng)絡(luò)斤富,想學(xué)習(xí)并非以前那么困難了锻狗。在百度上谷歌一下焕参,相關(guān)資料滿屏都是,隨著移動(dòng)互聯(lián)網(wǎng)的火爆刻帚,越來越多的人躋身這個(gè)行列當(dāng)中涩嚣,如果你不學(xué)習(xí),你就會(huì)落伍顷歌,停滯不前幔睬,直到有一天,這份工作不再需要你赦抖,或者外包給一些更廉價(jià)的勞動(dòng)力辅肾,甚至被淘汰,所以我們需要不斷的努力學(xué)習(xí)新技術(shù)浮禾,以保持有力的競爭力份汗。我們要擺正心態(tài),對自己最好的負(fù)責(zé)就是不斷學(xué)習(xí)匆帚。
學(xué)習(xí)的地方有很多旁钧,比如:
閱讀相關(guān)的雜志互拾,技術(shù)博客嚎幸,書籍和網(wǎng)站嫉晶,看那些技術(shù)大牛的分享,肯定會(huì)讓你受益不少替废。比如:非著名程序員公眾號里的內(nèi)容就不錯(cuò)嘛!哈哈……
深入了解源碼椎镣,閱讀源碼可以讓你真正的感受到那些大牛對待代碼的嚴(yán)謹(jǐn)與思維的縝密,看看人家是如何運(yùn)用架構(gòu)模式的状答。
參加一些技術(shù)分享的沙龍惊科,和高手面對面的交流學(xué)習(xí)。
想學(xué)習(xí)授翻,方法多得是孙咪,就看自己努不努力。
2淮菠、要有強(qiáng)烈的責(zé)任心
專業(yè)程序員的一個(gè)最重要的特點(diǎn)荤堪,也是核心,就是有責(zé)任心澄阳。專業(yè)程序員會(huì)為他們的職業(yè)生涯碎赢、預(yù)算、日程安排承諾、錯(cuò)誤姻锁、技能技巧負(fù)責(zé)猜欺。一個(gè)專業(yè)的程序員不會(huì)將責(zé)任推卸給別人开皿。實(shí)事求是地說,現(xiàn)在的程序員都對工作非常消極副瀑,沒有人督促就慢慢悠悠的做糠睡,代碼也是寫的亂糟糟的疚颊,沒有任何優(yōu)化,別人看你寫的代碼看的頭都大了均抽。一個(gè)好的程序員是對自己的代碼有追求的,不僅能完成功能其掂,還能寫的一手好代碼油挥,跟寫的一手好字似的。優(yōu)美的代碼才能讓人賞心悅目款熬,負(fù)責(zé)的態(tài)度才能提高自己的責(zé)任感深寥。有了責(zé)任感才能讓自己更好的成長。
3贤牛、關(guān)心和反復(fù)檢查代碼
一個(gè)好的程序員是對自己的代碼有追求的惋鹅,漂亮的代碼就是你的臉面,代碼優(yōu)化的好殉簸,你的臉就比較干凈闰集,像個(gè)白面書生,如果代碼雜亂無章武鲁,效率低下,感覺這個(gè)程序員的臉就像長滿了青春痘蝠检,不忍直視沐鼠。
關(guān)心自己的代碼,那是負(fù)責(zé)任的表現(xiàn)蝇率,如果一個(gè)程序員代碼寫完了迟杂,之后就不管了刽沾,那是不負(fù)責(zé)任的表現(xiàn),關(guān)心自己的代碼排拷,多讀讀侧漓,多看看,比較一下和別人的差別监氢,化繁為簡布蔗,逐步優(yōu)化,這樣不僅讓你的代碼嬌小可人浪腐,亭亭玉立纵揍,更重要的是還能提高自己的能力。把代碼當(dāng)做自己的女朋友议街,才是正確的做法泽谨。不要老是想著coder,coder特漩,因?yàn)閏oder那么多有毛用吧雹,代碼依舊難看,自己依舊還是沒有女朋友涂身。好程序員最起碼還是有自己的女朋友的雄卷,是吧,代碼蛤售。
反復(fù)檢查自己的代碼丁鹉,就猶如讀書百遍其義自見。不要老是在別人說你代碼有問題的時(shí)候悴能,你就信誓旦旦的說:不可能揣钦。就猶如測試對著程序員說,這里有bug一樣搜骡,第一反應(yīng)肯定是不可能拂盯,在我這里沒這個(gè)問題啊,最后還不是老么實(shí)的自己去改bug记靡。責(zé)怪自己的環(huán)境有問題谈竿,責(zé)怪編譯器有問題,就是不責(zé)怪自己寫的代碼爛摸吠,這絕對不是一個(gè)專業(yè)程序員應(yīng)該做的空凸。在你責(zé)怪別人之前,先檢查自己的代碼寸痢,這才是正解呀洲。
4、不懼怕別人的爛代碼
專業(yè)的程序員肯定遇到過很多人寫的爛代碼。非專業(yè)的程序員肯定會(huì)懼怕別的代碼道逗,感覺看完他寫的代碼兵罢,再去修改,會(huì)不會(huì)牽一發(fā)而動(dòng)全身呢滓窍?補(bǔ)一個(gè)bug卖词,冒出一個(gè)bug,還不如自己重新寫的快呢吏夯。相信有這樣想法的程序員肯定占大多數(shù)此蜈。
比如:系統(tǒng)很糟糕,并且改變這邊總是會(huì)破壞另一邊不相關(guān)的功能噪生。每次添加模塊裆赵,程序員只能想著盡可能少地改變代碼,每次發(fā)布都膽戰(zhàn)心驚跺嗽。這座軟件的摩天大樓隨時(shí)有坍塌的可能战授。之所以改動(dòng)代碼會(huì)如此傷腦筋是因?yàn)橄到y(tǒng)太糟糕了。但是即使你知道系統(tǒng)出了問題抛蚁,卻又因?yàn)橥妒蠹善鞒滦眩坏貌宦犞沃?strong>任何一個(gè)外科醫(yī)生都懂得惕橙,傷口要想愈合就必須得切除腐肉瞧甩。雖然手術(shù)會(huì)帶來痛苦,但絕對比任傷口發(fā)炎潰爛要好弥鹦。
不要害怕肚逸,沒有人會(huì)在乎當(dāng)你搗鼓代碼的時(shí)候有沒有暫時(shí)破壞了什么東西。只要你做的改變不會(huì)讓項(xiàng)目重新回到開始狀態(tài)彬坏,就不會(huì)令人崩潰朦促。投入時(shí)間重構(gòu),能讓你受益于項(xiàng)目整個(gè)生命周期栓始。這樣做還有一個(gè)額外的好處是务冕,由于你有過這種處理病危系統(tǒng)的經(jīng)驗(yàn),所以你對它應(yīng)該如何工作非常內(nèi)行幻赚。要善于應(yīng)用這些知識禀忆,千萬不要反感這些寶貴的財(cái)富。重新定義內(nèi)部接口落恼,重構(gòu)模塊箩退,重構(gòu)復(fù)制粘貼代碼,并通過減少依賴來簡化設(shè)計(jì)佳谦。
5戴涝、學(xué)習(xí)和總結(jié)的能力
程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)。許多程序員喜歡盲目追求一些編碼的小技巧啥刻,這樣的技術(shù)人員無論學(xué)了多少語言奸鸯,代碼寫起來多熟練,只能說他是一名熟練的代碼民工(碼農(nóng))可帽,他永遠(yuǎn)都不會(huì)有質(zhì)的提高府喳。一個(gè)善于學(xué)習(xí)的程序員會(huì)經(jīng)常總結(jié)自己的技術(shù)水平蘑拯,對自己的技術(shù)層面要有良好的定位钝满,這樣才能有目的地提高自己。這樣才能逐步提高申窘,從程序員升級為軟件設(shè)計(jì)師弯蚜、系統(tǒng)分析員。