首頁>科技>

機器之心編譯

參與:Luo Sainan、一鳴

全棧開發者聽起來是個很高大上的程式設計師崗位,似乎沒有幾年工作經驗是 Hold 不住的。但是,有個葡萄牙少年 16 歲就成為了全棧開發者,這是他從接觸程式設計開始經歷的故事。

我叫 Nuno,今年 16 歲,來自葡萄牙。今天我想跟大家聊聊我是如何成為一名全棧開發者的。

我一點也不覺得在我這個年紀成為一名程式設計師是一件很奇怪的事情。首先,我看到許多人說他們喜歡創造像俠盜獵車手 5 這樣的電子遊戲或者是像部落衝突:皇室戰爭這樣的手機遊戲,他們中的一些人確實在追逐這一夢想。他們學習程式設計,喜歡程式設計,然後他們開發屬於自己的獨立電子遊戲。

其次,隨著市場上越來越多的 APP 出現,年輕人用看似簡單的想法就成為了千萬富翁(比如馬克·扎克伯格和埃文·斯皮格爾),一個十幾歲的小朋友可能就會想,「為什麼我不能試一試呢?」

但是也有人看到程式碼就害怕。比如說,當我向我的兄弟姐妹們展示一些我正在開發的程式碼時,他們看著這些程式碼會說,「我看不懂你剛才寫的都是些什麼」。

再比如,我媽媽看到我用 C# 程式設計的時候會問我是不是在製作炸彈。哈哈,當然了,她只是在開玩笑(因為她最後笑了),但是我必須告訴她我只是在程式設計。

又比如,我爸爸不知道 Python 是什麼。我就給他寫了一個簡單的 Python 指令碼用於一些自動化操作,但是當我向他說明必須要點選檔案才能讓指令碼跑起來的時候,他只是看著我並問我那是什麼。

無論如何,儘管一堆程式碼可能看起來很嚇人,但是我想年輕人也會對它感興趣的。並且程式碼正在變得越來越簡單,看看網上可用的那些龐大的框架和庫,它們就是用於簡化一切的。程式碼並不無聊,但是學習它......

我是如何開始我的開發旅程的

我一直都很喜歡網際網路和技術。我生於 2003 年,所以在我開始接觸電腦的第一年,我用的是 Windows XP 系統。天吶,我太喜歡了。說真的,這真是太棒了。我花了好幾個小時玩系統自帶的例如桌面彈球這種遊戲,也用微軟的畫圖軟體畫了許多傑作哈哈。我也常常玩其它的遊戲,比如瘋狂計程車,模擬人生,等等。我一直對技術很感興趣,總是想知道事物是如何執行的。

嗯,當我 7 歲的時候,我拿到了只屬於我的第一臺電腦。在葡萄牙,孩子們通常會在上二年級的時候得到一臺叫作「麥哲倫」(葡萄牙探險家斐迪南·麥哲倫)的膝上型電腦,這是那個年齡的孩子最想要的東西。裡面有很多教育專案,對於一個 7 歲的孩子來說真的很棒。Windows 7 系統執行在上面,對我來說,它是宇宙中最美妙、最珍貴的東西。

葡萄牙麥哲倫 2 - 2010/2011 年 7 歲的孩子最想要的東西

後來,這臺電腦壞了。我父親把他送去維修,但是最終還是因為執行速度太慢不能用了。(我說的能用是指玩電子遊戲,當時我很喜歡這些東西)

我又得到了另外一臺電腦,那時我記得我父親買了一臺壞的麥哲倫只是為了上面的一些零件,也許他可以通過這些零件修復我原來的那臺麥哲倫。但是這已經沒那麼重要了。因為我有了一臺臺式機,它比以前的那臺麥哲倫執行速度更快,儘管沒有那麼有趣。

隨後,一個驚人且改變一生的想法出現在了我的腦海,既然我父親沒能修好我的麥哲倫,我覺得我能用他買的那些零件來創造屬於我自己的電子遊戲機。

OUYA,我的開發旅程中最大的靈感

我那時是那麼天真...

我了解到一個叫做 OUYA 的遊戲機,它的設計方案給我留下了深刻的印象:一個全新的基於 Android 的遊戲機,可以自由地修改和建立遊戲。所以,我想要僅用麥哲倫的零件去製作這樣的一個遊戲機。

毋庸置疑的是,我那時沒有足夠的知識來建立這樣一個大專案,而且現在也沒有,但我對此感到非常興奮。在閱讀了網上的一些文章之後,我決定我只需要學習 C 語言和 Assembly 來構建我的執行系統。

這很簡單,我想……

你猜怎麼著?當我看到 Assembly 的第一行程式碼時,我就哭了。不是字面意思的哭,你懂的。

控制檯專案,再見 (╯°Д°)╯︵┻━┻

時間快進到幾年以後。我和一個朋友決定,如果我們創辦一家像微軟或者蘋果這樣的公司就好了(那時我們只有 13 歲)。我們會開發出很多程式和應用,會出名,能在錢堆成的海里游泳。

我們的夢有點像這樣...——照片來自 Chiara Daneluzzi, Unsplash

讓我們開始吧,我們想。建立一家大公司並賺取百萬歐元的第一步是什麼?

沒錯——建立一個 Facebook 或者 Twitter 那樣的頁面。

在那之後,我們必須要開始建立我們的 app 和程式,但是我們都不會程式設計,一點都不會,連一行 Python,Java,PHP 的程式碼都不會,甚至包括我的老朋友 C 語言我也不會。

那你可能會問,我們做了什麼。準確地來說....

我們並沒有學習如何敲程式碼。相反,我們那時覺得跟著一些不太靠譜的關於如何用 Visual Basic 開發 web 瀏覽器的 YouTube 視訊學習將會很好。

對我們的大公司來說真的很有創意,對吧?

你猜怎麼著?我們開發了自己的瀏覽器!我甚至在 Weebly 上建立了一個網站(帶有.com 的地址——我真的不知道我是怎麼成功說服我父親給我買一個的)來和全世界分享這一傑作。

也許沒有一個人在乎這件事情。

但這件小事,是我開發旅程的開始,這是今天的我成為一名開發者的原因。是和 Visual Basic 的第一次接觸(儘管我更早的時候試圖學習 Java,但後來放棄了),是真正開始程式設計(儘管我只是把視訊裡的那個傢伙所講的進行復制貼上)。

我是如何真的開始我的開發之旅的

在這些愉快的經歷之後,我意識到我必須學習如何正確地編寫程式碼,而不是基於一些教我如何構建一個可疑網頁瀏覽器的隨機出現的 YouTube 視訊。不,朋友們,我想要的不止這些!

這個網站對我的幫助很大: Codecademy (https://www.codecademy.com/)!

Codecademy 是迄今為止整個網際網路上最令人驚歎的學習程式設計的網站之一。這讓我想到 freeCodeCamp (https://www.freecodecamp.org/)(我去年才知道它,它真的很棒),我相信在某些事情上它甚至更好。

我的第一次程式設計冒險是使用 Python 語言。Python 簡單、快速,學習和程式設計起來很有趣!它幾乎就像英語一樣(如果我從所有的英語老師那裡聽到的都是真的,那麼我的英語相對來說還是很好的)。

過了一段時間,我想要會得更多。出於好玩兒,我開始學習 PHP(因為我甚至不想做網站,覺得它們太... 無聊了——看看我現在的樣子,真香)。我有一個朋友是 PHP 天才,我開始學 PHP 也是因為他推薦我去學。

在很短的時間內,我了解了 PHP 和 Python 的基礎知識。但是後來我發現了一個 YouTube 頻道,從此永遠地改變了我的開發者之路。它的名字是 Curso em Vídeo (https://www.cursoemvideo.com/),一個很棒的巴西人的頻道,有許多免費的程式設計課程,由一名叫做 Gustavo Guanabara 的非常好的大學老師講授。

發現這一頻道是發生在我身上的最好的事情(當然,從專業角度來說)。

我參與了他們的第一門課程:演算法和程式設計邏輯(抱歉,這是我能想到的最好的翻譯,我不確定這是不是這門課的名字)。

學習程式設計邏輯是我做過的最重要的事情之一;它對於我理解很多程式設計基礎的幫助很大。

然後我的開發之旅就正式開始了。

在那之後,我專心學習 PHP(面向物件程式設計),Java(我最大的夢想,因為我一直想做 Android app),HTML/CSS,JavaScript(現在很重要)... 差不多就是這些。

我也嘗試學習了一點 C 語言(只是基礎),但是它讓我感到困惑。比如,我很難理解指標的概念。但是現在我覺得我已經了解了最基本的東西,我可以寫一 個基本的 C 語言程式。

我開始學習許多程式語言並得到一份「工作」

做了這麼多工作之後,我並不開心。當我開始學習程式設計的時候,我最大的夢想就是能夠開發桌面和移動應用程式。出於某種原因,我不喜歡網站,我不知道為什麼,直到今天仍舊如此。

我的一個朋友(就是那個幫我成立大公司的那個人——他也學了 PHP),告訴我他認識一個人,那個人有一個很大的專案,有很大的發展前景並且能夠成立一個正經公司。

這個專案就是做一個網站。包括前端和後端。

但是當你 13-14 歲的時候你是不在乎那些事情的。如果我的朋友參加了一個這麼大的專案,我肯定也想加入進來。因為即使我知道一些事情,我仍舊是個孩子。孩子們通常單純並且有點小小的嫉妒心。

我做了什麼?我和我朋友的朋友談過,我以一些股份的價格(大約 10%)加入了他的專案。他們的專案,他們的提議,都給了我靈感。

所以這就是我如何得到第一份「工作」的故事:那時我 14 歲,在 PHP、HTML/CSS 還有 JavaScript 方面是個菜鳥,並且我有點嫉妒我的朋友。

現在怎麼樣了呢?

好吧,我現在 16 歲了,我的旅程並沒有結束(當然了)。在意識到 web 開發和移動端開發是我的專長之後,我開始學習更多 PHP,資料庫(MySQL 和 MongoDB)、API、JSON、HTML/CSS 和它們的框架(Bootstrap, Sass/Less...)最後還有一些 Javascript(ES6, Node.js...)

在 AngularJS, Vue.js 和 React 之間我猶豫了很久,決定先去學 React。這是有史以來最好的事情,因為我能夠學習一些 React Native,實現我成為一個移動應用開發者的夢想。

現在,我可以說我了解下面的這些技術:

HTML/CSS(還有一些框架)JavaScript (MERN stack (https://mern.io/), NodeJS, 等等)PHP (不是 Laravel (https://laravel.com/) 我還有點後悔,我只用過 CodeIgniter (https://www.codeigniter.com/))Databases (MySQL, MongoDB)JavaPythonC# (只了解一點兒。和 Java 比較像。)C (也只懂一點兒。我平常不用這個,只是在我覺得需要玩 Arduino 的時候才用。)APIs (如何開發一個 REST API 並使用它)

現在,我不再像以前那樣專注於程式設計。我喜愛程式設計,仍舊每天程式設計,但是現在我更加關注加密貨幣,商業和人工智慧這些我想了解的。

我現在最大的專案是一個用 Python 寫的加密貨幣投資機器人,我認為它很有發展潛力。

我也對學 UI/UX 設計給我的網站開發好的主題和設計感到非常興奮。

總結

我真的希望你喜歡這篇文章。對於那些和我年齡相仿並且正在考慮成為一名程式設計師的人來說,不要只想,而是要去做!這是迄今為止我在知識和職業方面所做的最令人驚訝的事情,你開始得越早就會做得越好。

原文連結:https://medium.com/better-progra

相關推薦

內容簡介

全書一共7章,主要講解了如何利用Maven快速地搭建SpringMVC的Web專案、jQuery的各種函式和方法呼叫、前端開發框架Bootstrap、如何對常見的jQuery和Bootstrap外掛進行HTML擴充套件、關係型資料庫MySQL及其連線方法、AdminLTE及其囊括的大量可直接投入專案使用的元件、From表單等內容。除此之外,本書包含大量原始碼例項,其均是完成的專案開發程式,並可在此之上進行二次開發,這樣就能夠幫助讀者融會貫通,快速地完成一個企業級Web應用程式的設計,使讀者在實戰中學到技術的精髓。

本書內容全面,貼近實際,可作為所有Web應用及站點開發人員、相關專業讀者的參考用書,也可作為高等院校、高職高專院校網站設計課程的教學用書。

  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 2019世界智慧製造大會在南京舉行