日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程师必学的9件事

發(fā)布時(shí)間:2023/12/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程师必学的9件事 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文是html5tricks原創(chuàng)翻譯,轉(zhuǎn)載請(qǐng)看清文末的轉(zhuǎn)載要求,謝謝合作!

三年前,我還在巴塞羅那的神經(jīng)科學(xué)實(shí)驗(yàn)室工作,忙著研究腦電波、教授心理學(xué)上的認(rèn)知系統(tǒng)課程。而今天,我以設(shè)計(jì)和寫軟件為生。

你或許會(huì)滿頭黑線:隔行如隔山,這轉(zhuǎn)變也忒快了吧。其實(shí)不然,早在以前我就已經(jīng)寫過很多軟件了——比如想理解掃描出來的有40GB那么多的大腦數(shù)據(jù),我得捋起袖子、埋頭苦干,寫個(gè)能緊縮這些數(shù)據(jù)的腳本。所以我一直以來就是一個(gè)能干的程序員。但是直到我最終下定決心辭去了這份在學(xué)術(shù)上能有所建樹的工作,轉(zhuǎn)去一家朝氣蓬勃的創(chuàng)業(yè)公司打工,我才明白了什么是軟件工程師——而更重要的一點(diǎn)是,知道了軟件工程師是干什么的。軟件工程師并不意味著你得學(xué)會(huì)更多的編程語言、類庫、算法和設(shè)計(jì)模式。它是一種心態(tài)。

如果我能早點(diǎn)懂得這些,我的工作肯定要輕松的多。不過亡羊補(bǔ)牢,猶未晚矣。

下面是我寫給自己的注意事項(xiàng),是我在這三年里學(xué)到的經(jīng)驗(yàn)教訓(xùn),有的甚至是慘痛的。

1.智力不是萬能的

如果你還年輕,聰明機(jī)智能讓你的道路走得更加順暢。聰明能讓你鶴立雞群。如果你有強(qiáng)大的表達(dá)能力就更妙了。老實(shí)說,聰明和好口才能讓我們?cè)诟咧泻痛髮W(xué)里所向披靡,輕輕松松就能拿到個(gè)好成績。——如果你兩項(xiàng)都具備,那么首先要恭喜你,你是一個(gè)幸運(yùn)兒。但是同時(shí)你也很不幸。因?yàn)楫?dāng)你毫不費(fèi)力地考上一個(gè)好學(xué)校,隨便看看就能通過考試,其他智力不如你的人卻因此學(xué)到了將來會(huì)受益無窮的品質(zhì):勤奮、耐心、協(xié)作等等。

當(dāng)今社會(huì)太過于看重智力。當(dāng)我告訴別人我曾經(jīng)在神經(jīng)科學(xué)方面工作過,大家第一個(gè)反應(yīng)往往是:“哇,你肯定超聰明的!”我不得不說,我認(rèn)識(shí)很多人或許智力方面不及我,但是卻的的確確是更為優(yōu)秀的神經(jīng)科學(xué)家。

智力毫無疑問能為你打開前行的大門,但是如果光有聰明,工作是永遠(yuǎn)不可能做好的。勤奮、嚴(yán)謹(jǐn)、可靠的網(wǎng)絡(luò),最后還有守信等等,不光是在軟件工程領(lǐng)域甚至在其他專業(yè)都是必須的基本品質(zhì)。而這些是學(xué)校不會(huì)教給你的。

2.為你自己鼓掌

這句話可能大家看到過很多次了,但是這的確有著其不可忽視的重要意義。無論結(jié)果如何,只要努力了,那么就應(yīng)該為自己自豪,為自己鼓掌。不是所有努力都會(huì)有成果。我們誰都喜歡在報(bào)刊雜志上出現(xiàn)自己的名字,但是中間過程卻異常艱辛。首先得想出一個(gè)好的課題,否決一些假設(shè),然后才能一步一步進(jìn)行研究——這個(gè)課題可以大至人類也可以小至在試管里漂浮——根據(jù)需要而定,然后嚴(yán)格分析數(shù)據(jù)和驗(yàn)證統(tǒng)計(jì)資料,如果發(fā)現(xiàn)有錯(cuò)誤就毫不猶豫重新開始。看著過程就頭皮發(fā)麻!

寫軟件意味著要規(guī)劃特點(diǎn)、研究現(xiàn)有的開源代碼、學(xué)習(xí)新的模式和編程語言、修復(fù)bug、重構(gòu)及維護(hù)等等。如果在這些過程中你絲毫沒有感覺到樂趣,只是把這些步驟當(dāng)做是得以發(fā)表論文、發(fā)布產(chǎn)品的工具,那么你永遠(yuǎn)也不可能在這個(gè)領(lǐng)域真正有所建樹。如果你在提升自己技能方面沒啥目標(biāo),那么我建議你還是盡快轉(zhuǎn)行,哪怕是去做科學(xué)家、工程師還是別的什么,都比現(xiàn)在這樣浪費(fèi)時(shí)間要好。

為自己鼓掌、以自己為榮意味著,你在做的項(xiàng)目是自己喜歡的,可能這些項(xiàng)目看上去又小又蠢,為了不影響整個(gè)項(xiàng)目的順利完工,可能根本沒有必要投入精力馬上去做,但是你就是孜孜不倦、刻苦攻關(guān)。只因?yàn)閮蓚€(gè)字:喜歡。有意思的是,這似乎在軟件社區(qū)是個(gè)相當(dāng)普遍的現(xiàn)象——我們每天在用的很多產(chǎn)品開始僅僅是因?yàn)殚_發(fā)者個(gè)人的愛好而已——但是卻在科學(xué)界極為少見。下面是Konrad Lorenz(奧地利動(dòng)物學(xué)家、動(dòng)物心理學(xué)家、鳥類學(xué)家、諾貝爾獎(jiǎng)優(yōu)勝者)寫的我最喜歡的一段話之一,和大家分享:

“對(duì)研究型科學(xué)家而言,

在早飯前

回顧丟棄寵物的假設(shè)

就是最棒的晨練了。”

如果你感覺這聽起來很愚蠢,那么也許你并不應(yīng)該成為研究型科學(xué)家。

3.學(xué)習(xí)新工具

學(xué)習(xí)新工具不只能夠擴(kuò)大抽象的知識(shí)領(lǐng)域,并且在有的時(shí)候借助這些工具還能幫助我們解決問題。付出總有回報(bào),一切很快就會(huì)見分曉。

學(xué)習(xí)新工具的一個(gè)好辦法就是類似上面提到的要自己喜歡,畢竟興趣才是最好的老師。當(dāng)你構(gòu)建好新模型或者別的什么之后,可以試著用另一種工具再構(gòu)建一次。要記得,失敗是成功之母,人都是在逆境中成長,在失敗里學(xué)習(xí)的。不過如果你認(rèn)為沒必要繼續(xù)了,學(xué)到的已經(jīng)足夠了,或者不可能成功,或者對(duì)此你已毫無興趣,又或者你發(fā)現(xiàn)這個(gè)挑戰(zhàn)超出了你的能力范圍,那么就此放棄也可以。

以下是我強(qiáng)烈建議學(xué)習(xí)的一些好工具:

  • Git和Github。有了Git,媽媽再也不用擔(dān)心我的備份了。而Github上有超多的事例代碼,這樣你就不必老是自己重新寫過了。
  • 插圖軟件。我個(gè)人比較喜歡Inkscape,不過Adobe Illustrator和新出來的Sketch?也一樣棒。
  • 學(xué)習(xí)如何有效使用文本和代碼編輯器。
  • 學(xué)會(huì)如何講話。
  • 涉獵Python, R, HTML?和?Javascript等等的基礎(chǔ)知識(shí)。

對(duì)一個(gè)問題的解決方案往往會(huì)受到我們所用工具的限制。學(xué)習(xí)新工具也是為了能跳出這個(gè)框,從其他的角度看問題。

如果你還在上大學(xué),那么我強(qiáng)烈建議你每周定一天時(shí)間用于學(xué)習(xí)新工具。如果你已經(jīng)是在搞研究的博士,那么可以每周兩天。從長遠(yuǎn)來看,這會(huì)節(jié)約你解決問題的時(shí)間,別人會(huì)因?yàn)槟愕母咝识痼@贊嘆。如果你覺得你沒有那么多空余的時(shí)間,也不需要給自己壓力,可以向年長的同事請(qǐng)教,如何去正確分配時(shí)間。

4.成為利益相關(guān)者

眾所周知,主管以及CEO總是把公司的利益放在首位,這是他們的工作職責(zé)。

但我們談到公司的最大利益,我們往往指的是利益相關(guān)者的最大利益。而現(xiàn)在的問題是:哪些是主管和CEO眼中的利益相關(guān)者,這些利益相關(guān)者的利益又占多少比重?

如果你的老板認(rèn)為他/她自己是唯一的利益相關(guān)者,那么趕緊走吧。不然的話,要是找到合適的家伙,你就會(huì)被拋棄。還有哪些會(huì)是利益相關(guān)者呢?投資者或者慷慨的捐獻(xiàn)者,員工,學(xué)生,還是全人類,都有可能,關(guān)鍵是要盡快找出來。并且如果你不在利益相關(guān)者當(dāng)中,那么離開。

5.發(fā)布

“發(fā)布”這詞已經(jīng)成為了科技領(lǐng)域的新寵。它的意思是把我們的產(chǎn)品從倉庫中取出來展示給消費(fèi)者。這不僅僅是一個(gè)動(dòng)作,更是一種心態(tài)。如果不能把產(chǎn)品成功交付給客戶,那么意味著我們以前的工作毫無價(jià)值,是無用功。關(guān)于這一點(diǎn),是我們要時(shí)刻謹(jǐn)記的。

以前在學(xué)術(shù)界的時(shí)候,我寫的大多數(shù)軟件必須一一對(duì)應(yīng)系統(tǒng)。而現(xiàn)在要為五十萬用戶寫軟件,這真的大不相同。

這也意味著,如果不能發(fā)布一個(gè)完美的產(chǎn)品,我們就得一直迭代。所以如果想盡快得到一個(gè)完美的產(chǎn)品,那么發(fā)布吧!有壓力才有動(dòng)力,集思廣益,查漏補(bǔ)缺。

6.了解80/20法則

80/20法則的基本意思是,花上20%的時(shí)間能實(shí)現(xiàn)項(xiàng)目80%的預(yù)期效果,然后剩下20%的項(xiàng)目成果則需要80%的時(shí)間才能拿下。舉個(gè)例子,假如你從郊區(qū)開車前往市區(qū):在20%的時(shí)間里走了80%的路程,但是當(dāng)你碰上交通堵塞,呵呵,剩下20%的路程就會(huì)用去你很多很多時(shí)間。

那么了解這個(gè)法則有什么意義?因?yàn)槿绻麤]有這個(gè)法則指導(dǎo),很多人往往會(huì)低估完成一個(gè)項(xiàng)目所需要的時(shí)間。科學(xué)家和工程師更是容易犯這種錯(cuò)誤。不光是這個(gè)法則,還有部分是經(jīng)驗(yàn)問題:懂得越多,就越能更好的預(yù)測(cè)開工之后會(huì)遇到的各種問題,而這一點(diǎn)是很多人想不到的。

如果你還沒有這方面的經(jīng)驗(yàn),那么可以將你認(rèn)為所需要的時(shí)間乘以五,希望經(jīng)過五分之一的時(shí)間之后,你會(huì)明白對(duì)80/20法則有所了解。

7.不要出賣自己的靈魂

我攻讀我的博士學(xué)位完全是個(gè)錯(cuò)誤。其中一個(gè)錯(cuò)誤我把它叫做“學(xué)術(shù)犯罪”。因?yàn)槟莻€(gè)時(shí)候我覺得如果我不去讀博士完全是浪費(fèi)了我的天賦。不過我覺得我有所虧欠于那些支持我學(xué)術(shù)生涯的人——教授和支付我獎(jiǎng)學(xué)金的人——因?yàn)槲易詈蟛]有去搞研究。他們投資了我的未來但是很可能會(huì)失望,因?yàn)樗麄兊耐顿Y并沒有成果——我并沒有成為一名偉大的科學(xué)家。不過這是他們的問題,不是我的。

這同樣也適用于任何其他工作。人們給你投資,是他們利益最大化的選擇。這并不意味著你由此需要出賣自己的靈魂。

8.離開自己的安樂窩

以下是我對(duì)世界的看法:

在一個(gè)你熟悉的地方,舒適又安全,你可能學(xué)進(jìn)去很少。然而當(dāng)處于恐慌的心態(tài)中,你可能啥都學(xué)不會(huì)。

每個(gè)人都有自己的“狗窩”,在這里,你放浪形骸無拘無束,角落里藏著什么都清清楚楚。不過如果你想學(xué)到新事物并且能夠迅速成長起來,那么首先你得離開這個(gè)“安樂”的地方,自己在學(xué)海里迎風(fēng)破浪“苦作舟”。

當(dāng)然,如果你感覺不堪重負(fù),那么其實(shí)矯枉過正,已經(jīng)處于恐慌的境地了。可憐的你,風(fēng)浪太大掉海里了!現(xiàn)在唯一能做的就是盡量保證自己能活著等別人來搭救。

而正如上圖所示,在到達(dá)恐慌的境地之前的最高點(diǎn),我們能學(xué)得更多,成長得更快,變得更優(yōu)秀。找到你的學(xué)習(xí)最高點(diǎn)。

9.馴服思維之猴

舒適地坐下來,閉上眼睛,平穩(wěn)的吸氣呼氣。感覺一下當(dāng)當(dāng)空氣流出你的鼻子流過上嘴唇皮膚帶來的美好。什么都別想,好好感受。

大腦放空多久了?有五分鐘了?可能不會(huì)。一分鐘?太棒了。20秒或者更少?好吧,這才是正常值。你的思緒就像一只猴子,它在樹上跳來跳去,看到哪個(gè)枝干最近就抓著哪個(gè)跳過去。你可能還不理解,我再重新用專有名詞表述一下:現(xiàn)在比較流行的說法是聯(lián)想性思維。如果你想發(fā)明創(chuàng)造,那么聯(lián)想性思維絕對(duì)是不可或缺的好工具,但是它卻是專注的殺手。幸運(yùn)的是,專心致志是可以學(xué)習(xí)的。現(xiàn)在有非常非常多號(hào)稱“能提高生產(chǎn)力的高科技”,但是都還停留在表面因素。誰都不希望在寫軟件的時(shí)候,思緒飄啊飄得在想意大利面怎么做才更好吃。我們需要馴服這只頑皮的猴子,一勞永逸。

不過適合我的方法可能并不適合你。我通過定期使用上述沉思的方法(這方法還有其他有益之處)從而獲得了很大的成效。不過即便是如此,我也不敢保證每個(gè)人都適合。我所要推薦的是,要保持你的頭腦處于最佳狀態(tài),這很重要。還覺得冥想是在浪費(fèi)時(shí)間?我們每周都會(huì)去健身房鍛煉身體,不過在心理鍛煉上你得花上至少兩倍于此的時(shí)間:減去幾磅雜念。鍛煉自己的思緒以便保證在工作時(shí)自己的頭腦可以專注更長時(shí)間。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的软件工程师必学的9件事的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。