這篇文章又叫一即是全章姓,全即是一。
初心
有時候想想為什么寫程序识埋?寫程序的初心是什么凡伊?這個代碼寫時間長了有時候就忘記了。為生計窒舟?為房貸系忙?都不是。我想做自己喜歡的東西惠豺。就想一個一個畫家畫出了自己想表達(dá)的東西银还,一個木匠做了一個家具,一個鐵匠鑄造了一把絕世好劍洁墙。所以我要學(xué)很多東西蛹疯,移動端,前端扫俺,后端苍苞,我寫程序的初心不是產(chǎn)品說今天我們要做一個這個,做一個那個,改完bug羹呵,上完線下班骂际。
目標(biāo)一個能盈利的產(chǎn)品
領(lǐng)導(dǎo)總說你學(xué)技術(shù)要專一,但是實際我認(rèn)為組成完整的能力才是關(guān)鍵「曰叮現(xiàn)在總說全棧工程師歉铝。有人說,全棧 = 全干 = 啥都會 = 啥都不會凑耻。其實我覺得這么說也有偏見太示,全棧工程師應(yīng)該著眼于一個人能夠設(shè)計開發(fā)維護(hù)一個能盈利的產(chǎn)品。
合作的成本
我們從戰(zhàn)爭中能學(xué)到什么香浩?小國打一仗成本非常高类缤,所有武器都要進(jìn)口,現(xiàn)代戰(zhàn)爭小國的飛機(jī)大炮都是一次性產(chǎn)品邻吭,用完國內(nèi)不能自給餐弱。阿根廷打英國船,法國的飛魚好用囱晴,但是打到一半就沒了膏蚓。兵者國之重器咋能不漫天要價。程序員和設(shè)計時薪不怎么值錢畸写,但是驮瞧。。枯芬。论笔。我覺得一般只想做個小產(chǎn)品的時候我還是請不起其他人的。
不同的利潤
能做一個端的技術(shù)你只是流水線的工人破停,你能從老板那里分來的是你做為工人的那份翅楼,但是如果能一個人基本提供一個完整的產(chǎn)品,那么你獲得的是整個產(chǎn)品的利潤真慢。
行業(yè)發(fā)展特性
有些行業(yè)不可能成為全棧毅臊,你可以同時會開飛機(jī),坦克黑界,潛水艇但是你不可能一個人上戰(zhàn)場管嬉,但是軟件工程師有這種可能,開源軟件迅猛發(fā)展朗鸠,你可以一個用開源軟件組織一場戰(zhàn)斗蚯撩。比如曾經(jīng)在很短時間搭建一套復(fù)雜環(huán)境很難,但是現(xiàn)在用docker一拉就行烛占,用c寫代碼很慢不可能自己寫一個網(wǎng)站胎挎,但是用django就可以沟启,寫網(wǎng)站不會設(shè)計界面直接用bootstrap。寫app不會寫后端直接用baas犹菇。不會組裝電腦直接買阿里云德迹。你不可能一個人開一個鋼鐵廠,因為他真的需要很多人揭芍,但是你可以自己在軟件的世界里運行一個自動化工廠胳搞。
犧牲與平衡,費效比
我需要的是一個完整的產(chǎn)品称杨,可以放棄對一些細(xì)節(jié)和美觀的要求肌毅。類似完整的軍事工業(yè),核武器可以效果不好姑原,可以大悬而,但是只要有導(dǎo)彈有核彈頭就能達(dá)成效果。自己做一個產(chǎn)品需要注重費效比页衙。功能性需求比優(yōu)化更重要摊滔。工作了一年我的經(jīng)驗是爛代碼也是要上線的。
做什么樣的項目
只要有一個穩(wěn)定可以盈利的項目就是巨大的勝利店乐。
做養(yǎng)不活大平臺卻可以養(yǎng)的起個人團(tuán)隊的項目。
做周期短和見效快的項目呻袭。
做盡量可以復(fù)用的代碼眨八,小團(tuán)隊的項目要適合快速轉(zhuǎn)向。
技術(shù)積累目標(biāo)
后端服務(wù)能力
利用baas彌補(bǔ)后臺開發(fā)的短板左电,學(xué)會維護(hù)和開發(fā)一個baas服務(wù)廉侧。擁有一個人維護(hù)后端的能力。
客戶端能力
前端:工具型前端界面快速開發(fā)能力bootstrap,jquery篓足。
完成vue或者anjularjs段誊。前端工程化能力
iOS開發(fā):iOS付費意愿較好,工具較為完整適合小團(tuán)隊開發(fā)栈拖。安卓端放棄连舍。
pc端工具開發(fā)能力:這個優(yōu)先級在前端和后端能力形成之后。
簡單的ui設(shè)計能力
ui設(shè)計采用涩哟,極簡設(shè)計索赏,通過設(shè)計節(jié)約設(shè)計和開發(fā)成本。但是也需要最基本的ps與ui設(shè)計能力贴彼。
基本運維能力
盡量不依賴自己選擇性的購買云服務(wù)潜腻,但是也需要對運維知識有一定理解。這種理解可以方便業(yè)務(wù)在各個層面進(jìn)行拆分器仗。
管理機(jī)器與運維多臺機(jī)器的能力
虛擬機(jī)基于proxmox管理多臺服務(wù)器的能力
ansible自動部署
整體以Docker+git+Jenkins為開發(fā)流程
項目管理
wiki
bugziral
git
項目管理軟件
持續(xù)集成
亂七八糟的東西加上git加上Jenkins
后端:Docker+git+Jenkins
iOS:代碼+git+Jenkins
前端:前端部署工具+git+jenkins
數(shù)據(jù)反饋
交給第三方統(tǒng)計工具
崩潰收集
交給第三方統(tǒng)計工具
對抗變化
軟件是一個變化非橙诨粒快的行業(yè),技術(shù)更新非常快威鹿,但是如果擁有完整的自制產(chǎn)品能力可以一定程度降低影響妓盲。一個端的技術(shù)的迅速變化并不會導(dǎo)致你做不出一個完整的產(chǎn)品。