前言
1、讀書(shū)的時(shí)候覺(jué)得理論知識(shí)和后端知識(shí)比較無(wú)用,但在工作中卻證實(shí)昧穿,它們非常重要第美,所以我現(xiàn)在頁(yè)經(jīng)常回頭復(fù)習(xí)一些基礎(chǔ)知識(shí)
2挑庶、做你自己想做的事情言秸,學(xué)你想學(xué)的知識(shí),不要怕走偏了迎捺,如果有人說(shuō)你不務(wù)正業(yè)举畸,那就讓他們說(shuō)去吧。如果你能遠(yuǎn)離傳統(tǒng)的路子凳枝,你將會(huì)不同凡響抄沮。
什么是全棧工程師
1、項(xiàng)目管理:甘特圖岖瑰,一種柱狀圖:顯示項(xiàng)目叛买、子項(xiàng)目、進(jìn)度以及其他與時(shí)間相關(guān)的系統(tǒng)的進(jìn)展情況蹋订。
2聪全、擴(kuò)展:全棧框架MEAN
3辅辩、擴(kuò)展:PaaS服務(wù)平臺(tái)
4难礼、關(guān)注問(wèn)題娃圆,而不是醉心技術(shù):公司的存在意義就是解決問(wèn)題,公司要解決用戶的問(wèn)題蛾茉,而員工要解決公司的問(wèn)題讼呢。
5、影響力就是跨界解決問(wèn)題
延伸閱讀:黑客與畫(huà)家谦炬、專業(yè)主義
如何成為全棧工程師
1悦屏、先精后廣、一專多長(zhǎng):你需要在招聘要求的方向上以200%的能力來(lái)得到這個(gè)職位键思。
2础爬、在考慮做什么項(xiàng)目的時(shí)候,圍繞商業(yè)利益作為目標(biāo)吼鳞。歸根結(jié)底看蚜,技術(shù)是服務(wù)于商業(yè)的。老板雇用一個(gè)員工赔桌,不是因?yàn)樗軐?xiě)程序供炎,而是因?yàn)樗軒妥约嘿嶅X。
3疾党、當(dāng)你只有一把錘子音诫,你看什么都是釘子。而如果你癡迷于工具雪位,反而看不到問(wèn)題所在竭钝。因此,要先看看有哪些問(wèn)題需要解決雹洗,然后再補(bǔ)充你的工具箱香罐。永遠(yuǎn)從商業(yè)目標(biāo)的角度來(lái)覺(jué)得學(xué)習(xí)哪些東西,而不是純粹為了鍛煉技術(shù)能力而去學(xué)習(xí)队伟。
4穴吹、做一次演講或者匯報(bào),第一件要緊的事不是做PTT嗜侮,而應(yīng)該調(diào)查聽(tīng)眾港令,站在聽(tīng)眾的角度去思考:聽(tīng)眾知道什么信息,聽(tīng)眾想知道什么锈颗。
5顷霹、把結(jié)論放在開(kāi)始,方便對(duì)方快速了解情況击吱;如果需要老板拍板淋淀,給出選擇題,而不是問(wèn)答題覆醇。
6朵纷、匯報(bào)郵件不要以“我做了一個(gè)工具炭臭。。袍辞⌒裕”開(kāi)頭,而應(yīng)該以“我發(fā)現(xiàn)了一個(gè)問(wèn)題搅吁。威创。』雅常”開(kāi)始
7肚豺、關(guān)注用戶體驗(yàn)
延伸閱讀:重來(lái):更為簡(jiǎn)單有效的商業(yè)思維、精益創(chuàng)業(yè)
從學(xué)生到工程師
1界拦、崗位優(yōu)先于公司吸申,即使再一個(gè)很好的公司里面,如果知識(shí)作者自己不喜歡頁(yè)不擅長(zhǎng)的工作寞奸,那能有什么前途呢呛谜。
2在跳、設(shè)計(jì)四大原則:對(duì)齊枪萄、對(duì)比、距離和重復(fù)
3猫妙、記住團(tuán)隊(duì)里的每一個(gè)人瓷翻;有任何問(wèn)題,主動(dòng)問(wèn)導(dǎo)師割坠;主動(dòng)介紹自己齐帚,告訴大家自己是新人,請(qǐng)多關(guān)照彼哼;每周發(fā)郵件記錄新的總結(jié)对妄、經(jīng)驗(yàn)教訓(xùn)、學(xué)習(xí)成長(zhǎng)敢朱;實(shí)習(xí)結(jié)束時(shí)剪菱,用郵件總結(jié)所有項(xiàng)目,給出交接文檔拴签,并向大家致謝孝常。
延伸閱讀:編程之美:微軟技術(shù)面試心得
野生程序員的故事
知易行難的開(kāi)發(fā)者
延伸閱讀:打找facebook
工程師事業(yè)指南
1、那個(gè)什么都懂的家伙蚓哩」咕模“無(wú)論多難搞,他肯定能解決”的信賴岸梨。
2喜颁、怎樣獲得良好的聲望稠氮? 答應(yīng)做的事,全部都要完成半开。
3括袒、“我現(xiàn)在手頭有XX工作,現(xiàn)在給我這個(gè)任務(wù)可能會(huì)來(lái)不及稿茉,看能否把之前的工作轉(zhuǎn)交給XX”
4锹锰、如果使用得當(dāng),開(kāi)源代碼是你和你公司最好的廣告
5漓库、重視作品集:再商業(yè)化的市場(chǎng)里恃慧,對(duì)方(高效地)得到你的信息,您得到您應(yīng)有的評(píng)價(jià)渺蒿,這對(duì)雙方是互利的痢士。
延伸閱讀:您就是極客:軟件開(kāi)發(fā)人員生存指南、代碼整潔之道
全棧工程師眼中的HTTP
擴(kuò)展:HttpWatch:檢測(cè)頁(yè)面所有HTTP請(qǐng)求
1茂装、減少同域請(qǐng)求
2怠蹂、常用的圖片格式有哪些,他們的使用場(chǎng)景是什么少态?
延伸閱讀:圖解HTTP城侧、高性能網(wǎng)站建設(shè)指南
高性能網(wǎng)站的關(guān)鍵:緩存
1、很多時(shí)候彼妻,優(yōu)化算法和壓縮圖片帶來(lái)的優(yōu)化效果可能遠(yuǎn)遠(yuǎn)不如優(yōu)化緩存
2嫌佑、服務(wù)器緩存、瀏覽器緩存
延伸閱讀:網(wǎng)站性能監(jiān)測(cè)與優(yōu)化
大前端
1侨歉、前端知識(shí)體系
初級(jí):瀏覽器兼容性的了解屋摇、html/css/javascript 語(yǔ)法和原理的理解、對(duì)編輯器和插件的熟悉程度幽邓、對(duì)調(diào)試工具的了解程度炮温、對(duì)版本管理軟件的熟悉和應(yīng)用經(jīng)驗(yàn)、對(duì)前端庫(kù)/框架的使用牵舵、標(biāo)準(zhǔn)/規(guī)范
中級(jí):對(duì)代碼質(zhì)量柒啤、代碼規(guī)范的理解、對(duì)javascript單元測(cè)試的熟悉棋枕、對(duì)新能優(yōu)化的應(yīng)用和理解白修、代碼部署、移動(dòng)web
高級(jí):代碼架構(gòu)重斑、安全兵睛、自動(dòng)化測(cè)試
2、所有工程師都要學(xué)習(xí):項(xiàng)目管理、數(shù)據(jù)庫(kù)祖很、軟件開(kāi)發(fā)流程笛丙、C++
3、不要迷信大框架假颇,越需要滿足更多人的需求胚鸯,會(huì)封裝很多你可能不要的資源進(jìn)去。
4笨鸡、重構(gòu)工程師需要理解和熟悉:性能姜钳、動(dòng)畫(huà)、SEO形耗、可用性和移動(dòng)等方面
延伸閱讀:精通CSS:高級(jí)web標(biāo)準(zhǔn)解決方案(第二版)哥桥、但也web應(yīng)用:javascript從前端到后端
向移動(dòng)端轉(zhuǎn)型
1、客戶需求只有在實(shí)際使用中才能辨明激涤,再多前期調(diào)研頁(yè)只能發(fā)現(xiàn)客戶認(rèn)為他們想要什么拟糕,而不是客戶實(shí)際上要什么
2、讓市場(chǎng)認(rèn)可你倦踢,而不是讓老板認(rèn)可
3送滞、“我有面向?qū)ο缶幊痰幕A(chǔ),也會(huì)MySQL數(shù)據(jù)庫(kù)辱挥,這是不是做IOS App的一個(gè)優(yōu)勢(shì)犁嗅?”“有Mac就行”——行動(dòng)重于計(jì)劃
延伸閱讀:Getting Real、從0到1:開(kāi)啟商業(yè)與未來(lái)的秘密般贼、Building iphone Apps with Html,css,and javaScript
持續(xù)集成
1愧哟、版本控制:SVN奥吩、Git哼蛆。最佳實(shí)踐:頻繁提交...
2、包管理:npm霞赫、Bower
3腮介、構(gòu)建工具:良好的架構(gòu):合適的分離粒度、最小知識(shí)原則端衰、DRY叠洗、最小化預(yù)先設(shè)計(jì),只設(shè)計(jì)必須內(nèi)容旅东、通過(guò)良好的層級(jí)灭抑,讓文件易與找到、在代碼層面抵代,有一至且可執(zhí)行的命名規(guī)則
延伸閱讀:Pro git腾节、Git版本控制管理
理解編程語(yǔ)言
延伸閱讀:代碼大全、代碼的未來(lái)、禪與摩托車的維修藝術(shù)
全棧游樂(lè)場(chǎng)
VPS
軟件設(shè)計(jì)方法
1案腺、設(shè)計(jì)模式關(guān)注點(diǎn):高效編寫(xiě)代碼庆冕、高可復(fù)用性、抽象帶來(lái)的可讀性
2劈榨、如果內(nèi)部實(shí)習(xí)出了問(wèn)題访递,需要?jiǎng)邮中g(shù)解決的話,就不應(yīng)該使用適配器了同辣,因?yàn)槟菢邮侵螛?biāo)不治本的方法拷姿,反而會(huì)增加代碼復(fù)雜度。
3旱函、架構(gòu)模式跌前,MVC是一個(gè)抽象程度很高的設(shè)計(jì)模式
4、工程師水平高低并不在于敲代碼有多塊陡舅、復(fù)雜性有多高抵乓,而是能快速理解其他工程師的代碼,并且自己編寫(xiě)的代碼也能讓其他工程師快速理解靶衍。
5灾炭、設(shè)計(jì)原則:DRY=>于系統(tǒng)架構(gòu)關(guān)系密切、三次法則颅眶、慣例優(yōu)于設(shè)置蜈出、KISS原則、最少知道原則
延伸閱讀:設(shè)計(jì)模式涛酗、JavaScript設(shè)計(jì)模式
高效工程師
1铡原、閱讀英文資料:google、StackOverflow
2商叹、時(shí)間管理四象限:緊急又重要/緊急不重要/重要不緊急/不緊急不重要
3燕刻、第一象限的問(wèn)題往往是第二象限的問(wèn)題沒(méi)有制定好計(jì)劃而滑落過(guò)來(lái)的
4、重復(fù)的工作應(yīng)該給計(jì)算機(jī)去干
5剖笙、給自己留出不被打擾的時(shí)間
6卵洗、番茄工作法:勞逸結(jié)合
7、跨界思考
8弥咪、紙跟筆是最靈活过蹂、最易改、成本最低的頭腦風(fēng)暴方式聚至。
9酷勺、如果下屬基礎(chǔ)需要加班才能完成工作,我會(huì)認(rèn)為這是管理者的失職
10扳躬、長(zhǎng)期加班=>不會(huì)去找高效的方法
11脆诉、下班后盡量不要處理需求勋功,多點(diǎn)時(shí)間自我學(xué)習(xí),或者準(zhǔn)備一些分享库说,甚至做一些編外項(xiàng)目狂鞋。
延伸閱讀:軟件隨想錄:程序員部落酋長(zhǎng)Joel談軟件、卓有成效的程序員
學(xué)習(xí)設(shè)計(jì)
設(shè)計(jì)理論:親密潜的、對(duì)齊骚揍、重復(fù)、對(duì)比
擴(kuò)展:sketch啰挪、quartz composer
全棧思維
1信不、老板給你任務(wù),根本不關(guān)心你有什么理由亡呵,只關(guān)心你有沒(méi)有完成
2抽活、如果你想讓團(tuán)隊(duì)一起造一艘大船、你不要告訴他們?nèi)绾谓ㄔ煲凰掖蟠淌玻鴳?yīng)該喚起他們對(duì)大海的渴望下硕。
3、有效的管理者善于利用長(zhǎng)處汁胆,包括自己的長(zhǎng)處梭姓、上司的長(zhǎng)處、同事的長(zhǎng)處和下屬的長(zhǎng)處
4嫩码、根據(jù)員工特質(zhì)來(lái)授權(quán):有意愿但是能力不夠的:教會(huì)他做事的方法誉尖,提升學(xué)習(xí)能力;有能力但意愿不夠的铸题,多進(jìn)行感溝通铡恕;有意愿又有能力的員工,大力培養(yǎng)丢间;沒(méi)有意愿沒(méi)有能力的探熔,盡早開(kāi)除。
5千劈、良好的溝通是:“針對(duì)目標(biāo)聽(tīng)眾”“有方法地”“表達(dá)自己的想法”
6祭刚、項(xiàng)目中有一大半的代碼量部署我能完成的,所以我的主要精力放在推動(dòng)各個(gè)部門(mén)的其他崗位的同事來(lái)協(xié)作
7墙牌、假如你收到從另一個(gè)集團(tuán)或者部門(mén)的同事發(fā)過(guò)來(lái)的協(xié)作請(qǐng)求,而且對(duì)方跟你是平級(jí)員工暗甥,為什么你要幫他=>度己度人:找到那個(gè)關(guān)鍵的人喜滨,對(duì)他來(lái)說(shuō),幫助你對(duì)他是很有好處的撤防。最好的辦法是訴諸對(duì)方的利益/把問(wèn)題上升到領(lǐng)導(dǎo)(慎用)虽风;
8、與上司溝通:匯報(bào):求表?yè)P(yáng)、請(qǐng)求辜膝、詢問(wèn)
9无牵、需要在20秒之內(nèi)讓他知道你的目標(biāo):麥肯錫的金字塔原理=>中心目標(biāo)
10、“我們需要做什么”=>第一句話厂抖;a茎毁、表達(dá)立場(chǎng)足夠簡(jiǎn)單。b忱辅、圍繞唯一立場(chǎng)去溝通
11七蜘、PTT:設(shè)定進(jìn)度=>一開(kāi)始告訴聽(tīng)眾演講時(shí)間
延伸閱讀:卓有成效的管理者、麥肯錫教我的寫(xiě)作武器墙懂、金字塔原理橡卤、安靜:內(nèi)向性格的競(jìng)爭(zhēng)力