GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

16 岁的我是如何成为全栈开发人员的?

2019 年 9 月 05 日

16岁的我是如何成为全栈开发人员的?

故事要从我 14 岁那会说起。当时的我学过 PHP、HTML/CSS 和 JavaScript,而且对自己的朋友充满嫉妒。



作为在网上发布的第一篇“严肃”文章,我想从自己的成长经历谈起——当然,之后我还会更新更多文章,毕竟学无止境嘛。


先来解决第一个问题:我是谁?我叫 Nuno,今年 16 岁,来自葡萄牙。今天,我想跟大家聊聊我是如何成为一名全栈开发者(至少算是广义上的全栈开发者)的。


首先,我觉得我这个年纪的人接触编程并不算什么新鲜事。因为我身边就有很多同龄的朋友,他们特别希望能够开发出像《侠盗猎车手 5》或者《皇室战争》这样的游戏,而且有几位还真的就开始了追梦之旅。他们学习编程、热爱编程,如今开始着手开发自己的独立游戏作品。


第二,随着市场上应用程序的数量越来越多,很多年轻人借此成了百万富翁(例如 Mark Zuckerberg 和 Evan Spiegel)。他们的创业思路看起来非常简单,所以很多年轻人会想,“我为什么不试试运气呢?”


但也有不少人看到代码就觉得害怕。反正每次我向兄弟姐妹展示自己的代码时,他们就连连摇头,“看不明白你在写什么东西。”


我妈妈也差不多是这样,她看到我用 C#编程之后,关心地问我是不是在做炸弹。当然,她是在开玩笑,因为她最后笑场了。但我确实得向她解释,我这是在编程。


我爸爸完全不知道 Python 是什么,所以我打算帮他写一个简单的 Python 脚本来完成某些自动化操作。不过在向他解释必须单击文件才能让脚本运行时,他看起来一脸迷茫。


无论如何,即使面对着如此恐怖的代码,很多年轻人仍然义无反顾地愿意投身进来。事实上,编程本身的难度也确实在逐步下降。看看互联网上那么多的框架和库吧,储量丰沛,专为简化流程而生。代码本身虽然枯燥,但学习的过程却丰富多彩。


我的编程之旅:起点

我一直很喜欢互联网和信息技术。我 2003 年出生,所以我接触的第一台计算机上装的就是超经典的 Windows XP。我真的很喜欢 XP,它简直太棒了。我花了好几个小时玩弹珠台游戏,还用画板应用涂涂划划。另外,我还玩了一会儿《疯狂出租车》和《模拟人生》等游戏。总之,我对技术很感兴趣,而且总想知道眼前的事物是怎样运作的。


大概是七岁的时候,我有了自己的第一台电脑。在葡萄牙,家长通常会在小学二年级的时候给孩子买台笔记本,就是下图里这台。它叫“麦哲伦(Magalhães)”,纪念的当然是葡萄牙探险家麦哲伦啦,这是二年级小孩们最想要的东西了。里面预装了不少教育课程,对 7 岁的孩子来说就像是个全新的世界。它使用的是 Windows 7 系统,这套系统对我来说就像是宇宙里最精彩、也最宝贵的东西。



麦哲伦 2 代——2010/2011 年时 7 岁小朋友们最想要的礼物。


但“王权没有永恒”,最后这台电脑坏了。我爸爸把它送去修,虽然毛病修好了,但运行速度变得很慢,基本没法用。(我说的「用」,就是拿来玩游戏。我那时候特别喜欢玩游戏。)


接下来我又有了第二台电脑,我记得我爸爸还买了一台坏的麦哲伦电脑,打算出毛病的时候拆上边的配件来换。可能他觉得无论我的东西出了什么问题,他都能修好吧。但无所谓的,因为我终于有了一部台式机,虽然没有麦哲伦那么有趣,但性能可要好得多啦。


就在这时候,我突然冒出了一个改变了自己人生的神奇念头:既然我爸修不好原先那台麦哲伦电脑,我想我可以用配件组装一台个人游戏机。



OUYA,这是我编程旅程中最重要的灵感来源。


当时的我,并不知道自己的决定意味着什么……


我当时听说过一台名叫 OUYA 的主机,它给我留下了非常深刻的印象:这是一台基于 Android 系统的全新主机,能够自由修改并创建游戏。所以,我想弄一台只属于自己的麦哲伦游戏主机。


相信大家肯定能想到,我当时没能——实际上到现在也不能——完成这项目标,其中涉及的专业知识量多得惊人。但我还是非常兴奋。在阅读了互联网上的一些文章之后,我决定学习 C 语言加汇编语言来构建自己的操作系统。


我真的感觉这事不是很难……


然后,在看到第一行汇编代码的时候,我就哭了。好吧,并没有真的哭出来,但大家应该明白我的感受。


一个美好的主机梦,就这样胎死腹中。


时间快进到几年之后,我和朋友又打算创办一家像微软或者苹果这样的公司(当时我 13 岁)。这又是个令人兴奋的打算,我们会开发众多程序与应用、声名大噪,然后每天坐着数钱。



这就是我们的梦想……


那还等什么,马上开始吧!那么,创建这家大企业、豪赚数百万欧元的第一步应该是什么?


对了——先创建一个 Facebook/Twitter 页面。


在此之后,我们又开始动手创建应用与程序。但那时候我和我的朋友还完全不懂编程,一点也不懂。我们做的事情跟 Python、Java、PHP 甚至是我的老朋友 C 语言一点关系都没有!


那我们是在干嘛?实际上……


我们根本就没有学习编程。相反,我们觉得可以在 YouTube 上建个频道,专发如何使用 Visual Basic 创建一款网络浏览器。


对我们的这家大公司来说,这真的很有创意,对吧?


而且不怕告诉各位,我们的浏览器真就成功了!我甚至在 Weebly 上创建了一个网站(加上.com,我设法说服父亲给我买了个域名,真的)将其分享给全世界。


但是,没人关心我们的成果。


但这无所谓。首次尝试,代表着我正式踏出了编程学习的第一步,也是我如今能够成为开发人员的原因所在。这是我第一次接触 Visual Basic(之前我也试着学过 Java,但放弃了)并真正开始编程(虽然我所做的,只是复制粘贴教学视频里的内容)。


我的编程之旅:真正的起点

现在,我要说说如何正确学习编程了。


在有了以上愉快的经历之后,我意识到自己必须认真学习编程,而不能只靠 YouTube 视频帮自己构建那些实验性的网络浏览器。我想要实现更多!



这个网站真的对我帮助很大!


我要向大家隆重介绍我的恩师: Codecademy!


Codecademy 是迄今为止我在编程学习过程中接触到的,最令人惊叹的网站之一。它跟 freeCodeCamp 有点类似(我去年才知道这个网站,它同样非常出色),但我觉得 Codecademy 在某些方面做得更好。


我的第一段历险是探索 Python 世界。Python 简单、快速、有趣,是最理想的编程学习起点!它跟英语只有一点点区别(英语老师说我英语学得不错,可能这也是我喜欢 Python 的原因吧)。


学了一阵子之后,我的好奇心更加强烈。所以我开始学习 PHP,当然只是出于兴趣(我不想开发网站,网站真的很……无聊)。我有个朋友,是 PHP 方面的天才。听了他的建议,我也踏上了这条学习的道路。


很快,我就掌握了 PHP 和 Python 的基础知识。但是后来,我发现了一个 YouTube 频道,它彻底改变了我的开发思维。这是一个巴西频道,名叫Curso em Vídeo,里面有不少编程课程,来自一位名叫的 Gustavo Guanabara 优秀大学老师。


这个频道让我真正朝着专业的方向迈进。


我在这里上的第一门课程叫作算法与编程逻辑。学习编程逻辑非常重要,有了对它的理解,我才能真正消化很多编程基础知识。


在此之后,我开始专注于学习 PHP、Java(我最大的梦想,因为我一直想开发 Android 应用)、HTML/CSS 以及 JavaScript(现在对我来说非常重要)。


我也尝试过学习一点 C 语言知识(只是基础),并发现这真的是有门槛的。例如,我在理解指针的概念时就感到非常困难。但至少我已经了解了最基础的情况,能够编写出简单的 C 程序了。


我的编程之旅:学习大量编程语言,并找了一份“工作”

在完成以上工作后,我感觉并不开心。因为在最初开始学习编程时,我最大的梦想就是能够开发出自己的桌面和移动应用程序。但出于某种原因,我一直不喜欢开发网站,到现在也不喜欢——而且我也说不出个所以然来。


我的一个朋友(就是当初那个打算跟我一起开大公司,而且很擅长 PHP 的朋友)告诉我,他认识的一个人手头有个大项目,前景光明、没准能发展成一家真正的企业。


这个项目……是开发网站,后端加前端。


但作为一个 13、14 岁的孩子,当时的我并不关心这些。我想的是,既然朋友都参加了,那我也得参加。虽然学习的内容多了一点,但我毕竟也只是个普通的同龄人,那么大的时候大家都又愚蠢又容易嫉妒。反正朋友能去的,我也得去。


我跟朋友提到的那个人谈过了,最终决定以股权的形式(大约是占股 10%)帮忙开发网站。这个项目,还有他们的计划,都让我非常振奋。


好了,这就是我第一份“工作”的故事:我当时 14 岁,学过 PHP、HTML/CSS 和 JavaScript,而且对自己的朋友充满嫉妒。


挺“专业”的吧~


现在如何?

现在我 16 岁了,我的编程之旅也远没有止步。在意识到 Web 开发与移动开发将成为我的饭碗之后,我开始学习更多关于 PHP、数据库(MySQL 与 MongoDB)、API、JSON、HTM/CSS 及其框架(Bootstrap、Sass/Less 等)甚至是 JavaScript(ES6、Node.js 等)的专业知识。


刚开始我打算学习 React,而且在它、AngularJS 和 Vue.js 之间挣扎了很久。但事实证明我选对了,学习 React 的过程中我接触到了 React Native,这帮我一步步走近自己心中的移动应用开发梦想。


现在,我想我已经掌握(至少了解)了以下技术:


  • HTML/CSS (及其框架)

  • JavaScript (MERN stack、NodeJS 等)

  • PHP (但我很后悔没有学习 Laravel, 目前只会用CodeIgniter)

  • 数据库 (MySQL、MongoDB)

  • Java

  • Python

  • C# (只会一点点,好在它跟 Java 比较类似)

  • C (会一些。我用得不多,主要是用来摆弄 Arduino)

  • API (了解如何开发并使用 REST API)


现在,我再不像以前那样专注于编程。我喜欢编程,每天也都在做相关工作,但我更关注加密货币、商务以及人工智能,这些都是我接下来的学习重点。


我现在最大的项目就是用 Python 编写的加密货币投资机器人,我觉得它有很大的发展潜力。


另外,我很庆幸自己学习了 UI/UX 设计,这些知识为我在网站上开发出良好的主题与设计做出了重要贡献。


总结

希望大家喜欢这篇文章。对于那些跟我同龄,而且也在考虑学习编程的朋友们,我的建议是:不要想,马上去做!编程是我在整个人生中最难忘的一段历程,同时也让我有了丰富而精彩的回忆。总之,这段旅程越早开始越好!


原文链接


How I Became a 16-Year-Old Full-Stack Developer


2019 年 9 月 05 日 15:536356

评论

发布
暂无评论
发现更多内容

程序员写个人技术博客的价值与意义

Java架构师迁哥

架构师训练营01周 -- 命题作业

骏马

极客大学架构师训练营

同事为进大厂天天刷Java面试题,面试却履败!究其原因竟是它在捣鬼。

Java成神之路

Java 程序员 数据结构 面试 算法

Vue-防止重复点击指令

老菜鸟

Vue 指令

食堂就餐卡系统设计

一个节点

极客大学架构师训练营

Week 1 命题作业

阿泰

一周信创舆情观察(8.24~9.13)

统小信uos

云图说 | 通过Helm模板快速部署中间件应用

华为云开发者社区

容器 k8s

聚焦2020云栖大会 边缘计算专场畅谈技术应用创新

阿里云Edge Plus

多方计算——打开区块链应用新场景

CECBC区块链专委会

区块链 大数据

架构师训练营1期第1周:架构方法 - 总结

piercebn

极客大学架构师训练营

阿里云发布边缘计算视频上云解决方案 为海量视图处理提供城市级云基础设施

阿里云Edge Plus

边缘计算

洞爷湖-安静与灵动

刘旭东

摄影 摄影征文 洞爷湖 北海道

不正经的计算机专业学生拍摄照片分享

王荣胜

摄影

司法区块链破解互联网案件审判难

CECBC区块链专委会

区块链技术 不可篡改 法院

让冰城的温暖冬天,不再有“隐秘的角落”

脑极体

拥抱K8S系列-08-通过rancher部署nginx应用

张无忌

nginx Kubernetes rancher

架构师训练营 - 第 1 周课后作业(1 期)

Pudding

期末大作业(一)

武鹏

云栖大会CDN技术专场:如何构建企业级内容分发加速体验?

阿里云Edge Plus

CDN

微服务 API 网关kong的爬坑之路

Dream

微服务网关 kong

从构建小系统到架构分布式大系统,Spring Boot2的精髓全在这里了

Java成神之路

Java 编程 程序员 面试 Spring Boot 2

面试官:谈一下你对DDD的理解?我:马什么梅?

艾小仙

Java 架构 编程语言 领域驱动设计 DDD

从开源协议到谷歌禁用华为、Docker实体清单事件

艾小仙

GitHub Linux 开源 编程语言 开源许可证

架构方法周总结第一周作业「架构师训练营第 1 期」

天天向善

学习

食堂就餐卡系统UML设计 - 架构师训练营第1周作业

netspecial

极客大学架构师训练营

并发+JVM+Redis+MySQL+分布式+微服务等及阿里等大厂最新面试问答

Java成神之路

Java redis spring 面试 JVM

机器学习在滴滴网络定位中的探索和实践

滴滴技术

人工智能 学习 滴滴技术

加速连接效率 阿里云推出5G消息使能平台MEP

阿里云Edge Plus

第一周总结

一个节点

极客大学架构师训练营

架构训练营 - 第1周课后作业 - 学习总结

Pudding

16岁的我是如何成为全栈开发人员的?-InfoQ