自學(xué)者甚至可能具有優(yōu)勢
你是否擔(dān)心沒有計(jì)算機(jī)科學(xué)學(xué)位意味著你準(zhǔn)備不足?
或者,你認(rèn)為擁有學(xué)位對(duì)于成為一名開發(fā)人員非常重要?
CS 學(xué)位的強(qiáng)大神話需要消亡。以下才是真正重要的。
CS 程序教授什么
當(dāng)你獲得計(jì)算機(jī)科學(xué)學(xué)位時(shí),你學(xué)到了什么?
僅僅快速瀏覽美國頂尖計(jì)算機(jī)科學(xué)院的課程表就能給你一個(gè)概述:
計(jì)算機(jī)基礎(chǔ)知識(shí) - RAM、CPU、操作系統(tǒng)、硬盤、電路和邏輯門
網(wǎng)絡(luò) - 計(jì)算機(jī)如何相互通信、互聯(lián)網(wǎng)的基礎(chǔ)知識(shí)、網(wǎng)絡(luò)協(xié)調(diào)問題
編程 - 大多數(shù)學(xué)校教授一種或兩種通用腳本語言
數(shù)據(jù)結(jié)構(gòu) - 如何存儲(chǔ)數(shù)據(jù);哪種結(jié)構(gòu)最適合讀寫、快速查找、排序、搜索等
算法 - 計(jì)算復(fù)雜性的基礎(chǔ)知識(shí),常數(shù)/線性/指數(shù)問題,如何設(shè)計(jì)高效算法
數(shù)學(xué) - 微積分、向量微積分、矩陣?yán)碚?、概?統(tǒng)計(jì)學(xué)
當(dāng)你完成計(jì)算機(jī)科學(xué)學(xué)位時(shí),你會(huì)學(xué)到很多!而且這是非常艱苦的工作。學(xué)生掌握了一些非常困難的領(lǐng)域,比如微積分、工程學(xué)和算法思維。
那是否能準(zhǔn)備你去工作呢?
不幸的是,你在計(jì)算機(jī)科學(xué)學(xué)位中學(xué)到的東西并不總是能幫助你在工作中。
是否有一些工作需要微積分?當(dāng)然,但不多。
你真的需要了解電路板背后的電氣工程嗎?這很酷,但在 99% 的開發(fā)工作中并不是必要的。
你是否需要編寫一個(gè)證明給定問題的算法復(fù)雜性?除非你在研究環(huán)境中工作,否則不需要。
計(jì)算機(jī)科學(xué)教授了許多與編碼相鄰的技能。但這些技能并不一定能讓你成為一名優(yōu)秀的開發(fā)人員!
一個(gè)好的開發(fā)者所需要的技能
如果你想成為一個(gè)開發(fā)者,編程很重要。計(jì)算機(jī)科學(xué)專業(yè)確實(shí)教你如何編寫代碼。
但是,還有許多其他的技能,計(jì)算機(jī)科學(xué)專業(yè)要么沒有教授,要么主動(dòng)忽略了這些技能:
與非技術(shù)相關(guān)的利益相關(guān)者在團(tuán)隊(duì)環(huán)境中進(jìn)行良好的溝通
在沒有結(jié)構(gòu)或清晰資源的情況下解決新問題的答案
在工作中快速自學(xué)新的主題
不要過度優(yōu)化,只寫“好到足夠”的代碼
考慮部署策略和向后兼容性
響應(yīng)生產(chǎn)中的關(guān)鍵事件,優(yōu)先處理并進(jìn)行快速修復(fù)的分類
除了編寫算法,還有許多其他事情軟件開發(fā)人員可以做。
你不會(huì)很落后
如果你沒有計(jì)算機(jī)科學(xué)學(xué)位,不用擔(dān)心。你并沒有處于劣勢。
你可以了解更多關(guān)于計(jì)算機(jī)、算法、數(shù)學(xué)和網(wǎng)絡(luò)的知識(shí),當(dāng)然,你始終可以這樣做!
但是,這些技術(shù)主題只占我們工作的一小部分。
有時(shí),我發(fā)現(xiàn)計(jì)算機(jī)科學(xué)畢業(yè)生習(xí)慣于被灌輸新材料,他們很難快速學(xué)習(xí)新事物?;蛘?,他們習(xí)慣于有界結(jié)構(gòu)的問題,而現(xiàn)實(shí)世界呈現(xiàn)無限制、模糊的問題!
在這些方面,自學(xué)是一種優(yōu)勢。你習(xí)慣于學(xué)習(xí)新事物,獨(dú)立尋找答案,解決以前未曾遇到過的新問題。
作為一名自學(xué)或者參加過 bootcamp 的開發(fā)者,你可能有更多的部署代碼、編寫一個(gè)簡單功能的 MVP 或者修復(fù)真實(shí) bug 的經(jīng)驗(yàn)。
這些都是有價(jià)值的技能,而你并不總是在計(jì)算機(jī)科學(xué)專業(yè)中學(xué)到它們。
每日清單
我?guī)椭浖_發(fā)人員建立有意義的事業(yè)和目標(biāo)。
與其他人不同——他們建議追求高薪、在精英公司(FAANG)工作或者磨練面試準(zhǔn)備——我指導(dǎo)開發(fā)人員邁向充實(shí)、平衡的軟件事業(yè)。
我的目標(biāo)是幫助你參與創(chuàng)造讓世界變得更好的軟件。
如果你喜歡我的文章,點(diǎn)贊,關(guān)注,轉(zhuǎn)發(fā)!