恐龙开发者的面试经验 – 大龄程序猿如何找工作

当我31岁时,一个20出头的招聘人员告诉我,我“太老了”谢天谢地,我已经很久没听到这种事了。三周前,我在一次编程面试中获得了成功;上周,我开始了我作为应用程序程序员的新工作。对一个58岁的人来说还不错!

脱颖而出
作为一名年长的技术专业人员,我很幸运。我目前的工作利用了我在Delphi、C和C++的编程经验。在面试过程中,没有什么是理所当然的,我准备了一个小文件夹,展示了我为每种语言编写的应用程序。

说到这类事情,我已经做了几年了,用Techsmith的Camtasia制作屏幕截图。我编写并录制了一个7分钟的屏幕截图,展示了各种程序——包括一个快速评估扑克手牌的程序。这些都是基于我在过去18年里写的软件。

将节目视频上传到Dropbox后,我可以与招聘人员共享该链接,然后由招聘人员转发给潜在的客户或雇主。面试时,我带着一台笔记本电脑,里面有我所有的程序,还有源代码的打印输出。那是不是有点过分了?也许吧。但所有这些准备也有回报。

遗留编程语言
很长一段时间,COBOL和Fortran是镇上唯一的遗留语言;现在,Turbo Pascal, Delphi, Microsoft Basic, 各种 C++, ActionScript 和 Ada都在名单上。(多亏了 Swift, Objective-C 也可能很快在那里着陆!)

如果你是一个懂传统语言的老开发者,你的就业前景可能比你想象的要好。对公司来说,将应用程序转换成更新的语言是很昂贵的,尽管工具可以自动完成过程的某些部分。它通常需要一个有血有肉的技术专家来编码、测试、重组和维护程序。

不要做恐龙
有一种观点认为,老开发人员可能会有点固执己见。我和几个属于那一类的人一起工作过。一个这样的家伙比我小十岁;只要他能用Visual Basic 6编程并坚持使用视窗操作系统,他就很开心。他从未听说过版本控制系统,也不明白为什么要使用它。

他的主要业务包括支持一个用VB6编写的应用程序,该应用程序首次出现于1998年;对该平台的扩展支持于2008年结束。它也是32位技术,在某个时候,所有与微软相关的东西都将只剩下64位。对他来说不幸的是,我们的工作场所决定切换到一个竞争对手的基于网络的系统(这是有意义的——没有要安装的软件,对服务器的简单修复,等等)。他们不再需要他来支持。

这不仅仅是学习新的编程语言;这也是为了跟上广泛的技术组合。任何人都可以对网站进行编程;您还需要了解服务器端技术、网络服务以及如何在云中移动东西(无论是AWS、Azure还是谷歌)。

年长的开发人员通常分成两大阵营:一个是拥抱新技术的人,另一个是(像我以前的同事)停留在过去的人。至少有一项研究利用堆栈溢出的数据挖掘与年龄相关的知识,发现编程知识可以在开发人员的第五或第六个十年保持在较高的水平。新技术不应该成为你职业发展的障碍。

有些技术比你想象的更容易掌握。例如,如果你不知道超文本标记语言,没有比现在更好的开始时间了。上周我实际上开始学习一种新的专有编程语言;进展缓慢,因为文档仅限于帮助文件和代码库,但这是值得的。

为什么要看老开发者?
学完第三或第四种编程语言后,你会注意到相似之处;通过识别模式,语言变得更容易吸收。十八年前,我在特尔斐写了许多文本处理实用程序;本周,在我上一节提到的专有编程语言的培训课程中,我必须编写一个包含string Trim()函数的文本处理实用程序。去过那里,就这样!这就是作为一个老开发者的好处。

经验丰富的老开发人员通常拥有“软技能”,能够与特定组织中的人无缝互动。他们认识到经验的价值,即使项目以失败告终。(例如:“我在对数据库表进行实时修复时忘记提交事务,导致所有生产暂停了五分钟。我从中吸取的教训是,即使在提交之后,也要始终检查您的事务级别是否为0。”)

当面试一个新职位时,不要忘记用故事来说明你的经历和技能。我36年的职业生涯给我留下了丰富的开发轶事数据库(可以这么说):“为了学习Z80,我写了一个6502交叉编译器。我花了两周时间。”

结论
保持新鲜的秘密是永远不要脱离学习曲线。尝试新事物;只是为了好玩,挤出一些时间学习一门新的语言,比如Rust、Swift或Go。下载和安装东西从来没有这么容易过;许多语言都有在线编译器。

如果你有时间,除了编程语言之外,还要确保关注技术。今年,我已经在我的Hyper-V Ubuntu安装上安装了PHP 7.0。我的下一个任务是建立一个网站“在云端”大多数云提供商提供免费等级,所以这种自我教育不会花费任何费用,除非我犯了一个错误,这反过来会成为一种有趣的学习体验。(“忘记检查小数位数仅在一个周末就增加了17,000美元的费用!”)

发表评论

电子邮件地址不会被公开。 必填项已用*标注