资讯专栏INFORMATION COLUMN

全栈开发:2017年你最好的选择[翻译]

selfimpr / 2620人阅读

摘要:全栈开发是一个学习实现提高的过程。解除对开发人员的限制所有的职业都在持续的进化。哪怕是爆炸和拥挤的印度招聘市场,全栈工程师在年也非常的抢手。印度的创业公司已经开发意识到全栈工程师的重要意义,全栈会越来越重要。

在不断壮大的招聘市场上,最需要的是有非常广泛技术栈的人。

前言

敬爱的读者,大家好。大家经常讨论的话题是作为一个软件工程师是一个持续学习的过程。因为现有的趋势和技术在软件领域会很快过期,每个人都要做好随时做出改变的准备。这将会是一个持续而单调的过程,放松对于我们来说是奢侈的。
在招聘市场上会有很多开发和工程师的工作,尽管数据科学和分析、
大数据专家、AI专家在最近三年已经上升了很多,但是还是没有和全栈开发或者全栈工程师的需求在一个数量级上。
在IT领域,除掉一些专业性的领域,只有几个是最热的。什么原因呢?这是由于某些技术的饱和以及很多创业公司挖掘新的业务导致的。创业公司和微服务爆炸式的增长引起了一系列技术人员需求。,在这些里面,全栈工程师就是其中一个。

为什么全栈工程师这么受欢迎

公认的全栈工程师的定义是:"全栈的意思是开发者能够熟练的掌握前端和后端的开发技术."。从技术的角度来说,这并不是行业设定的标准,这是技术进化的一面。一个全栈工程师经常努力去学习开源的技术去应用到他/她的工作当中。我认为全栈工程师是一个以下技能的简化组合:前端开发+后端开发+开发运维+设计。
为了做一个web应用,一个全栈工程师应该知道怎么样去配置,优化,自动化部署应用

全栈工程师是一个广度优先搜索

如果你学过图论,你应该遇到过图的遍历算法,每个学计算机的人都应该知道这些。

BFS(广度优先搜索):一种首先搜索根节点所有的临近节点,再递归进行搜索的遍历算法。

DFS(深度优先搜索):一种首先搜索根节点最大深度的节点,再回来继续按同样的方式搜索其他节点的算法。
那么,你学哪一种?DFS还是BFS?

这是一个个人的选择问题。一个博士生可能更倾向于选择深度优先学习方法因为他/她可以缩小他们的工作范围到一个模块。但是在2017年做专业的软件开发工作,你并没有充足的时间来构建、测试和修复你的应用。

一个全栈开发工程师是一个广度优先的学习方法,你要尽可能的去学习多个领域(像前端开发,开发运维等),然后在后续的工作中再去加深你在这些领域的理解。当你在学校的时候,你在同时学习多门课程的过程中使用的是BFS算法,所以这个技术你应该很熟悉吧。O(∩_∩)O~~

作为一个全栈工程师,你需要顾全一个应用从开始到结束的所有阶段,你需要在各方面亲力亲为,然后深入挖掘。你学的越多,你对你的团队就越有作用,你也会越来越牛B。

在2017年,公司需要一个人掌握更多的技能。这不像是找一个大家都不知道的领域的传统的候选人。拥抱开源让很多机会都摆在了你的面前。

你在学习方面有热情吗?

如果你是有非常强的学习能力,又对尝试新的事物非常热心,那么这个职业将会非常适合你。全栈开发是一个学习、实现、提高的过程。

持续的工作将会给你带来各种不同的视野,你可以将这些都应用在开发中。作为一个全栈开发工程师,为了解决问题,你需要去知道怎么去开发,用哪种方法,怎么样去面对一个新的需求。

解除对Web开发人员的限制

所有的职业都在持续的进化。计算机科学和软件开发也不例外。不久以前,人们还习惯于雇佣一个专家去做一个任务。但是现在,在云计算的时代,一个掌握更多技术的更适合现在的情况。就像在儿童动漫中皮卡丘进化成了雷丘,一个传统的web开发现在也正在向全栈开发工程师转变。在这个领域这些改变是毋庸置疑的,我将会在下面说明。

谁是全栈开发工程师?

全栈开发是一个相对性的术语。就像色谱中的波长范围一样,全栈开发工程师需要的技能是根据需求而定的。但是我认为,一个合格的全栈开发工程师需要以下技能:

能熟练的使用CSS&JS(查询,单页应用,DOM和ES6),知道自动化工具(Grunt,Gul)和Browserify。

至少熟悉一个web框架。比如:Djiango或者Node JS等。

使用过SQL或者NoSQL数据库一段时间(MySQL,MongoDB).能很好的进行数据库建模,会实现高级的查询和SQL join语法。

知道如何在AWS EC2用Apache2 或者Nginx 作为一个web服务器去部署代码。会使用Docker或者虚拟化环境部署工具

可以用不同的组件设计web应用,有足够的能力对架构重构有一定的见解

选择最好的解决方案并持续优化

可以使用Chef或Ansible周期性自动发布应用。自动化记录日志和故障检索。

喜欢转变环境,从一个领域到另一个领域,或者一个技术到另外一种技术,并且能够很快的完成任务。

有能够用JS、Chrome插件和渐进式的web应用的方式开发hybird移动App。(译者注:I"m dead

为什么你要选择全栈开发?

当有多个职业可以选择的时候,为什么我们要选择全栈开发?首先,它可以让你一直学习新的事物。技术变化非常快,长时间做同样的工作会让你的职业生涯毁掉。你懂的越多,你就越有价值,你可以在各方面有更好的见解。
其次,这个工作钱多。(译者注:说的好)如果你是一个全栈工程师的话,选择多并且钞票多。在Indeed.com上一个薪资调查显示,旧金山全栈开发工程师的平均工资是$130,576/年,一个传统的web开发工程师的平均工资是$94,614/年。
哪怕是爆炸和拥挤的印度招聘市场,全栈工程师在2017年也非常的抢手。印度的创业公司已经开发意识到全栈工程师的重要意义,全栈会越来越重要。多数城市的软件公司都在招聘软件全栈开发工程师。

考虑负面的影响

做全栈工程师也有一些确定,所以并不是所有人都适合做全栈工程师。有以下确定:

人们可能会说你门门了解,没有哪一门精通。尽管这些可能有一部分是对的,但精通你使用的技术是你自己的责任。开一个博客,经常记下当前项目中对你有帮助的笔记,也许以后你能用的到。

对于新手来说,你需要工作来证明自己,可以在创业公司做全栈工程师。只有少数人可以在开始阶段获得很大程度的自主权。对于大多数人来说,公司决定了你在开始阶段将会做哪些工作。所以最好在出大学校园之前就做好规划。

为什么又如何能成为一个全栈开发工程师

我很自豪的称我自己为全栈开发工程师(在理论上和实际上)。你可能会说没有人是完美的。这是真的。我离完美差的远呢。我正在精通全栈开发的路上,而且在前三年的职业生涯之旅上经历了酸甜苦辣。许多事情已经改变,或者正在改变,我写了这篇文章而你恰好读到。就像我我开始跟你说的一样,全栈开发并不是一个精确的定义。它是一个持续性的学习过程,全栈开发的关键是旋转按钮,而不是打开和关闭开关。(译者注:这点很值得思考)
我的职业生涯开始于Python和Flask,然后学习了数据库,像MongoDB和MySQL,缓存使用Redis,提交代码使用Git,使用javascript,学会理解Celery和RabbotMQ的事件处理机制和消息队列的原理。在那之后,我使用Diango框架,我又熟悉了AWS和Nginx web服务器。我使用CoffeeScript和Backbone JS,也用过Angular JS取为公司开发Chrome扩展。因为我在几家很优秀的创业公司工作,我有很大的自由度去做这些工作。我打心底感谢他们。

写在最后

我给后来开发者的建议如下:
要一直保持学习的热情。不要知道了就止步。可以参加技术研讨会和科技大会去发现最近开发流行的技术。不管是开发运维、UI/UX或者是后端开发,这取决于你。保持阅读的良好习惯,多动手实验。不要害怕CSS。(译者注:(⊙o⊙)…)买一个AWS的云主机来做负载均衡的实践。祝你早日实现全栈的梦想,吃好,睡好,保持好精力。

原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39454.html

相关文章

  • 全栈开发2017年你最好选择[翻译]

    摘要:全栈开发是一个学习实现提高的过程。解除对开发人员的限制所有的职业都在持续的进化。哪怕是爆炸和拥挤的印度招聘市场,全栈工程师在年也非常的抢手。印度的创业公司已经开发意识到全栈工程师的重要意义,全栈会越来越重要。 在不断壮大的招聘市场上,最需要的是有非常广泛技术栈的人。 前言 敬爱的读者,大家好。大家经常讨论的话题是作为一个软件工程师是一个持续学习的过程。因为现有的趋势和技术在软件领域会很...

    fireflow 评论0 收藏0
  • 全栈开发2017年你最好选择[翻译]

    摘要:全栈开发是一个学习实现提高的过程。解除对开发人员的限制所有的职业都在持续的进化。哪怕是爆炸和拥挤的印度招聘市场,全栈工程师在年也非常的抢手。印度的创业公司已经开发意识到全栈工程师的重要意义,全栈会越来越重要。 在不断壮大的招聘市场上,最需要的是有非常广泛技术栈的人。 前言 敬爱的读者,大家好。大家经常讨论的话题是作为一个软件工程师是一个持续学习的过程。因为现有的趋势和技术在软件领域会很...

    Scliang 评论0 收藏0
  • 全栈开发2017年你最好选择[翻译]

    摘要:全栈开发是一个学习实现提高的过程。解除对开发人员的限制所有的职业都在持续的进化。哪怕是爆炸和拥挤的印度招聘市场,全栈工程师在年也非常的抢手。印度的创业公司已经开发意识到全栈工程师的重要意义,全栈会越来越重要。 在不断壮大的招聘市场上,最需要的是有非常广泛技术栈的人。 前言 敬爱的读者,大家好。大家经常讨论的话题是作为一个软件工程师是一个持续学习的过程。因为现有的趋势和技术在软件领域会很...

    aisuhua 评论0 收藏0
  • 参考 - 收藏集 - 掘金

    摘要:译年你不能错过的类库后端掘金各位读者好,这篇文章是在我看过的一篇介绍文后,整理出来的。上线后平稳运行我的后端书架后端掘金我的后端书架月前本书架主要针对后端开发与架构。 【译】2017 年你不能错过的 Java 类库 - 后端 - 掘金各位读者好, 这篇文章是在我看过 Andres Almiray 的一篇介绍文后,整理出来的。 因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上...

    feng409 评论0 收藏0
  • 参考 - 收藏集 - 掘金

    摘要:译年你不能错过的类库后端掘金各位读者好,这篇文章是在我看过的一篇介绍文后,整理出来的。上线后平稳运行我的后端书架后端掘金我的后端书架月前本书架主要针对后端开发与架构。 【译】2017 年你不能错过的 Java 类库 - 后端 - 掘金各位读者好, 这篇文章是在我看过 Andres Almiray 的一篇介绍文后,整理出来的。 因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上...

    zlyBear 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<