登录
首页 >  数据库 >  MySQL

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

来源:SegmentFault

时间:2023-02-24 16:05:42 209浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《全栈开发:2017年你最好的选择[翻译]》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

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

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

公认的全栈工程师的定义是:"全栈的意思是开发者能够熟练的掌握前端和后端的开发技术."。从技术的角度来说,这并不是行业设定的标准,这是技术进化的一面。一个全栈工程师经常努力去学习开源的技术去应用到他/她的工作当中。我认为全栈工程师是一个以下技能的简化组合:前端开发+后端开发+开发运维+设计。
为了做一个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的云主机来做负载均衡的实践。祝你早日实现全栈的梦想,吃好,睡好,保持好精力。

原文链接

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>