软件工程师必不可少的5种基本技能

确保将这些技能添加到您的武器库中

Photo by Rich Tervet on Unsplash

如今,软件工程师需要掌握多种技能。 我们都知道明显的那些。 在该列表的顶部,您会发现需要了解如何编程的知识,因此需要了解一种编程语言。 同一列表上的其他项目是您需要善于解决问题,并且需要掌握有关算法和数据结构的知识。 我们可能都同意您也需要一些沟通技巧。

但是,您可以将更多必不可少的但经常被忽视的技能添加到此列表中。 这包括人们不一定认识或未能认识到该领域所需或需要的技能。 它们并不是很明显,但是随着时间的流逝,您会意识到所有出色的软件工程师都花时间学习这些知识。

检查并查看您的武器库中是否已具备此列表中的技能。 如果您在此列表上缺少某种技能,那么可能是将这种技能添加到技能组的好时机。

1.阅读代码

对于任何软件工程师来说,最被低估的技能之一就是读取代码的能力。 代码的持续时间比编写代码时预期的要长得多。 这就是为什么对COBOL开发人员的需求仍然很高的原因,这种需求已经存在了60年。

我们生活在一个开发人员来来往往的世界中,但是代码永不动摇。 这导致了这样一个事实,即软件工程师不得不花太多时间在阅读代码和尝试理解代码库上。

罗伯特·C·马丁(Robert C. Martin)的话很好地概括了这一点:”阅读与写作所花费的时间之比超过10:1。我们不断阅读旧代码,这是编写新代码的一部分。”

因此,作为软件工程师,您将花费大部分时间阅读和尝试理解代码片段,而大多数时间甚至都不是您自己的代码。 很难做到这一点,因为您经常不知道该代码创建者的意图。

在最理想的情况下,您将进入一个代码库,其中所有代码都编写正确,结构合理,文档正确并经过测试。 实际上,几乎从来没有这样。

2.提出正确的问题

知道要问什么问题是一项技巧,如果您想构建正确的事物,这是必不可少的。 提出正确的问题是成为软件工程师的一部分。 在开始构建之前,重要的是要深入了解要实现的目标。

您是要构建正确的事物还是要构建正确的事物?

不要误会我的意思-正确地构建事情很重要,但是大多数软件工程师对此都过于关注。 在开始构建之前,您应该提出一个问题,我们正在构建正确的东西吗?

知道要问什么问题,这样就可以确保要构建的东西正确。 一旦开始构建错误的东西,所有的精力都将浪费掉。 了解为什么要实施某个功能,以便更好地预见未来的问题。

3.正则表达式

令人惊讶的是,很多软件工程师对正则表达式并不了解。 正则表达式是对文本进行模式匹配的一种方法。 它们经常被忽略,大多数软件工程师将正则表达式视为难以学习的东西。

正则表达式可能会变得非常困难,并且肯定具有学习曲线。 尽管如此,正则表达式仍然可以完成很多工作。 最明显的用例是在大型代码库中搜索某些文本。

如您所见,正则表达式有很多用例。 由于它们用途广泛,因此您不能简单地忽略它们。 如果您想成为一名更好的软件工程师,则必须更熟悉正则表达式。

4.调试

一般的软件工程师会花费大量时间进行调试,这意味着掌握它是一项很棒的技能。 特别是因为如果您不知道如何正确地进行调试,调试实际上会变成一个耗时的过程。

调试真正归结为解决问题的技巧。 对于大多数软件工程师来说,他们的大部分工作将是修复小错误。 这些错误中有许多可能是晦涩难懂且难以跟踪的。

调试时,您不想先查看代码并立即与调试器一起逐步调试。 在开始之前,您将需要某种计划。 如果您直接进入调试器,则基本上就是复活节彩蛋。

能够快速确定代码中可能存在错误的位置是一项强大的技能。 您的分析和解决问题的能力越强,您可以更准确,更准确地解决这些错误。

5.工具

能够为自己创建工具是将真正优秀的软件工程师与平庸的软件工程师区分开来的一件事。 而这是最好的软件工程师所做的事情。

编写自己的工具可以提高您的生产力。 使用自己的工具最好的部分是,您可以加快流程和工作流程,而不必局限于现有的工具。

工具可能是完成x编码量与2x编码量的软件工程师之间最大的不同。 甚至3倍。 您可能制作的工具可能从执行简单的任务到更高级的任务不等。 例如,您可以编写一个脚本,该脚本在每次提交之前自动删除代码。 这样,您每次放错逗 时都不必重新提交。

通常,这些工具可以在脚本中使用Python,Bash或PHP等语言制作。 也有其他选项可用,但是它必须是某种可以在命令行上很好地使用的脚本语言。

这些脚本可用于加快整体工作流程,从而使您完成更多工作!

就是这样,感谢您的阅读!

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

上一篇 2020年2月15日
下一篇 2020年2月15日

相关推荐