1. 持續(xù)學(xué)習(xí)
我把這個(gè)列為第一個(gè)好習(xí)慣,是因?yàn)樗闹匾詿o(wú)可替代。不管你是名校畢業(yè)還是一般院校畢業(yè),不管你是名企就職還是沒(méi)有名氣的企業(yè)就職。學(xué)習(xí)都是必須要做的一件事,因?yàn)檐浖袠I(yè)變化非??欤绻粚W(xué)習(xí)即使你有好多年的編程經(jīng)驗(yàn),還是可能被行業(yè)所拋棄,就拿蘋(píng)果ios系統(tǒng)來(lái)說(shuō)吧,swift出來(lái)了已經(jīng)到3.0了,與2.0相比又有很多新的變化,同時(shí)OC也總是棄用一些類(lèi)和方法,F(xiàn)aceBook等開(kāi)發(fā)的第三方框架也在不斷變化,這些都需要進(jìn)行持續(xù)學(xué)習(xí)。
2. 設(shè)計(jì)要足夠靈活
通常我們?cè)O(shè)計(jì)一個(gè)框架,要考慮暴露外邊的接口是否完備和靈活,你設(shè)計(jì)的東西是否可以滿(mǎn)足很多不同場(chǎng)景的使用,你的接口參數(shù)配置是否靈活的可以滿(mǎn)足不同的配置和需求。靈活性就是我們?cè)O(shè)計(jì)軟件的時(shí)候必須考慮的因素。比如我們?cè)趇os設(shè)計(jì)中,需要設(shè)置空間的frame,我們?cè)O(shè)置成self.button.frame,就要比單純的給一個(gè)數(shù)字要好很多。
3. 瀏覽名人博客
任何行業(yè)都有很多技術(shù)達(dá)人,他們熱衷于專(zhuān)研技術(shù)寫(xiě)博客,這些人的博客就是我們學(xué)習(xí)的一個(gè)很好的途徑。比如我這個(gè)行業(yè)的有唐巧還有就是王巍都是國(guó)內(nèi)比較出名的ios技術(shù)方面的前輩和專(zhuān)家,外國(guó)也有很多很好的專(zhuān)家寫(xiě)技術(shù)博客,我記得我在唐巧的博客里他就推薦了國(guó)內(nèi)很多專(zhuān)家的技術(shù)博客以及國(guó)外大牛的技術(shù)論壇的地址,這些我們都可以常去看看和學(xué)學(xué)。
4. 盡量多參加開(kāi)源項(xiàng)目
github等平臺(tái)中有很多知名的開(kāi)源技術(shù)的框架,如果你可以的話盡量參與中去,里面都是這個(gè)行業(yè)的技術(shù)大牛,和他們一起完善這個(gè)框架,不僅有很大的自豪感而且多看看他們的構(gòu)建框架和思考問(wèn)題的角度,你都會(huì)收益頗深,我相信你會(huì)總感嘆:臥槽,這個(gè)還可以這么做?這樣子時(shí)間久了你也變成了他們其中的一位。
5. 學(xué)會(huì)使用工具
我這里所說(shuō)的工具是廣泛意義上的工具,包括很多,比如說(shuō)瀏覽器,工具書(shū),等等。程序員都知道谷歌瀏覽器要比百度好用的多,我也深有體會(huì),比如我查找問(wèn)題,在stackOverflow上就有人回答,我用谷歌就直接可以翻譯成中文,在百度上就不可以,這只是淺層次的,更深層次的是,谷歌瀏覽器支持很多好的插件,可以做一些數(shù)據(jù)庫(kù)查詢(xún)等等方面的功能。其他的工具還有很多,就不多舉例了,很多時(shí)候利用好這些工具都可以很快很好的解決問(wèn)題。
6. 有時(shí)間的話好好學(xué)學(xué)外語(yǔ)
中國(guó)學(xué)生經(jīng)歷了幾十年的學(xué)外語(yǔ)的經(jīng)歷,為什么?還不是因?yàn)橹袊?guó)落后,很多先進(jìn)的技術(shù)是美國(guó)等西方國(guó)家把持著,中國(guó)要想學(xué)習(xí)或者超過(guò)它們,第一要學(xué)的就是他們的語(yǔ)言。特別是我們軟件行業(yè),鮮有十分牛逼的軟件不是美國(guó)等國(guó)家的。而且計(jì)算機(jī)也是他們發(fā)明的,很多國(guó)際標(biāo)準(zhǔn)也是以外語(yǔ)為標(biāo)準(zhǔn)的,國(guó)際化也是最高的。但是現(xiàn)在社會(huì)還是充斥著英語(yǔ)無(wú)用論,真的很可悲,外國(guó)都在加大英語(yǔ)學(xué)習(xí)的比重,中國(guó)卻在降低。可能有人會(huì)說(shuō),我們做軟件編程就會(huì)那幾個(gè)關(guān)鍵字就可以了唄,不是還是一樣做的很好嘛?是的,說(shuō)的沒(méi)錯(cuò)英語(yǔ)不好也可以設(shè)計(jì)軟件,但是為什么不好好學(xué)英語(yǔ),多讀讀外國(guó)這方面的源碼和文章,讓您走的更遠(yuǎn)呢?我就拿我們ios來(lái)說(shuō),swift剛出來(lái)的時(shí)候,還沒(méi)有人把這個(gè)語(yǔ)言翻譯出來(lái),都是英文的,難道英文不好的就一直在這里等著別人翻譯?要知道你在等英文翻譯的時(shí)候有的人可能已經(jīng)把源碼和API文檔看了好幾遍了,并且已經(jīng)能夠使用這門(mén)語(yǔ)言寫(xiě)項(xiàng)目,修bug了??墒悄氵€能只能姑且等著,這不是落后那還能什么算是落后。
7. 養(yǎng)成寫(xiě)文檔的好習(xí)慣
文檔是一個(gè)軟件系統(tǒng)的生命力,一個(gè)公司的產(chǎn)品再好技術(shù)再高,都要把30%的時(shí)間用于文檔的梳理和書(shū)寫(xiě)上。這不是浪費(fèi)時(shí)間,這會(huì)有很好的技術(shù)繼承性。
8. 需求理解能力
程序員要能正確理解任務(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)有用心工作。
9. 模塊化的思想
優(yōu)秀的軟件工程師的思想不能被局限在當(dāng)前的工作任務(wù)里面,要想想看自己寫(xiě)的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過(guò)簡(jiǎn)單的封裝在其他系統(tǒng)中或其他模塊中直接使用。這就是我們平時(shí)所說(shuō)的封裝思想。這樣做可以使代碼能重復(fù)利用,減少重復(fù)的勞動(dòng),也能使系統(tǒng)結(jié)構(gòu)越趨合理。模塊化思維能力的提高是一個(gè)程序員的技術(shù)水平提高的一項(xiàng)重要指標(biāo)。
10. 多了解底層
雖然很多工作不是非常透徹的了解底層也能做的很好,但是如果你深入的了解底層那就是另外一番天地。知其所以然的工作會(huì)讓你信心爆滿(mǎn),做事順暢,也會(huì)讓你和其他普通的程序員區(qū)別開(kāi)來(lái)。從CPU的執(zhí)行方法,到操作系統(tǒng)的運(yùn)轉(zhuǎn),到程序的編譯鏈接,到代碼的加載與運(yùn)行,到程序的調(diào)試,最后到實(shí)現(xiàn)的功能這一整套的內(nèi)容,只有做到這樣,才能真正提高。作為ios程序員你就要了解每一個(gè)方法和類(lèi)的深入
11. 多幫助他人和團(tuán)隊(duì)一起分享成長(zhǎng)的樂(lè)趣
好的團(tuán)隊(duì)一定是一個(gè)共同成長(zhǎng)的團(tuán)隊(duì),同事之間相互幫助共同成長(zhǎng)。有很多公司就是同事之間都不怎么說(shuō)話,同事有問(wèn)題請(qǐng)教的時(shí)候就在一邊旁觀,我以前去過(guò)的一個(gè)公司,那代碼寫(xiě)了據(jù)說(shuō)好幾年都沒(méi)上線,我都不知道是誰(shuí)寫(xiě)的,后來(lái)?yè)Q了技術(shù)團(tuán)隊(duì),換成百度外賣(mài)的一批人,那一批人真是人不咋著,讓我對(duì)百度的印象真是一落千丈,特別那個(gè)叫JF似的,每天都很高傲,對(duì)別人很傲慢,后臺(tái),UI,技術(shù)總監(jiān)他都吵了個(gè)遍,啥幾把人啊。大家要是碰到這樣的團(tuán)隊(duì),還是敬而遠(yuǎn)之吧。這里所說(shuō)的分享不僅是和同事分享,大家也可以寫(xiě)技術(shù)博客分享,stackOverFlow 和 github都是不錯(cuò)的途徑。
-
軟件工程師
+關(guān)注
關(guān)注
8文章
243瀏覽量
21404
發(fā)布評(píng)論請(qǐng)先 登錄


硬件工程師看了只會(huì)找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師

(仰天長(zhǎng)嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師

如何成為一名嵌入式軟件工程師?



硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體
嵌入式軟件工程師就業(yè)好不好?
Testin云測(cè)獲智能化軟件工程工作組優(yōu)秀單位榮譽(yù)

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技
特斯拉招募軟件工程師強(qiáng)化無(wú)人駕駛與機(jī)器人遠(yuǎn)程操作

當(dāng)你的工程師朋友失聯(lián)時(shí),別氣,ta真的是在忙工作 #搞笑 #電子愛(ài)好者 #硬件工程師 #晶振 #揚(yáng)興科技

硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師

評(píng)論