上班第一天业扒,leader告訴我:“跟HR好好談检吆,工資往高了談〕檀ⅲ”
那一天咧栗,我寫代碼的手還是抖的逆甜,心里想,“我拿什么談啊致板,老大交煞。”
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——還不是想賺錢的碼農(nóng)
從社區(qū)中來斟或,到社區(qū)中去素征。
學(xué)習(xí)編程138天,從開始什么都不懂萝挤,到現(xiàn)在勉強算一個Junior Programmer御毅,我從互聯(lián)網(wǎng)上獲取了很多知識,所以現(xiàn)在想把這一路的學(xué)習(xí)和想法回饋給社區(qū)怜珍,讓后來的人能多一份借鑒端蛆。
這第一篇文章,我不是寫給那些對編程有了解的同學(xué)酥泛,而是給什么都不懂的人今豆,懂的人自然會找方法學(xué)習(xí),不懂的人才需要方向柔袁。所以呆躲,我們來看一下,從一無所知捶索,到勉強上路插掂,究竟需要什么?
很幸運的在一個SCRUM團隊工作腥例,我先說一下我的工作流程:從PO(project owner)手上拿到用戶故事(user story)—— dev(工程師)團隊將用戶故事拆解成代碼任務(wù) —— dev團隊完成代碼任務(wù) —— 迭代辅甥、增量與維護 —— PO給出更多的用戶故事。
舉個例子:
????????(用戶故事)PO要能夠自動篩選問卷星的調(diào)查問卷燎竖,給通過的人發(fā)面試通知肆氓,給不通過的人發(fā)拒信;
????????(拆解任務(wù))第一步:通過API拿到問卷星的調(diào)查問卷底瓣,第二步:讀取作答的信息并寫出滿足PO的篩選邏輯,第三步:給篩選之后的人發(fā)送相應(yīng)的郵件蕉陋;
????????(完成任務(wù))拿到任務(wù)捐凭,寫出代碼;
????????(迭代)不能給填寫過的人發(fā)送郵件凳鬓,發(fā)送的面試內(nèi)容要因人而異茁肠,PO要知道每周共有多少人完成調(diào)查問卷,通過的有多少人缩举,等等垦梆;
????????(更多的故事)PO要有一套管理招聘進來的人的系統(tǒng)...
所以匹颤,想要成為dev的你,迫切需要掌握的兩個能力是”能夠?qū)⒂脩艄适罗D(zhuǎn)變成代碼任務(wù)”和“能夠完成代碼任務(wù)并迭代”托猩。
那么印蓖,只要你能體驗完我的故事(我用了75天),應(yīng)該可以擁有這兩個能力京腥,并去任何一個公司面試初級后端工程師赦肃。好,有了目標公浪,該怎么做呢他宛?
我推薦學(xué)習(xí)的技術(shù)棧是linux(macOS)+ Python,她們有一些共同的特征: 夠優(yōu)雅欠气,夠簡潔厅各,可讀性高,非常注重人的可編譯性预柒。市場也有需求队塘,來查看更多信息。
在大綱開始之前卫旱,我還想多說一句人灼,會做很多編程的題目并不代表你的工作能力很強,作為非科班出身的我們顾翼,一定要注意計算機基礎(chǔ)的培養(yǎng)投放,這樣才能很好的成為團隊中的生產(chǎn)力。再往深一步适贸,職業(yè)道路往前走灸芳,底層原理和網(wǎng)絡(luò)協(xié)議等,缺一不可拜姿。所以烙样,希望同學(xué)們不要以為幾個月的入門就有了飯碗,選擇了計算機其實選擇了無盡的迭代與學(xué)習(xí)蕊肥,共勉谒获!
OK,我們來一起看一下壁却,什么能幫助我們暴力批狱、快速入門編程?
# 計算機系統(tǒng)展东。對于我們而言赔硫,既然想開始編程,第一步就是進入命令行模式盐肃,別依賴圖形化界面爪膊!Linux系統(tǒng)指令就一種模式 <command> [options] [file | path | or something]权悟,這是一個很大的learning curve,一定要啃下來推盛!咱要求也不高峦阁,會前五個實驗就行
# 編輯器。編輯器的目的是想讓你理解語言語法小槐,千萬不要用IDE拇派,PYCHARM之類的,越成熟的編輯器對新手的我們傷害越大凿跳,因為你需要暴露錯誤件豌,才能學(xué)會語言。想象一下控嗜,你是個不會說話的嬰兒茧彤,跟媽媽交流時,你根本不用表達清楚自己疆栏,事情就被做完了曾掂,你怎么可能快速學(xué)會這個語言呢?個人認為編程是個不輕松的事情壁顶,讓你每天面對的電腦屏幕好看一點(顏色多一點)真的很有必要珠洗,不然黑白太單調(diào)了,身為碼農(nóng)若专,讓自己美一點许蓖!推薦安裝Atom,超好看调衰,如果你喜歡HARD模式膊爪,推薦使用VIM。Atom直達鏈接
(這兩個部分嚎莉,是開始編程最大的難點米酬,自己的環(huán)境要自己搭,這樣才有親切感趋箩。)
# 語言教材赃额。我選用了《learn python the hard way》,網(wǎng)絡(luò)上很多視頻和資料叫确,但是我這個好跳芳,我用過我知道!如果你覺得這篇文章寫得還可以启妹,就相信我,讀完書包學(xué)會醉旦!另外饶米,python2到2020年就不維護了桨啃,現(xiàn)在開始學(xué)python3絕對是唯一選擇!30刀絕對不吃虧
# 語言訓(xùn)練檬输。我選用了Hacker Rank照瘾,很單純的做題,跟讀高中的時候差不多丧慈,一邊看書學(xué)新知識析命,然后就打開hackerrank把題目給做了,同樣有電梯哦逃默。HackerRank有弊端鹃愤,就是會對構(gòu)建一個完整的項目不熟悉,這就是所謂的工程能力和設(shè)計能力完域,我推薦反復(fù)看《敏捷軟件開發(fā):原則软吐、模式與實踐》“第六章:一次編程實踐”,以及配合我后面提到的項目吟税。個人提醒:我希望你先學(xué)會了語言再去寫項目凹耙,不然每一行代碼都看不懂,特別受挫肠仪;你所有優(yōu)秀的言辭肖抱,都是建立在足夠的詞匯量之上的。
(這兩個部分异旧,需要很長時間意述,很容易枯燥無味,希望同學(xué)們能找到自己的編程樂趣泽艘,而我欲险,特別喜歡解開一道HackerRank題的感覺。)
# 數(shù)據(jù)庫入門匹涮。我的要求真的不高天试,你要學(xué)會數(shù)據(jù)庫的增、刪然低、查喜每、改。關(guān)于數(shù)據(jù)雳攘,你需要具體的業(yè)務(wù)带兜,也需要具體的場景,看視頻和文檔吨灭。對于入門的我們刚照,增、刪喧兄、查无畔、改就很足夠了啊楚,不難!
# 前端入門浑彰。這本書《Flask?Web開發(fā):基于Python的Web應(yīng)用開發(fā)實戰(zhàn)》非常非常好恭理,你可以架設(shè)你自己的網(wǎng)站,你可以做出自己的facebook郭变,可以作為自己python水平的練兵場颜价,可以作為本篇大綱的收山書。那作為前端入門的要求呢诉濒?熟念使用flask開發(fā)app周伦,熟念使用bootstrap,至于HTML循诉、CSS和JS横辆,隨便了解一下就好。
(這兩個部分茄猫,很有難度狈蚤,很容易感覺自己一無是處,希望同學(xué)們不要灰心划纽,扎實學(xué)過的知識一定會幫助自己脆侮,慢慢看慢慢學(xué)!)
這樣就結(jié)束了勇劣,兩部分基礎(chǔ)靖避,兩部分語言,兩部分應(yīng)用比默,從運維到開發(fā)幻捏,從后端到前端,可以說是暴力命咐、快速開始編程的全部內(nèi)容了篡九,那預(yù)祝你們成功開始自己的工程師之路。
我作為小小的前輩醋奠,最后送你們一段我讀到的話榛臼。
The fundamental equation of computers is:
????????????????computer = powerful + stupid
Computers are very powerful, looking at volumes of data very quickly. Computers can perform billions of operations per second, where each operation is pretty simple.
Computers are also shockingly stupid and fragile. The operations that they can do are extremely rigid, simple, and mechanical. The computer lacks anything like real insight ... it's nothing like the HAL 9000 from the movies. If nothing else, you should not be intimidated by the computer as if it's some sort of brain. It's very mechanical underneath it all.
Programming is about a person using their real insight to build something useful, constructed out of these teeny, simple little operations that the computer can do.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????——Stanford CS101
計算機非常強大,但是也需要我們身為人的insight窜司,希望你我都能擁有這點real insight沛善!
# 本文中的鏈接全部來源于百度,我第一次寫文塞祈,希望沒有版權(quán)糾紛金刁。