我是如何在四年時間裡,從廚師轉行為 Serverless 應用開發者

本文系譯文,分享了 KieranMcCarthy 的故事 —— 我的軟件開發入行經歷非常有趣,我一開始其實是廚師。(譯者:Aceyclee,已獲翻譯授權)

我在高中時就喜歡烹飪和烘焙,用不同食材的搭配去做出美味的食物,就像個科學怪人。我的家鄉在愛爾蘭,我的第一份工作也在那裡,這是我第一次真正在廚房為人們提供食物,當然還有數不清的盤子要洗。

一位前輩教了我如何製作香蕉太妃派,又簡單又美味,讓我感到驚喜。當時,我開始在在家中製作些小點心賺取外快。

那時候我從學校搬了出來,在搬到新住處後,我在工作的餐廳和城區的家之間往返很不便。於是我決定在餐廳做兼職,另外找一份咖啡店的工作。

我是如何在四年時間裡,從廚師轉行為 Serverless 應用開發者

同時打兩份工有時會讓人疲憊不堪,我還要兼職烘焙,希望開家小麵包店。那段時間我很辛苦,要在餐廳上早班,然後在咖啡店上晚班。在我回家的路上,我的朋友會幫忙做一些吃的,他正在學做飯,時不時問我手邊的食材可以做些什麼。

我當時絞盡腦汁地在想,比起發短信或者打電話,或許我可以直接做一款 app,當我的朋友輸入食材名稱,就能自動跳出來相應的食譜。這能有多難呢~

於是我就開始學習如何構建一款 app。

從廚師到開發者

那是 2014 年夏天,我很快意識到自己甚至不知道從何入手。我應該學習哪種語言?我應該在哪個平臺上操作?Web 還是移動端?什麼是前端和後端?天吶!

我隨大流報了個 Code Academy(編程學院),開始學習 Web 開發,以及開發者的思維模式。這為我打開了一個新世界!(好吧,可能並沒有什麼特別的,但是你應該明白我的意思。)

胡亂摸索和嘗試構建靜態網站,讓我們對移動 app 及其構建方式感到疑惑。我參加了一個 Udemy 在線教程學習 Java,並在 Android 上進行操作。一開始真的很難,讓屏幕顯示「Hello World」是讓我頗有成就感。

但是我非常想學習如何編碼,所以奮力前行。

完成 Java 課程後,我構建了自己的第一個 app,並將其上架到 Play Store。(雖然它並不是給我朋友使用的應用,哈哈!)

我感覺還有很多東西可以學習,不想只停留在移動設備上。我的腦海裡浮現出各種各樣的問題,比如「我如何連接到其他設備?」「什麼是服務器?它們的功能是什麼?」「什麼是雲……為什麼稱之為『雲』?」等等。

所有這些問題都可以通過 Google 找到答案。因此,我給自己設下了一個任務,學習有關服務器的知識以及如何針對服務器編寫代碼。我開始採用 PHP 構建簡單的後端應用,從移動測試應用、Web 窗體和 curl 命令獲取數據。

這個時候我開始感覺自己入錯行了。我學習和構建的東西越多,我對烹飪的興趣就越少。

我想成為一名開發者。我想創造出與眾不同且具有創新性的事物。但是我沒有計算機科學專業的學位,也沒有全日制學位(我大二就輟學了)。但是我確實想成為一名開發者。

我花錢參加了 Java 認證,希望自己的簡歷能被看重。儘管第一次失敗了,但是第二次通過了。我非常開心,這可能是我成為一名真正開發者的敲門磚!

開始求職

我把這份認證放入自己的簡歷中,然後發到了招聘網站。但是一無所獲……「我們需要的是一個有學位的人」「一個有經驗的人」「一個有碩士學位的人」。我開始認為自己沒什麼「競爭力」。雖然我感到有些沮喪,覺得自己沒有學位、也沒有錢去取得學位,所以永遠無法找到工作,但我決定在 Udemy 上學習更多的課程。

我把從 Udemy 學到的東西一股腦兒都寫到簡歷中。我為自己的努力感到驕傲,為什麼不把它們放在簡歷裡呢?功夫不負有心人,我接到了愛爾蘭一家 IT 諮詢公司的面試。我的夢想成真了!

我懷著激動和忐忑的心情進入了另一個世界。我希望做好這份工作,我總是主動要求多做些事情,並參與更多的項目。我負責將 PHP 應用從本地遷移到雲。某種程度上算是學習!這些應用必須更新為 PHP7,我們需要實現 DevOps,而我首先需要了解 AWS。

我買了一本叫做《The Phoenix Project》的書來了解 DevOps,還買了 ACloudGuru 的 Developer Associate 課程來學習 AWS。我愛上了雲和 DevOps。它們太有意思了!在花了很多時間來學習所有與工具有關的知識後,項目變得容易很多,並最終取得了成功。我們不僅成功遷移了應用,還創建一個框架,框架中規定了相關的步驟,便於我們以後遵循這些流程來進行遷移。

就這樣,我們建立起了一支創新團隊。我們希望通過提出創新的想法來讓辦公室更智能。我負責收集智能桌臺預訂服務構想所需的堆棧:這是我們辦公室的一個實時數據饋送,它將向員工展示帶客戶進來的最佳時間、員工自己進來的最佳時間,或者他們是否應該待在家裡並避開通勤。

構建後端時,我發現我們需要花費大量時間來為數據更改和使用流創建偵聽器。我們計劃使用 雲函數並通過 API 網關與它們連接。所以我開始尋找可以節省時間的框架。

而 Serverless Framework恰好派上用場!

向無服務器開發過渡

我對 Serverless Framework 一見傾心。我只需把精力集中在代碼上,就可讓應用快速投入運行 —— 在人們使用的同時,我們可以不斷開發和實現自己的構思。

我反覆觀看了 YouTube 頻道 FooBar 提供的所有內容;我強烈推薦大家採用 Serverless Framework。我掌握了 Marcia 介紹的所有知識,並且發現自己在構建需要的內容時越來越輕鬆。

最後,我構建出了下面這個簡單的小型架構:

我是如何在四年時間裡,從廚師轉行為 Serverless 應用開發者

使用 Serverless Framework,我為用戶創建了一個完整的流程來申請桌臺並實時查看變更:辦公室內/外的工作人員和可用的桌臺。實現所有這些功能的同時還能完全控制我們的數據,擁有一個幾乎可以免運維的可擴展模型,並且無需操心底層結構,只需專注於為人們提供出色的功能。

現狀如何?

我花了 4 年的時間從零開始新職業。無數漫長的夜晚,我都在 Code Academy 中探索,學習 OOP 概念,為考試做準備並且創造東西,當我看到它們在自己的手機裡運行,感覺非常酷,也非常有趣。

我過去 5 個月一直在學習 Serverless Framework,現在正計劃將 Serverless Framework 投入到工作中,這項服務可幫助客戶構建和遷移其應用。並且,我還使用無服務器作為平臺來建立聊天機器人副業!

我度過了非常充實的 4 年!從為別人做飯、為活動準備蛋糕到沉迷咖啡,我從未想到自己能創造像 Serverless 聊天軟件和太陽系知識學習 app 這樣的東西。

也許有一天我會完成自己的食譜生成 app


分享到:


相關文章: