來(lái)源:程序員書(shū)庫(kù)(ID:CodingBook) 猿妹編譯
鏈接:https://ravindraelicherla.medium.com/5-skills-that-are-never-out-of-fashion-for-software-engineers-6a86597f5ba
作為一名軟件工程師,你身邊肯定充滿各種新技術(shù)、設(shè)計(jì)模式、架構(gòu)原則,新的UI 和 API 框架、新庫(kù)、實(shí)現(xiàn)軟件的新方法、存儲(chǔ)數(shù)據(jù)等,但是無(wú)論你周?chē)募夹g(shù)發(fā)生何種變化,有些技能永遠(yuǎn)不會(huì)過(guò)時(shí),深入了解這些技能將使你的軟件工程師的職業(yè)生涯更加光明:
1、算法和數(shù)據(jù)結(jié)構(gòu)
在基礎(chǔ)層面上,軟件程序從各種來(lái)源捕獲數(shù)據(jù),并以更可讀、更易于理解的格式呈現(xiàn)給人類(lèi)或機(jī)器。如果沒(méi)有數(shù)據(jù),也沒(méi)有需要處理的東西,也許就不需要軟件程序。根據(jù)你所學(xué)的語(yǔ)言,你會(huì)遇到數(shù)組、堆棧、隊(duì)列、鏈表、雙鏈表、哈希表、字典、圖、二叉樹(shù)、堆、列表、集合、元組等。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)是沒(méi)有捷徑的,算法是解決特定問(wèn)題的步驟。如果你想從A點(diǎn)到B點(diǎn),你有多種選擇。你可以走路、跑步、騎車(chē)、乘汽車(chē)、飛、坐輪船……為什么不爬呢?算法的問(wèn)題就是解決這類(lèi)問(wèn)題,同樣的問(wèn)題不止一個(gè)解決方案,軟件工程師最需要的就是找到一個(gè)最優(yōu)解,通過(guò)消耗最少的處理機(jī)制來(lái)執(zhí)行更快的任務(wù),因此,深入了解算法和數(shù)據(jù)結(jié)構(gòu)是必不可少的。
2、隨時(shí)做好面試準(zhǔn)備
跳槽是加薪最快的方式之一,隨時(shí)做好面試準(zhǔn)備是非常必要的,做好面試準(zhǔn)備涉及到很多方面,你的面試回答是否是正確的,面對(duì)一個(gè)問(wèn)題,你是否可以想出多種選擇和解決方案,最后實(shí)現(xiàn)推銷(xiāo)自己,以及你的穿著是否得體,這一些其實(shí)都可以在你的日常工作中得以體現(xiàn):
3、協(xié)作
當(dāng)遇到危險(xiǎn)的時(shí)候,動(dòng)物只有兩種選擇戰(zhàn)斗或逃跑,但是人類(lèi)還有第三個(gè)選擇,那就是合作,劍橋大學(xué)對(duì)合作的定義是兩個(gè)或更多的人一起工作來(lái)創(chuàng)造或?qū)崿F(xiàn)相同的事情,合作的目標(biāo)很明確——“安全到達(dá)目的地”。合作的最大殺手是自負(fù)。自信和自私是有區(qū)別的。想象一下,在路上,你前面的司機(jī)突然停下來(lái),因?yàn)樗?她該休息了,或者突然在沒(méi)有指示燈的情況下轉(zhuǎn)彎。然后后面的車(chē)輛會(huì)停止或遇到事故,造成整個(gè)交通故障的情況。在企業(yè)界,你經(jīng)常會(huì)遇到這種行為。缺乏合作是耗費(fèi)精力和金錢(qián)的最大原因。
合作其實(shí)很簡(jiǎn)單。如果你曾經(jīng)踢過(guò)足球,如果你不關(guān)心誰(shuí)得分或誰(shuí)得分,你會(huì)毫不猶豫地傳球。最后,團(tuán)隊(duì)贏了。根據(jù)經(jīng)驗(yàn)法則,如果你不關(guān)心誰(shuí)得到了榮譽(yù),而是專(zhuān)注于達(dá)到最終目標(biāo),你就是一名優(yōu)秀的合作者,只要目標(biāo)明確,寫(xiě)作自然會(huì)出現(xiàn),下次當(dāng)你遇到難題時(shí),不妨全面分析一下,是不是你們的團(tuán)隊(duì)合作出現(xiàn)了問(wèn)題。
4、表達(dá)能力
我覺(jué)得表達(dá)能力是最容易被忽視的,它是一種以觀眾能夠理解的方式展示數(shù)據(jù)、信息和概念的能力,這并不代表你會(huì)做一些PPT就可以。
馬克·吐溫曾經(jīng)說(shuō)過(guò):“如果你想讓我給你做兩個(gè)小時(shí)的演講,我今天就準(zhǔn)備好了。如果你只想要一個(gè)五分鐘的演講,那我需要兩周的時(shí)間來(lái)準(zhǔn)備。”以下是一些提高演講技巧的建議:
5、批判性思維
批判性思維是一種清晰而理性地思考應(yīng)該相信什么以及你需要做出什么決定的能力。有時(shí)候,我們的直覺(jué)會(huì)幫助我們做出決定,這樣我們就不會(huì)重復(fù)造輪子。這沒(méi)有什么不對(duì),直覺(jué)使決策過(guò)程變得容易,因?yàn)槲覀兊拇竽X編碼了數(shù)百萬(wàn)年的人類(lèi)生存經(jīng)驗(yàn)。對(duì)于一些瑣碎的決定,比如穿什么、在餐館吃什么或看什么電影,憑直覺(jué)是可以的。但是在一些重大決定里面,批判性思維是必要的,現(xiàn)在讓我們看看批判性思維如何幫助軟件工程師。這些都是值得我們每天思考的問(wèn)題:
聯(lián)系客服