网站开发人员必须知道的10件事,才能真正变得惊人

作者: Laura McKinney
创建日期: 10 四月 2021
更新日期: 16 可能 2024
Anonim
Starting up in Web3
视频: Starting up in Web3

内容

开发人员不仅需要代码生成的grunt工作者。我们期待着更多的数字生活,而正是这些人在打造数字生活,所以最好的开发者需要知道什么?这是我发现太多开发人员缺少的东西。这并不是详尽无遗,但正是这些品质使合理的编码人员变成了出色的开发人员。

但这不是一回事,特别是从来没有解析XML或优化代码的能力,这是令人惊讶的技能集合,这些技能在编写代码的书中没有讲到。它们有点多余。

为什么这样发泄?因为开发很重要,但是开发人员常常被分配到一个不同的世界,而并非总是由他们创造。这永远都行不通。开发人员-任何技术人员-总是蓬勃发展,这是那些知道如何不仅对代码了解的人。

01.编码不再削减


我们处在一个编码变得不那么令人印象深刻的世界。每个人都可以构建网站,其中一些可以编码,但您不必这样做。不再只是能够创建网站,应用和功能的书呆子。

自从网络出现以来,人们就可以自学,出现了自学成才的开发人员。但即使是毕业生也面临威胁。我得到了具有计算机科学学位,人工智能课程,各种媒体和编码的人的简历,但是仍然缺少一些东西。有时很多失踪。

我不是第一个这样说的人。 “编码不再减少”是第3章的标题 热情的程序员,以及诸如 语用思维与学习 敦促程序员超越代码来改善自己;成为负责任和完全人性化的团队成员。

广度和深度

开发人员需要通过两种方式变得更好:广度和深度。他们需要了解团队中人员互动以及所构建事物的广度。他们需要了解所使用系统的深度,直至操作系统。

不仅开发人员应该阅读这些内容。如果您正在与开发人员合作,我认为您应该期望更多的开发人员。让他们勾勒出他们在说什么。让他们用图片,对象和(有效的)裁剪方式向人们解释,该系统对于使用该系统的人来说将是什么样。


02.大警告

我会否定地谈论开发人员,但我认为我是允许的,因为我是其中一员。另外,因为我在这里谈论的至少一件事对我遇到的许多开发人员都是正确的。尽管他们的工作很棒,并且知道他们的代码,但是时代是竞争的。您需要具有优势,这是:

  • 更具技巧性

  • 很多 更人性化

03.互联网怎么说

搜寻“基本的网络开发技能”可以满足您的期望。框架知识,x浏览器,CSS和JS。它们列出了您应该知道的框架,必须编写的平台以及应关注的新趋势。

这些是我们的媒体。它们是我们构建的基础,但它们并不是使项目成功的关键。开发人员可以了解系统的每个细节,告诉您API的每个功能和新的CSS技术,但仍然会产生一些无法使用的东西。

了解媒介

像每个人一样,开发人员需要了解他们的媒介,但是他们也必须了解受众,无论是用户,团队还是其他开发人员。他们需要了解他们的媒介如何适应世界(换句话说,生产环境)以及其产生的影响(人们如何使用它)。

我看到这被形容为“广泛而深入”的人。广泛,因为您需要将世界理解为与其他人一起工作的人。深入,因为您需要低于项目部分级别的全面技术知识。这些开发人员极大地推动了您的项目并改变了项目的进度,如果没有这些开发人员,您会发现非技术人员陷入繁琐的细节中,而这些细节又会充斥着技术团队。


04.我们构建的东西

我最近写下了一份清单,其中列出了我们用于构建网站,管理主机和完成工作的所有内容,以便加入该计划的人可以在头几周内学习到一些技术要点。我们认为人们知道这些事情,所以为了让新兵有一个快速的起点,我们将列出我们每天使用的所有东西。

我期望有六种技术,但最终会得到更多。该列表(“我们使用的是什么”)包括常用的CMS,编程语言和浏览器技术,以及一堆团队甚至不记得自己使用过的工具。都是肌肉记忆。在命令行上键入“ git”,“ phing”,“ thor”,我们甚至都没有想到有人可能不会这样做。

构建工具; CI;用于版本控制的git被认为是理所当然的,但是回头看这些CV几乎没有出现。那些时髦的公司会出现(我想某些代理机构会加入其中,这是愤世嫉俗的吗?!),但往往没有具体的经验。

这些工具对于加速项目开发非常重要,因此请确保您拥有比您的语言,CMS和几个框架丰富得多的工具集。您需要部署,测试,CI,强大的版本控制(以团队为单位-而不是您自己),并且您需要了解这些内容的核心概念,而不仅仅是一些教程。

05. Devops

这些额外的工具和技巧完全适合人们所说的“开发人员”。 Devops面临着两个传统的孤岛:生产使事物保持运转,而开发则产生新事物(并且通常使事物停止运转)。筒仓导致两个阵营彼此之间很少同情。

不具备生产知识的开发人员通常会通过使用尚未在生产堆栈中使用的配置或功能来生产不适合生产的代码。由于他们不了解生产环境的问题,因此他们编写代码以完成功能,而不是将其部署到生产中。

这些小细节可能会造成痛苦的延迟,而将服务器管理发送到国外的趋势会加剧这种情况。

了解堆栈

Devops本身就是一个巨大的领域,包括持续部署和大量自动化。这是一个详尽的摘要,但是开发人员需要了解的关键是运行它们的堆栈。仅将其委派给服务器管理员是不够的,您必须了解平台对代码的影响。

如果您使用Rails,请阅读Rails代码并了解Apache如何执行Ruby。如果您使用Java,请了解配置选项。如果您使用的是Perl,请了解如何安装和配置Perl模块。

神秘的工作

“我们使用的内容”列表中包含很多此类内容,优秀的开发人员会一头扎进去,以了解所有这些神秘工作是如何完成的。一旦他们掌握了它,部署就会变得更快,工作部署也会更加顺畅,每个人都变得更加快乐。

devop的持续部署和相关实践正变得如此标准,以至于任何不执行此操作的开发人员或公司都将自己设置为被赶超。会有其他人开始这样做,然后他们会比您更快。

方便的工具

搜寻“开发人员”可以让您大致了解这些人使用的工具。它与PHP和MySQL或Rails无关。这与运输软件和使项目的风险小点保持零风险有关。他们专注于部署,自动化,并使从开发人员到生产环境的管道保持尽可能快的运行速度。

您会发现这种开发风格为您提供了彼此之间以及与其他部门和公司更好地合作的开发人员。如果他们使用的是来自第三方的API,他们将了解另一侧可能会出现的问题。与服务器管理员合作时,他们将了解他们需要安装的内容,以及他们在生产服务器上的软件站点。反过来可能会很痛苦...

06.开发人员将对其进行修复...也许

通过搜索“基本的Web开发人员技能”,可以找到Quora的Michael Greer(The Onion的CTO)的一个很好的答案:

  • 懒惰:拒绝执行任何操作两次:为此编写脚本或算法。
  • 怯ward:考虑测试,担心负载和代码影响
  • 鲁ck:不断尝试新事物,发布当日创意

怯ward是表达“注意细节”的一种好方法。调试和测试是开发人员进入W3Schools或开始计算101课程时没有提到的99%的生命。

修复应用程序的能力需要出色的问题解决能力,而不仅仅是调试代码。有时,解决用户无法下载发票的解决方案是使页面可打印,而不是花一天时间生成PDF。有时,链接可以代替一个星期的开发,但是如果开发人员仅通过编写许多代码行来解决问题,那么这种优雅的解决方案就不会发生。

尽管有很多工具,但对于许多开发人员而言,测试是一个绝妙的盲点。使用单元测试,硒,负载测试和性能分析工具,例如xhprof。通过诸如New Relic之类的分析来保持您的应用程序占用空间较小。并考虑这是开发人员工作的全部部分:这是您的代码,请确保您知道它按预期工作,而不是希望它能工作。

调试

调试也是一个痛点。不是如何使用调试器,而是如何调试问题-因此,我将添加到Michael Greer的列表中:

  • 急躁:积极地忽略不相关的信息以找到并解决实际问题

这是所有调试技术的基石。忽略无关紧要的事物,在相关的事物中寻找意义。不幸的是,许多人倾向于将无关紧要的问题花费数小时或数天,通过尝试10次相同的事情来解决问题。

关于调试的书籍很多(非常遗憾,不是我向出版商推荐的书籍),每个开发人员都应阅读所有书籍。一个真正优秀的开发人员可以在不看一行代码的情况下调试系统上的问题。

07.用户想要什么

了解您周围的人正在尝试做什么。享受这段代码–喜欢完美缩进CSS文件或优化Rails应用程序的艺术–但请记住,这一切都是有目的的。

开发人员需要了解业务,运营和业务流程,因为他们的东西有助于运行它。具有这些知识的开发人员能够构建可以帮助用户的软件和应用程序,但是它们通常看起来异常高效。这可能是因为他们的照明速度快,或者他们对电池堆的了解非常多,但是更可能是因为他们对用户的需求有所了解。

竞争市场

回到我的原始观点,开发变得越来越容易,优秀开发者的市场更具竞争力,只要能够理解业务需求并带来出色满足要求的开发者将具有优势。了解市场,客户以及他们为什么有钱的人都会有所帮助。

了解数据及其随着时间的变化。在开发人员的心中,他们应该将新技术与您当前或即将面临的挑战结合起来。这样,当您向总经理或客户提出新想法时,它将基于客户的实际需求,并从中获得预算/时间。 (相比之下,最糟糕的是开发人员将他们最喜欢的新技术作为我们所有疾病的解决方案来兜售。)

开发人员拥有很多控制权–他们是否需要知道数据库中的每个字段对最终用户意味着什么?如果我们更改数据,用户将看到什么?有没有更好的方法来帮助用户?DB管理员通常认为,世界是他们数据库的不良反映,而不是他们的数据库是真实世界的不良表现。世界是一团糟,令人惊讶地充满了边缘情况。 DB管理员,请处理它。

08.绘画与写作

绘画是传达什么样的东西最直接的方法。开发人员必须能够在白板,纸和啤酒垫上画出他们的想法。

开发人员必须能够在纸上原型,打印屏幕截图并在上面涂抹文字,以传达其意图。不要相信那些点头,表示理解并打开编辑器的开发人员。

廉价地失败:最好的编码始于作为快速原型的绘图。失败更多,并确保您周围的所有开发人员都做同样的事情,以使您更有可能成功。

09.尽情享受

而且,如果您必须花10个小时通过移动链接来解决问题,该怎么办?享受它-即使这只是完成工作的挑战。

开发人员(或任何人)最糟糕的态度是对团队正在尝试实现的目标漠不关心。不幸的是,这很常见,因为开发人员认为自己不属于团队所取得的成就。 (热情的程序员 提出了一个问题,“您能使工作变得更有乐趣吗?” –试试吧。
并准备好以相反的方式来展示您的工作:尝试将Ruby上的一些教程尝试为“ Ruby的经验”,请不要扩展!

Web和应用程序开发仍然是一个年轻职业,但是真正伟大的开发人员需要的技能正在扩展。每个人都应该期望更多的开发人员,因为我们所有人越早从讨厌的后台走出来并参与创作过程,结果就会越好。

10.保持敏锐

为了使第10轮比赛顺利进行,我将添加最后一件事。集中注意。寻找竞争。最糟糕的事情就是孤立。

“在您所在的每个乐队中,永远都是最坏的人。”

最坏的-真的,最坏的-程序员,编码员,设计师学习他们的知识,并为自己的桂冠而休息。没有起搏器,放慢脚步就太容易了,而又看不到竞争,这就会成为养成高于平均水平的习惯。

因此,如果发现更好的方法,则可能会变得最糟。加入工作以外的项目,做出贡献并寻求反馈和批评,因为您得到的批评越多,将来人们给您的反馈就会越少。当您猜测他们想要的东西比他们想要的更好时,您就是每个人都想要的忍者开发者。

Dan Frost是全方位服务网络公司3EV(AWS的官方合作伙伴)的技术总监。他从事CMS和Web应用程序开发已经七年了。

喜欢这个吗?阅读这些!

  • 如何建立应用程式
  • 设计师最好的免费网络字体
  • 探索增强现实的下一步
今天爆裂了
编写更好的CSS的6个步骤
阅读更多

编写更好的CSS的6个步骤

我们都去过那里。慢慢打开最新C 样式的 tyle .c 文件时,您会发现它的长度为2,000行,您需要更改的类在中间。您一个人,很害怕,不知道是否可以编辑该课程,因为它可能会使完全不同的页面上的内容翻倒。作为最后的选择,您转到文件的末尾并创建一个新类,以添加到已经有七个其他类的元素上。对于使用C 足够长时间的开发人员来说,这是一种常见的体验(有关C 的灵感,请参见我们最喜欢的C 动画示例)。因此,...
图解版式将字体放入框架中
阅读更多

图解版式将字体放入框架中

印刷术可以采用多种形式-从涂鸦字体到复古印刷术,字母的艺术一直在奉献。在这里,插图的灵感成为中心舞台,因为芬兰设计师Emil Bertell利用电影等产生的影响来创作这种插图字体。居住在芬兰赫尔辛基的插画家埃米尔(Emil)多年来为“插图字母”系列创作了这些引人注目的设计。设计师从好莱坞老电影,动物和动臂音箱中汲取影响力,并尝试色彩和形式,从而产生了令人鼓舞的结果。人物肖像非常酷,使用迪斯科舞会作...
Cinema 4D R16的新功能揭晓
阅读更多

Cinema 4D R16的新功能揭晓

Maxon的Cinema 4D已经慢慢建立了声誉,它是一种非常强大,可靠且可靠的解决方案,可以满足许多3D艺术家的需求,并且此版本并不令人失望:Maxon引入了一系列新功能,错误修复和工作流程更改。价格尚未确定,但我们确实知道今年的版本将改变游戏规则。新的运动跟踪器是第一个新功能-真正令人印象深刻的功能-新的运动跟踪器。这是一款全动态跟踪器和3D摄像机求解器,具有特别直观的工作流程。借助自动创建和...