在软件工程中发现创造力

让我们看看编程如何变得更有趣和更有创意。

在软件工程中发现创造力
Luca Bravo在Unsplash上的照片

最近,在一个本地聚会上,我遇到了一个介绍自己的人,他在通常的介绍性句子(姓名等)中添加了以下内容,

“我以开发人员的身份开始了自己的工程生涯。 但这太机械化了,而不是那么有创意,所以我进入了用户体验设计。”

也许他只是想通过提到自己就是开发人员来友好待人。 但是他给出的过渡到UX设计的理由对我来说没有任何意义。 我就像(在想)—我的朋友,您没有判断我的专业,因为您没有得到专业。

有些人主要是因为缺乏兴趣而从软件工程转向职业。 如果您不喜欢编程,那绝对没问题。 并非所有人都喜欢它。 另一方面,称其过于机械化和创造性不足意味着您从一开始就不了解基础知识。

“您可能不认为程序员是艺??术家,但是编程是一个极富创造力的职业。 这是基于逻辑的创造力。”

约翰·罗梅罗

软件开发中有很多创造力,这与我们解决问题的方式有关。 有时我们只是试图找到最快的解决方案。 这就是使事情变得更加机械化和创意不足的原因。 相反,当我们退后一步并在尝试解决问题之前分析问题时,事情开始变得有趣起来。

“爱上代码意味着爱上解决问题并成为永远进行中的对话的一部分。”

凯瑟琳·巴雷特(Kathryn Barrett)

让我们以排序算法为例。 有很多。 如果软件工程中的一切真的是机械的,我们将只满足其中的一项。 有这么多解决方案来解决对集合进行排序的相同问题,有什么需求好吧,因为同一问题在不同条件下的行为有所不同,不是吗而使事情变得富有创造力的是, 当我们考虑围绕问题的条件来尝试找到最佳解决方案时 。

计算机是机器,程序只是运行它们的指令。 当我们尝试通过周全的解决方案从这些机器中获得最大收益时,创造力便会显现出来。 一个有创造力的程序员试图为计算机找到最优化的指令集。 他试图找到问题的答案,以帮助改进说明。 以下是一些示例问题。

  • 何时应优先于
  • 什么时候比有意义
  • 什么时候应该使用代替
  • 等等…

当您开始以这种方式看待编程时,事情实际上变得更具创意。

“我想,日常生活就像编程一样。 如果您喜欢某件东西,就可以将美丽融入其中。”

—唐纳德·努斯

使软件工程学不是机械化的另一方面是该行业中事物变化的步伐。 总是有新的尝试和学习的东西。 更令人惊奇的是,由于每天都会出现新的用例,因此总有新的问题需要解决。 如果您不不断学习并继续使用相同的技能,那么事情一定会变得机械而枯燥。

可以正常工作的代码与可以正常工作并且应该交付的代码之间存在差异。 这个差距是创造力发挥作用的最佳地点。

每个专业软件开发人员都至少以某种方式编写有效的代码。 但是,可以正常工作的代码与可以正常工作并且应该交付的代码之间存在差异。 这个差距是创造力发挥作用的最佳地点。 如何弥补这一差距由您自己决定。 如果您有兴趣使代码更好(可扩展,高性能,无错误和可读性),那么您将很有创造力,并且很好地弥补了这一空白。 如果不能这样做,至少不要通过称不上有创造力的软件工程来回避。 相信我,对于某些人来说,编写精美的代码是一件令人发誓的事情。

From: https://hackernoon.com/finding-creativity-in-software-engineering-5f20193ae54c

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34708 人正在系统学习中 相关资源:c#编写的鸡兔同笼程序

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月9日
下一篇 2018年7月9日

相关推荐