您认为高级开发人员会做的六件事(但我们没有)
1:我们不回避“如果”语句
2:我们不开发算法
3:我们不定制我们的内核
4:我们也没有记住正则表达式
5:我们并不了解所有十大最热门语言
6:我们也不觉得自己是高级开发人员
如果你是一名初级或中级开发人员,你可能对高级开发人员的构成有一定的概念。你心中几乎肯定会有一个理想化的形象,如果是这样,我敢肯定你会不断地将自己与那个虚构的理想进行比较。
但高级开发人员到底是什么?
几乎每家公司都有自己的定义,但这于事无补。一般来说,高级开发人员只是拥有足够软件开发经验的人,能够做到以下几点:
- 独立理解特定知识领域中需要解决的特定问题,
- 列举一个或多个可行的解决方案及其优点,然后
- 以团队的一员的身份,使用所使用的语言和框架的惯用模式,实现更好的解决方案之一。
真的。就是这样。
那么,您一直想象的高级开发人员的其他情况又如何呢?
1:我们不回避“如果”语句
很多初级开发人员似乎都认为条件语句只适合那些懦夫和菜鸟。这真是大错特错!
通常,问题的最佳解决方案也是最简单的。虽然有时和某些情况下有比条件语句或循环更好的解决方案,但高级开发人员仍然默认使用经典方法。正如 Donald Knuth 的名言……
过早的优化是万恶之源。
基础方法之所以是基础,是因为它们有效。不要为已经很好解决的问题寻找更巧妙的替代方案。
2:我们不开发算法
在大多数情况下,大学的螺旋桨头们正在想出更好的排序和寻路算法,并赋予它们更强大的功能!
高级开发人员知道何时应该依赖前人已有的工作成果。换句话说……
优秀的程序员知道该写什么。伟大的程序员知道该重写(和重用)什么。
不要害怕使用现有的库、算法和抽象。
3:我们不定制我们的内核
说真的,我们没时间在日常操作系统的内部工作上浪费时间。高级开发人员更愿意做最少的工作来获得一个满足她需求的工作环境……然后就不管了!
大多数情况下,高级开发人员重新编译内核的唯一原因是解决硬件问题,即使如此,编译出来的内核也是未经修改的。唯一的例外是那些把内核 hacking 当作爱好的人……而这与资历无关。
小心牦牛毛!没坏就别修。
4:我们也没有记住正则表达式
普通的高级开发人员也会在一万个浏览器标签页中打开一个 regex101.com 网站。正则表达式是出了名的深奥,我们还有更重要的事情要记住。
相关地,如果一个典型的高级开发人员能够tar
在第一次尝试时就正确掌握 Unix 上命令的语法而无需检查文档,那么他可能已经把它纹在了手臂上。
不要羞于阅读文档,即使它是你以前查找过的东西。
5:我们并不了解所有十大最热门语言
随便找一位高级开发人员,他们很可能精通一两种语言,并且熟练掌握另外两三种语言。他们几乎肯定不会精通十几种不同的语言!
这是有意为之。优秀的高级开发人员最感兴趣的是进一步掌握他们的主要语言、框架和知识领域。你不可能掌握任何一门语言的所有知识!
你不需要学习所有的东西。当你找到一门你喜欢的语言时,就深入学习。
6:我们也不觉得自己是高级开发人员
不,真的。我们不会。你刚登上一座山峰,就会发现地平线上还有十几座更高的山峰。我们也有冒名顶替综合症。我曾与一些拥有30年经验的软件开发人员交谈过,他们仍然觉得自己在假装。
软件开发是一场终生的冒险。目的地总是在变化,而旅程本身才是有趣的部分。
文章来源:https://dev.to/codemouse92/six-things-you-thought-senior-devs-did-but-we-don-t-3k6e