0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何成為全棧工程師

工程師人生 ? 來源:工程師吳畏 ? 2019-04-18 14:38 ? 次閱讀

做這樣一個簡單的 app:

一個天氣應(yīng)用,干凈清爽的界面,天氣信息一目了然。它不僅可以精確預(yù)測未來 10 天的天氣,還可以顯示某地的歷史天氣信息。它具有自定義提醒功能,支持 web 版本, iOS 版, Android 版。

為什么想要做這樣一個 App ?因?yàn)槟阆矚g旅行,但沒找到一個天氣 App 可以提供你下個月或者某個特定月份的天氣信息;因?yàn)槟銘心銢]有每天看天氣預(yù)報(bào)的習(xí)慣,你想要在第二天溫度達(dá)到 30 度以上或者溫差有 +/-7 度的時候,獲得溫馨提示;因?yàn)槟阋蔀橐粋€ Full Stack Engineer ,你必須不斷訓(xùn)練每個 stack 的能力。

## Web版

你決定用 MySql 來存儲用戶數(shù)據(jù),用 NoSql 存儲歷史天氣數(shù)據(jù)。你用 Redis 作為 cache ,緩存一些最常請求的天氣數(shù)據(jù)。你用 Python 寫后臺,功能簡單,后臺不復(fù)雜,用戶注冊登錄,抓取返回某城市的天氣數(shù)據(jù),某地的歷史天氣數(shù)據(jù),很快便搞定。

后臺開發(fā)并測試好了,接下來是 Web 前端。你十分清楚一個好的 UI 設(shè)計(jì)對一個 App 的重要性,你也明白 UI 的設(shè)計(jì)不只是為了美觀,更重要的是提高信息的可讀性和程序的可用性。幸好你平日的積累這次派上用場了。你把之前保存下來的上百個優(yōu)秀的UI設(shè)計(jì)作品拿來研究,你從書架上拿出Norman 的那本經(jīng)典 - The Design of Everyday Things 重新細(xì)讀。最終你用白紙黑筆敲定了第一個版本的 UI,簡潔直觀,沒有任何多余的設(shè)計(jì),所有元素的排列間距 大小顏色都恰到好處。你相信即使天氣不好,但用戶只要使用這個 App 都會有著愉悅的心情。

那么開始寫前端吧。啊,別急,都忘了還有 Icon 和 Logo ,可是不會 PS ,不會 AI ,不會 Sketch 怎么辦呢,學(xué)吧。你平日喜歡結(jié)交不同領(lǐng)域的朋友,正好幾周前在一個活動上你認(rèn)識一位朋友做設(shè)計(jì)的。她花一個下午的時間教你基本的 Sketch 的使用,并對你的 UI 設(shè)計(jì)給出了一些意見。你請她吃了頓晚飯表示感謝,然后立即回家根據(jù)她的一些建議重新調(diào)整了 UI ,這次你在 PS 里把 UI 畫了出來,Icons 和 Logo 也順道一起做了。

接下來的一周,你學(xué)習(xí) HTML,CSS,以及 Javascript,并漂亮地把前端搞定。

## 發(fā)布 App

在朋友圈發(fā)了個狀態(tài),找人幫你做 Beta 測試。他們都首先問你是什么 App,一開始你簡單回答一個天氣的 App。但你發(fā)現(xiàn),這不能提起他們的興趣。你覺得你需要用語言,用故事包裝一下。不光是作為別人「是什么 App」提問的回答,也是成為 Full stack Engineer 道路上的一個重要技能。

你去看了所有你喜歡的產(chǎn)品的主頁,從他們的文案上獲得一些靈感啟發(fā);你讀了經(jīng)典的 On Writing Well ,發(fā)現(xiàn)好的文案,好的設(shè)計(jì),其實(shí)和好的代碼很相似,都是重在交流,如何讓他人毫不費(fèi)勁地明白你要表達(dá)的內(nèi)容。你的故事要吸引人,你的產(chǎn)品介紹要在1分鐘內(nèi)解釋清楚,并確保你的父母可以毫無壓力聽明白。

一切就緒,產(chǎn)品上線了。反響不錯,用戶持續(xù)增加。很多用戶希望有移動版本,于是你立即投入到iOS 版本的開發(fā)上。

## iOS 版 及 后臺優(yōu)化

你花一周不到時間學(xué)習(xí)了基本的語法和工具使用便投入到 App 的開發(fā)中。你知道 Learn by Doing 是最好也是最快的。由于之前學(xué)習(xí)了設(shè)計(jì)的基礎(chǔ),UI ,Icons 很快搞定,不久 iOS 版本便發(fā)布了。iOS 的發(fā)布帶來了更多的用戶增長,后臺服務(wù)器的壓力頗大,你知道是時候優(yōu)化后臺了。

你在 AWS 上多開了 2 臺服務(wù)器,并寫了一個 Script 來自動化部署過程。

你改用 uWSGi 協(xié)議,用 uwsgi 作為 Application Server。

你使用 Nginx 來做并發(fā),負(fù)載均衡 。..

## 成立公司

用戶持續(xù)增長,每天你都會收到十幾二十封用戶的郵件。你很感激這些愿意花時間給你寫郵件的用戶,你相信他們是你最重要的用戶,是潛在的付費(fèi)用戶。如果你把他們像上帝一樣對待,他們同樣也會把你看作是上帝。所以除了睡覺時間的發(fā)來的郵件,每一封郵件,你都會在2小時內(nèi)給予回復(fù)。

果然這樣的付出是收獲巨大的,他們不僅驚訝且非常感謝你的快速回復(fù),他們會在app store里給你★★★★★的評價,他們在社交網(wǎng)站上分享你的app,他們甚至?xí)鲃犹岢鼍杩罱o你。

你從快速的用戶增長中嗅到了商機(jī),你開始思考如何賺錢。廣告你是堅(jiān)決不能允許的,你認(rèn)為再精確的廣告也會影響用戶體驗(yàn)。你設(shè)計(jì)了 2 個不同的付費(fèi)方案,你打算用 A/B 測試看哪個方案更好。你分別給 200 個用戶發(fā)去邀請嘗試付費(fèi)的郵件,郵件內(nèi)容你精心打磨過,并在最后寫上:CEO & Founder. 通過分析 2 種方案的用戶行為,你決定將使用第一種方案。

接下來,你相信差不多是時候成立個公司了。為了省時間,你花 2000 塊錢找了個園區(qū)掛靠并幫你注冊公司。公司的名字讓你頭疼了很久,你不想只是簡單的用這個 App 的名字作為公司名字,你知道公司將來還會做出其他優(yōu)秀的產(chǎn)品。你希望這個名字簡單易記,同時其含義也是你公司文化的象征。

公司注冊下來了,但銀行那邊得自己跑。你聯(lián)系了一些媒體編輯,邀請他們來試用你的產(chǎn)品;你重新設(shè)計(jì)了產(chǎn)品主頁,并開始寫產(chǎn)品的 Blog ;你在各大社交網(wǎng)絡(luò)都給 App 注冊了賬號,即做社區(qū)客服也為宣傳。.. 這些事大大壓縮你寫代碼的時間。以往你都是以代碼量作為衡量自己當(dāng)天工作效率的指標(biāo),所以這些天你總感覺沒做啥工作。

這樣的發(fā)展早已超過你的預(yù)期,這個 App 從一個 Side Project 幾乎變成了你生活的全部。你跟你女朋友半個月才出去約會一次,她抱怨不斷;你1個月沒跟朋友出去玩耍喝酒了;你 2 個月都沒鍛煉過身體。.. 你意識到, YOU CAN NOT DO THIS ALONE,你需要幫手,你需要找人一起把這個做下去。

但你不是要成為 Full Stack Engineer 么?你現(xiàn)在是了么?

## Full Stack Engineer

設(shè)計(jì),后臺開發(fā),前端開發(fā),移動開發(fā),運(yùn)營維護(hù),PS,文案。.. 好像都會了,這算 Full Stack Engineer 了么?

不,這只是踏上成為 Full Stack Engineer 的第一步。你知道目前只是每個 stack 都懂一點(diǎn),離senior 或者 expert 還差得遠(yuǎn),而要每個 stack 都做到極致,需要大量的時間和精力。精力有限,產(chǎn)品開發(fā)緊迫,力不從心啊,這條道路也太孤獨(dú),因?yàn)槟悴恍枰c任何人進(jìn)行協(xié)作。難道要把一些stack的任務(wù)交給別人做么?這樣算是放棄成為 Full Stack Engineer 么?

不!這不是。

什么是 Engineer?「Engineers are versatile minds who create links between science, technology, and society」。

Engineer 的本質(zhì)工作是設(shè)計(jì),開發(fā)出應(yīng)用于大眾的產(chǎn)品。

一個真正的 Full Stack Engineer ,他從生活中發(fā)現(xiàn)問題,洞察需求,他設(shè)計(jì)解決方案,并開發(fā)出初始版本的產(chǎn)品。為了達(dá)到目標(biāo),他愿意去學(xué)習(xí)任何領(lǐng)域的技能和知識。同時他不追求一個人完成所有工作,如果有人可以比他在某方面做得更出色,便會十分熱情的邀請他們加入。

最終他的職位也許不再是 Engineer ,他不再設(shè)計(jì) UI ,不再寫代碼 。.. 他的工作不再是 design and building an app or product,因?yàn)樗懈蟾匾娜蝿?wù)要做 - design and building a team or a company which builds great products.

而這時,社會給了他們另一個稱呼 - 創(chuàng)業(yè)者。盡管眾人已忘記他們 Engineer 的身份,但在他們骨子里,內(nèi)心深處,自己始終都是一個 Engineer 。當(dāng)他們需要從頭再來時,他們毫不猶豫從設(shè)計(jì)開發(fā)產(chǎn)品做起。Nikola Tesla,F(xiàn)erdinand Porsche,Henry Ford,Jack Dorsey,Mark zuckerberg,Elon Musk 。.. 細(xì)數(shù)那些改變了或正改變世界的創(chuàng)業(yè)者,他們大多數(shù)是 Engineer 背景,熱衷于設(shè)計(jì)創(chuàng)造。他們學(xué)習(xí)技能和知識,不是為了成為某個領(lǐng)域的專家;而是因?yàn)槟切?是完成自己目標(biāo)所需要的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1561

    瀏覽量

    68316
收藏 人收藏

    評論

    相關(guān)推薦

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的一種專業(yè)工程師,他們主要負(fù)責(zé)設(shè)計(jì)和開發(fā)嵌入式軟件,
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    OVP過壓保護(hù)芯片:為何電子工程師需要它?功能、作用解析

    OVP過壓保護(hù)芯片:為何電子工程師需要它?功能、作用解析
    的頭像 發(fā)表于 03-06 10:27 ?5168次閱讀
    OVP過壓保護(hù)芯片:為何電子<b class='flag-5'>工程師</b>需要它?功能、作用<b class='flag-5'>全</b>解析

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    【2023電子工程師大會】單片機(jī)/RTOS/Linux工程師

    【2023電子工程師大會】單片機(jī)/RTOS/Linux工程師修煉之路ppt
    發(fā)表于 01-03 16:31 ?39次下載

    #人工智能 #FPGA 怎么成為一個合格的FPGA工程師?

    fpga工程師
    明德?lián)P助教小易老師
    發(fā)布于 :2023年12月18日 21:19:01

    工程師修煉之路,韋老師親身分享!邀你報(bào)名2023年電子工程師大會

    、應(yīng)用案例及開源硬件項(xiàng)目。我們相信,這將是一次難得的學(xué)習(xí)和交流機(jī)會,也是您提升自己、深度了解電子技術(shù)與產(chǎn)業(yè)的很好機(jī)會! 作為大會特邀嘉賓, 百問網(wǎng)科技創(chuàng)始人兼技術(shù)總監(jiān)-韋東山老師 將蒞臨現(xiàn)場,為大家?guī)怼?單片機(jī)/RTOS/Linux
    的頭像 發(fā)表于 11-16 16:20 ?318次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>棧</b><b class='flag-5'>工程師</b>修煉之路,韋老師親身分享!邀你報(bào)名2023年電子<b class='flag-5'>工程師</b>大會

    工程師的修煉之路,韋東山老師親身分享!邀你報(bào)名2023年電子工程師大會

    、應(yīng)用案例及開源硬件項(xiàng)目。我們相信,這將是一次難得的學(xué)習(xí)和交流機(jī)會,也是您提升自己、深度了解電子技術(shù)與產(chǎn)業(yè)的很好機(jī)會! 作為大會特邀嘉賓, 百問網(wǎng)科技創(chuàng)始人兼技術(shù)總監(jiān)-韋東山老師 將蒞臨現(xiàn)場,為大家?guī)怼?單片機(jī)/RTOS/Linux
    的頭像 發(fā)表于 11-16 10:00 ?416次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>棧</b><b class='flag-5'>工程師</b>的修煉之路,韋東山老師親身分享!邀你報(bào)名2023年電子<b class='flag-5'>工程師</b>大會

    FPGA工程師需要具備哪些技能?

    和新方法應(yīng)用到實(shí)際項(xiàng)目中。隨著企業(yè)對FPGA工程師日益增加的需求,不斷提升自己的技能水平將成為競爭的不二法門。因此,在這個快速發(fā)展的行業(yè)中,不斷學(xué)習(xí)、磨煉技能和開拓思路,將會讓FPGA工程師具備巨大的優(yōu)勢,不斷提升職場競爭力。
    發(fā)表于 11-09 11:03

    如何成為一名優(yōu)秀的嵌入式工程師?

    如何成為一名優(yōu)秀的嵌入式工程師?嵌入式學(xué)習(xí)的第一步,首先是C語言。 1.理解內(nèi)存管理:C語言不同于高級語言,它不會自動管理內(nèi)存。因此,你需要理解并掌握如何使用malloc()、free()等函數(shù)
    發(fā)表于 11-07 15:36