20年前程序员们曾试图解决这个至今仍然存在的问题。
由于计算机技术发展如此迅速,假如你有软件开发方面的 5 年或者 10 年经验,区别大吗?这个问题最初出现在 Quora(一个获取和分享知识,能够向他人学习并更好地了解世界的地方)。
下面是 Mario Peshev(DevriX 的 CEO)在 Quora 上提出的答案:
新的编程语言,框架和库在不断地出现。这很好,而且扩宽的市场(尽管其中大部分都没有足够的竞争力,但一部分还是慢慢流行起来)。
另一方面,计算机技术并没有得到迅速进化。台式计算机已存在了几十年,笔记本电脑的工作方式也基本相同,除了可移植方面,它只是简单的将现有硬件移植到移动设备上(遵循相同的架构标准)。
因此,二十年前构建软件的程序员也在解决 2018 年的工程师们同样面临的问题(或多或少)。一些编程语言和库(或框架)通过提供针对这些范例的自动化工具,使这些问题变得更容易解决。
但基础是一样的。
Web 开发是软件工程领域提供工作机会最多的一个分支。Web 开发者构建在 Web 服务器上运行的软件,并通过浏览器进行控制。
Apache 是一个发布于 1995 年的流行 web 服务器,同一时间还启动了 Internet Explorer。
在Firefox(2002)和Chrome(2008)之前,Apache的另一种选择是nginx(2004年推出)。
2018年的Web开发人员仍然使用着和二十二年前差不多相同的技术构建软件。发展的进程还不够快,不能将浏览器和 web 服务器淘汰掉(使用完全不同的东西替换)。
即使我们考虑了不同的技术栈,如可以独立运行的 Node.js(尽管其常与 nginx 配置使用),编程范例仍与传统软件开发类似。经验丰富的开发者会比初学开发的人快上十倍。
软件工程是通过技术解决业务问题。新的编程语言或者框架引入的学习曲线,对经验丰富的程序员来说可以忽略不计。
编程的实际艺术围绕着计算机体系结构和操作系统,以及编写管理不同数据结构的算法,优化性能和稳定性。只要你花费了足够的时间来构建生产代码,至少在几种不同的编程语言内切换一种新的语言并没有太大的难度。
这个问题最初出现在 Quora(一个获取和分享知识,能够向他人学习并更好地了解世界的地方)。你可以在 Twitter,Facebook 和 Google+)、上关注Quora。更多问题:
编程语言:编程语言如何与其他不兼容的语言协同工作?
软件工程师:作为一名刚入行的软件工程师,我为什么要在公司工作一到两年以上?
职业建议:我们无聊的未来是否会从大公司的大型项目软件开发转向工具配置?
英文原文:https://www.inc.com/quora/the-most-important-part-of-your-tech-resume-experience.html
译者:冰川