你好。这是我们与专业软件开发人员交谈的新系列文章的一部分,询问他们以编写代码为生是什么感觉,并可能在此过程中获得对软件开发行业的一些见解。
今天我们要采访 Holger Flick 博士,Delphi从版本 2 开始开发,自 2004 年以来积极参与社区,Embarcadero MVP,TMS Software 的技术布道者和FlixEngineering负责人。他主要以他的 TMS 技术传播而闻名,出现在数量惊人的广受欢迎的教程视频中,以及他非常受欢迎的 Delphi 书籍。
除了 Holger 丰富的工作经验,他还拥有计算机科学学位和机械工程博士学位。
Holger 来自德国,但现在住在美国,他有一个自己的公司专业从事Delphi软件开发、咨询、培训工作。
Holger,您好,感谢您抽出时间与我们交谈。
你好!谢谢你的访问。
您是如何和/或为什么成为开发人员的?
1987 年,我收到了一本 GW BASIC 编程书。当时,我父亲的赛鸽俱乐部开发了一个软件来确定参加比赛的鸽子的顺序。它是用 Clipper 87 编写的,我立刻就迷上了这项技术。我花了大量时间学习 Basic、dBASE、Clipper,然后是 Pascal,这最终导致了 Delphi。开发软件的愿望一直存在,因为我定制的 MS DOS 程序使我能够学习拉丁语和法语词汇,添加插件来学习不规则动词,这很实用。总而言之,我在学校的时间非常令人讨厌,很少有时间享受户外活动。
您认为您将永远不再是一名开发人员吗?如果是这样,接下来会是什么?
在出版了我的前两本 Delphi 书籍后,我被要求写一部关于我在 Delphi 社区中的时光的小说,因为它可能是一部悬疑的非技术惊悚小说,可能会登上畅销书排行榜。不过,我真的不能将自己视为非技术书籍作者。让我们继续使用 Delphi,构建动手示例并将它们收集到书籍中……
您最常使用哪种 Embarcadero 产品?
RAD Studio 及其 Delphi 个人版。
是什么让您开始使用 Delphi?
以我在构建 DOS 数据库应用程序方面的背景,它是一个很棒的工具。我可以连接到所有数据库,这是构建令人惊叹的 Windows 用户界面的一种简单方法。当时没有任何可比性——在我看来现在仍然没有能与Delphi相媲美的开发工具。
如果您可以给正在考虑从事软件开发人员职业的学生一些建议,那会是什么?
在选择此职业时,希望在此期间成为一名学生。您将永远无法停止学习新的创新和问题。
制表符……还是空格?
一个智能代码编辑器,可在适当时将制表符转换为空格。
作为开发人员,您度过的最美好的一天是什么?
早在 1996 年就收到了带有 Delphi 2 的巨大软件包装盒及其多本书籍文档。这是我直接从 Borland Germany德国办事处购买的第一个 Delphi 版本。
作为开发人员最糟糕的事情是什么?
学无止境。如果你停止学习,你会错过火车,别人会超过你。可悲的是,随着年龄的增长,这个过程并不会变得更容易。
你知道的最酷的开发技巧是什么?
请勿在未理解的情况下复制和粘贴在 Internet 上找到的源代码。
在家工作、在办公室工作、在开放式计划/共享空间工作?你更喜欢什么,为什么?你可以选择吗?
家。每当我有想法或想完成一个思路时,我都需要能够随时开始工作。在我需要开车去的办公室里,我根本无法拥有它。此外,我需要一个非常安静的工作环境,不要分心。共享空间是最糟糕的,因为总是有人在打电话或参加远程会议。
告诉我们一些我们不知道的有趣事情。
与其他啤酒相比,我更喜欢青岛啤酒。
如果你可以挥动“修复科技行业”的魔杖,你会改变什么?
摆脱所有社交媒体。再次使所有信息成为拉取过程。不要向他们不知道自己感兴趣的人推送花絮。
你去过硅谷吗?如果是这样,是怎么回事?如果没有,你有没有想过?
2009 年,我开车去了 Apple Campus苹果公司总部,像普通游客一样在 Oracle 甲骨文和 Electronic Arts 电子艺界大楼前拍了几张照片。我无法进入大楼内。然而,就在他们关闭之前,我还参观了旧的 Borland 总部。那是一次非常难忘的经历和怀旧的感觉。我能够见到我工作的 Delphi QA 部门的同事。我还能够在他们的工作场所认识Delphi研发部门的开发人员。
你见过任何著名/知名的科技人物吗?他是谁?进展如何?
我遇到了许多在社区中知名多年的出色 Delphi 开发人员。他们中的大多数人在我还在上高中时就已经是 Delphi 的一部分了。一起吃饭或喝酒总是很有趣。他们中的每一个人在我的世界中都很有名。
如果您可以说服某人考虑使用 Delphi 或 C++ Builder,您的方法是什么,您会怎么做?
我会告诉他们开始阅读 Delphi 中的编程书籍,就像在 Delphi 中一样。
您希望自己发明/设计哪种技术产品,为什么?
苹果 iPod Touch。它确实是第一款允许您将用户界面用作手指延伸并基于可靠硬件的设备。当时绝大多数人并没有认真对待苹果。它是 iPhone 和 iPad 等创新的基础。我认为这是本世纪“最大”的里程碑之一。
你一天喝多少咖啡,够喝吗?
太多了,咖啡永远不够。
你是一个编码到深夜的夜鹰,还是一个早起就开始工作的早起人,或者你是否遵守某种正常的办公时间?
我绝对不是一个早起的人。固定的办公时间扼杀了我的创造力。如果我有一个想法或项目要做,我不会遵守任何时间表。我确实尝试定期休息,但这有时很难做到。
在您的职业生涯中,您是否曾经“熬夜”来处理绝对必须完成的事情?
不,谢天谢地,我从来不需要。我经常因为过早开始使用待办事项而受到批评,但它有助于显着减轻压力。
你被问到的最愚蠢的问题是什么——这次采访中的问题不算数!
我通常认为每个问题都很有价值,但我得到了很多需要远见卓识的问题,而且我根本不擅长该专业。我仍在寻找一个比以下更糟糕的问题,尽管自 Visual Basic 或 .NET 出现以来我一直被问到:“你认为两年后Delphi还会存在吗?”
您如何阻止客户/项目经理/经理“功能蔓延”?
提出更好的替代方案是关键。
为您描述一个典型的编码会话。它是如何开始的?你休息吗?你有什么仪式/习惯来陪伴它吗?
大量的咖啡是必不可少的。由于在美国度过了大量时间,加糖浆的奶精已成为这种仪式的一部分。由于水的消耗和咖啡的影响,定期休息是自动的。
你在编码时听音乐吗?如果是这样,你能告诉我们一些曲目/艺术家/表演吗?
我通常在 Sirius XM 或新闻上听 Chill。
您是否使用任何方法或技术,例如敏捷、Scrum、看板、TDD?如果是这样,为什么?如果不是,为什么?
我不得不承认,使用 SVN 和 GIT 作为版本控制系统来管理我的源代码是我所做的唯一现代、奇特的事情。我也使用 LaTeX 作为我最喜欢的字体设置工具,它不是标准的。
你跟踪错误吗?如果你这样做,你有什么建议?
错误?
你有没有经历过非常顺利的技术面试——如果是这样,你对别人有什么建议?如果你经历了一场灾难性的面试,出了什么问题,你需要一个拥抱吗?
不要紧张,做真实的自己。如果您不知道答案,请承认,因为总有时间找出答案。最灾难性的采访是当您为一个主题准备示例时,听众将主题引向完全不同的领域。我非常不喜欢毫无准备。
优秀的软件开发人员:
总是愿意学习,从不说“那是不可能的”。
一个糟糕的软件开发人员:
试图说服你不要跟进你的任何想法。
iPhone、Android、其他——为什么?
是的。任何软件开发人员的必备工具。Android 和 iPhone 都是因为您只需要能够让所有客户满意。此外,即使您不为该平台开发,您仍然需要了解其特性和功能。
对于开发人员:PC 还是 Mac?为什么?
再次,两者。如果您开发软件,您需要了解目标系统及其问题。我会将 Linux 与一些流行的发行版(如 Ubuntu、SUSE 和 Debian)一起添加到列表中。
你希望被记住的一件事是什么?
那我的书帮助其他开发人员节省时间并获得新的想法,创造出更好的产品和应用。
最好的开发者/黑客/技术/极客电影是什么?
星际迷航。回想起来,原始系列和下一代是最好的技术/极客节目。我清楚地记得人们嘲笑我相信“手持设备”或“用手作为键盘的屏幕”。我认为这些节目的创作者是天才。
任何开发人员都不应该没有什么?
一个Delphi许可证。
如果拍一部关于你生活的电影,你想让谁扮演你?
基努·里维斯。
您有想要提及的书籍、产品或服务吗?
我对书籍推荐并不公正,但如果您是 Delphi 开发人员,我可以全心全意推荐TMS All Access。每年价格标签的工具和组件的数量、质量和种类以及高质量的支持都值得称赞。
如果您需要颈椎枕软件工程、培训或咨询,请与我们联系。
你有一个人们可以访问的网站吗?
是的,https://flixengineering.com/blog
如果您使用 Twitter,您的 Twitter 账号是什么?
感谢 Holger 与我交谈,感谢您的精彩书籍、视频以及您为开发者社区所做的一切。
设计。编码。编译。部署。