2017 年,出现了许多不同的开发职位。
如果你刚接触编程,要决定编程方向会很困难。
你是应该专门从事前端开发呢?
还是后端开发?
是构建桌面 App 呢?
还是移动端 App 呢?
是选择 VR 还是自动驾驶呢?
编程路上太多选择...你该如何在一开始就选择正确的一个?
如果你有过同样的担心,现在我可以告诉你,解决办法来了。你不用在编程早期就为自己要走的方向下定义。
让我通过篮球作为比喻来解释。
在篮球比赛中,有着许多不同的位置......例如控球后卫,得分后卫,前锋,中锋。每个位置根据个人的技术能力都有着许多不同的玩法。
如果你对篮球感兴趣也想开始的话,你不会从始至终地选择同一个位置。如果那样的话会严重限制你的篮球能力发展。相反地,你尽管开始玩,随着你经验的增长,你会自然地朝着你所擅长的和你喜欢的位置走去。
编程也是同样的道理。你不能够期盼着知道哪种编程语言是你将会擅长的和最吸引你的。相反地,你只需要开始......随着时间的推移你会明白什么是你擅长的和哪些是你不太熟悉的。
如果你正在经历着对于这个领域里开发者的类型数量感到迷茫甚至困惑,那么这篇博文正适合你认真阅读。
我们写这篇文章就是要帮助你突破思维麻痹,开始编程,然后就会逐渐明白你所喜欢的东西。
这里有18个建议来帮助你做好它。
建议 #1: 随 HTML 和 CSS 建立项目
使用 HTML 和 CSS 建立并开始一个简单的网站是相当容易的。这些技术架构的基础是一种通过浏览器给用户以信息的方式。
与 HTML 和 CSS 一起工作将会引导你编写代码,使用文本编辑器并激发你对开发工作的感觉。除此之外,无论您最终遵循了什么样的编码路径,都非常实际地获得了对构建网络基础模块的基本了解。
建议 #2: 开始一个副项目
为了一个项目开始计划,并实现这个想法。即使你不知道怎么去编码,你也可以开始头脑风暴来画出图形,展示如何将其融入到生活中。把它放在纸上会激励你开始取得进展,并使其成为现实。
建议 #3: 尝试前端开发
前端开发就是编写在用户 Web 浏览器中运行的代码。
编写前端代码的时候,会与 Web 应用的可视化元素紧密联系。
除此之外,前端开发者还要负责编写使用页面流畅并能适应浏览器大小的页面代码。前端开发者有时候也会写一些非常酷的动画来实现应用程序像素状态之间的转换。
建议 #4: 参加聚会
编程相关的聚会可以让你在真实世界遇见其它开发者,相互进行交流。当你亲自和其他开发者交谈的时候,它可能会给你一些不错的观点。
试着参加一些聚会并向其他开发者学习从不同的角度去考虑问题。注意你遇到的程序员是什么样的类型,会决定他们的视角和观点。
建议 #5: 在 YouTube 上观看研讨会
世界上一些最好的程序员会在会议上发言。这些谈话可以让你接触到不同的专业思维模式,这些思维模式能启发你去思考什么是你想做的。
建议 #6: 回答 Quora 上关于学习编码的问题
把你喜欢的编程相关的知识写起来,这会有助于你进一步发现自己的兴趣所在。你也可以收获别人热情的、非常棒的反馈。
与全世界分享自己的知识并不难,而 Quora 就是个不错的地方。
建议 #7: 给 Ruby 编程语言一个镜头
Ruby 是我个人热爱的一种编程语言。我建议你去尝试一下,并在最初的尝试中判断是否适合你,一个程序员的口味。
Ruby 是一种具有流畅语法的编程语言,这使它成为一种很好的入门级语言。当你深入学习,进入到语言的高级阶段(比如元编程),你会意识到它是一个令人惊讶的编程语言,强大而又灵活。
建议 8: 体验各种不同的技术
爱上一门技术的唯一方法就是去实际体验一番。在你的业余时间,去体验一下各种不同的编程语言、框架、工具以及程序包吧。体验一些你不怎么熟悉的事务可以帮助你了解自己喜好什么以及不喜好什么, 这样就能够帮助你专注于向前。
建议 9: 找个人和你一起学习写代码
这样做总能使你更加的负责且高效。你的学习搭档或许也会帮助你发现一些之前没有想到的方面,将你引导向一个最终会爱上的特殊领域。
建议 10:别忘了打好基础
也许成为一名专业的程序员有许多的方法可循,但即使是有这么多方法可循,基础都有着相同的重要性。
没有基础,在遇到像下面这样的一些麻烦事儿的时候,你就很容易陷进去:
写代码的时候事倍功半。
代码的解决方案总是不尽如人意。
如果不了解如何使用像算法以及数据结构这样的 CS 概念,解决起真实世界中的编程问题,其感觉就像是只用 9 号球杆打高尔夫一样。这样你就能搞定一切吗? 也许吧。不过比起那些对球杆型号如数家珍的选手而言,你的生涯之路更加痛苦且遥遥无期啊。
建议 11: 搞一搞数据库
数据库在几乎所有的网页应用程序上都有被用到。通过了解数据库是如何运作的,你就能明白如何做如下一些事情:
插入数据
移除数据
更新数据
获取数据
学习了这些玩意儿,你就能构建更加强大的数据库驱动型应用程序了。这几个同数据库进行交互的不同方面优势被简单地叫做 CRUD: 创建(Create)/读取(Read)/更新(Update)/删除(Delete)。
建议 12: 搞一搞 JavaScript
JavaScript 是一种相当怪异的编程语言。但使它变得奇怪的许多方面都是其真正强大和有趣之处。
JavaScript 是那些在使用之前根本没有时间来精确地了解它的脚本玩家来写的。
如何你正在 2017 年学习编程,你就需要去学习一定量的 JavaScript 技术。不管你喜欢还是讨厌 JavaScript,都要明白 JavaScript 在许多的编程领域都能派上用场。学习它的一些知识在一定程度上对你的编程生涯是有实际意义的。
建议 #13:开始写技术博客
通过写复杂的编程想法,你将会在大脑里更好理解这些概念,同时向其他人展示你的独特视角。除此之外,写博客可以引导你直达真正关心的闪光点。
毕竟,你不会花几个小时写一篇你不感兴趣的技术文章。
建议 #14:尝试在 StackOverflow 解决问题
对 StackOverflow 的贡献是一个强有力的评价指标,说明您真正擅长什么方面的编程。
如果你解决了一个在 StackOverflow 上没有很好的答案的问题,那就花几分钟时间在这个问题上发布你的答案。
这不仅能帮助引导你,这种付出还能带来回报。比如你在 StackOverflow 上问了一个问题,就有很大希望被应答。上个星期我就遇到这种事。
建议 #15: 学习如何研究
不论你想做自动驾驶汽车、web 应用、还是虚拟显示设备......你都需要弄清楚如何研究。这是成为一个开发者重要的一部分。你需要学会如何将互联网作为研究工具。
您将要学习如何将问题转化为 Google 关键字进行搜索并得到答案。无论您想要达到什么样的专业程度,这种技能都非常有价值。
建议 #16: 尝试构建响应式 Web 应用程序
响应式 Web 应用程序是适用于用户与您的应用程序在指定设备进行交互的程序。 例如:台式电脑,手机和 iPad 。
人们将与您建立的应用程序以许多不同于您设想的方式进行交互。 学习如何在所有设备上构建惊人的用户体验对于所有类型的开发人员来说都是非常有价值的。
建议 #17: 花时间学无障碍相关技术
网站是要被所有人访问的。这部分人中有一些人需要的交互方式可能会与你有所不同。
典型的一个案例就是考虑盲人如何使用屏幕阅读器设备与 Web 应用交互。 屏幕阅读器无法知道图像的外观。 这也就是为什么像替代文本(与图像一起显示的图像的纯文本描述)对于需要和使用这种设备构建的应用进行交互的人来说,是非常有用的。
建议 #18: 不要做无用功
所有好的程序员都有一些特定的特征,这些特性真正具有专业性。
所以不用担心在成长过程中提前选择一个发展的路径方向。 专注于这些技巧,并积累成你跨越各行各业的基本技能。
如果你刚刚涉猎或者已经编码有一段时间了,而且你没想好你准备编程到什么时候,这就够了!
最好的篮球运动员在刚开始时也不知道他们想打什么位置。 直到他们弄清楚自己擅长什么,最终专注于挖掘自己的优势。
编码之旅也是如此。 在开始之前,您不必知道一切。 只需开始编码,并朝你有热情的方向前行!