全栈开发人员

我读了《全栈开发人员》是前几天由Scott Hadfield撰写的神话故事。 当我读完这篇文章后,我意识到了两件事。 第一个主要要点是,对统一堆栈开发人员的含义没有统一的理解。 更多的问题是本文评论者的观点以及本文中提到的公司的观点。 它分享了我的经验,即公司如何与所谓的全栈开发人员打交道。 本文将阐明该观点。 在我回到全栈开发人员之前,让我给您一些背景信息。

几年前,也许是在2011年,如果有人问我:嘿,我最可能给出的答案是软件架构师的角色:我不知道。 我猜想框架和创建接口。 而且,是的,做一些概念。

当时,许多具有更多经验的开发人员称他们为软件架构师。 很难找到具有功能的开发人员。 当时的博客文章和开发者杂志中充斥着有关软件体系结构的文章。 这些文章讲述了什么是软件架构以及如何进行软件架构。 他们每个人都是不同的。 最常见的是标题。 没有其他的。 这些事实支持了我的论点:只有最少的人清楚知道软件架构师的角色。

软件架构师一词被过度使用,滥用和误解。

但这改变了。 今天,软件工程师,高级软件工程师,DevOp和软件架构师之间有了更明显的区别。 软件架构师的作用是通过编写/推迟主要决策,定义全局,通过团队编码来创建和验证概念来定义软件体系结构。 软件架构师可以通过添加原因并跟踪它们来处理所有重要问题。 我想说软件架构师是高级软件工程师的升级。

全栈工程师的最早定义似乎是Facebook工程师Carlos Bueno的帖子,他将其定义为对性能影响有深入了解的通才。 斯科特·哈德菲尔德

稀有行业与IT行业一样,不断变化。

不断变化是关键!

信息技术自诞生以来就可能发生变化。 我们发展得越多,我们就越了解,我们成长越快,我们看到的可能性就越大。

框架,技术和工作方式正在不断变化。 10年以前只有少数主题幸存。 10年前,我们几乎不敢相信持续发布和部署,但这已成为我们日常业务的一部分。 于是人们进化了。 我们中有些人曾经是C ++开发人员,然后切换到另一种语言。 我们中的一些人是特定领域的专家,另一些人则知道如何充分利用系统。 有些专家对特定工具有深刻的理解,有些专家几乎可以使用所有工具。

如果您了解软件Craft.io的运动,那么您可能会了解他们的价值观和对程序员工作的看法。 软件开发是创造力和Craft.io的独特结合。 编写代码可能被认为是日常工作,但是软件开发离日常工作还很遥远。 创建软件的过程并非一无是处,而不仅仅是创意,这是一个创造性的过程,一个体现为代码的设计。 单元测试,编写文档,构建软件,执行版本控制是重复性的任务,可以在日常业务中观察到。 以适当的方式做到这些,致力于目标,遵循原则并相信价值观是专业人员的指标。 无论是什么专业人士:医生,律师,会计师。 软件Craft.io鼓励软件工程师停止不可靠的工作,并为重要的事情提供见解,从而使专业人员得到提升。

软件工程师的这种愚蠢程度使他们相信软件只是一件有趣的事情?

与商业价值无关的东西吗? 如何相信这种行为对于公司而言可以接受? 我不知道。

让我再回到另一个方面,再回到完整的堆栈开发人员那里。 我被问到是否知道JUnit,我也使用哪个版本,是否参加过Scrum计划会议,有时甚至还不熟悉特定的Web框架。

那是多么疯狂? 不是因为有人担心我应该知道的工具集,而是因为以下几点:

有没有人问过木匠他是否知道锤子? 在哪种情况下,他使用锯,为什么? 或者他是否习惯使用某个品牌的螺丝刀? 还是他熟悉演习?

这些问题可能会触动非常年轻的学徒,尽管我对此甚至也不确定。 他们可能会问他们是否建造了大桌子或凳子,但仅此而已。

为什么我们的工程师问这些技术? 为什么要重点关注工具? 我最好的猜测:即将雇用下一位开发人员的客户希望确保他不必对自己的雇用进行过多的培训。 他希望工程师做好准备,而不是搞砸项目,就像他/她的前任那样。 软件开发人员在某种程度上具有这种不可靠且游戏怪异的感觉。

以技术为中心的方法使我们对技术感到自豪:“看,我是一个node.js开发人员。”,“嘿,我的专长是Scala。 我做了前端和后端”。 “我正在进行JUnit测试”。

技术的变化。 框架也是如此。 还记得JSP和Struts吗? 在2000年代初,我们认为我们可以使用这些工具来统治世界。 还有今天? 如果开发人员提到仍然使用Struts,他们就会感到羞愧。

那些了解最多的人自称为高级软件工程师,架构师,软件工匠或

全栈开发人员。

我将高级软件工程师,架构师和敏捷的软件工匠的各个方面合并为全栈开发人员。

全栈开发人员会抛弃特定技术,因为他们的理解已经发展。 他们将技术理解为生态系统的一部分,并且知道技术的变化比计算机科学的原理更快。 他们关心软件开发工作的每个方面。 全栈开发人员可能在特定领域专门工作,但是他们通晓多种语言,并且通过应用新的语言,工具和技术而感到自在。 他们知道技术一直在发展。 他们不会停滞不前过去的技术和知识。 他们学会了不要以为我们对软件开发了解的一切都是真实的。 在有限的情况下可能是正确的。

操作反应。 因果 —因果关系始终是他们为特定问题找到正确解决方案的考虑因素之一。 全栈开发人员将永远不会为所有解决方案使用唯一的工具或框架。 但是他们知道广泛的工具集。 他们选择合适的产品,并且始终意识到所花费的成本和收益。 他们总是在关注细节的同时看到全局。 关怀团队,设计可持续系统。

全栈开发人员具有一套一致的价值观和衡量标准,可以帮助他们和其他人在特定情况下实现最佳目标。 他们说不,他们说明了原因以及其他选择。 对他们来说,不同的项目并不是神奇的独角兽。 相反,他们理解每个软件都需要通过应用单独的操作来创造业务价值来实施一套独特的业务规则,但是软件仍然仅仅是软件。 只有更好的书面,更好的设计以及更具可持续性的Craft.io。

它们有助于建立和维护价值观,原则和措施的文化。 他们传播知识是因为他们通过分享和解释知识来学习。 他们帮助别人改善。 他们不断改进工作方式,代码,文档和测试。 整个产品反映了他们文化的重要组成部分。 他们添加了功能来支持他们的日常工作,操作和开发人员的经验,这使在项目上的工作变得很愉快。 全栈开发人员强调非功能性需求,并让魔术发生。 通过成为一流的学生,他们不惧怕其他文化的多样性,而是鼓励人们的多样性。 他们设计,构建,测试,运行和维护,他们将多种角色和职责合二为一。

也许他们不知道所有的一切,但是他们知道从哪里获取知识。 全栈开发人员可以在广泛的领域中工作,直到达到自己的极限。 但是他们有能力扩展这些范围。

和公司? 他们寻找具有广泛知识的专家。 他们试图做出最好的交易。 但是他们是否准备好应对导致聘请全栈开发人员的答案?

翻译自: https://www.javacodegeeks.com/2015/09/the-full-stack-developer.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值