与 Chris Pardo 的程序员访谈






4.95/5 (7投票s)
欢迎来到我们持续进行的 Code Project 开发者访谈系列,在这里我们与开发者们交流他们的背景、项目、兴趣和让他们头疼的问题。在本期中,我们采访了 Chris Pardo,他是一名邓白氏的高级产品经理。
欢迎来到我们持续进行的 Code Project 开发者访谈系列,在这里我们与开发者们交流他们的背景、项目、兴趣和让他们头疼的问题。在本期中,我们采访了 Chris Pardo,他是一名邓白氏的高级产品经理。
你是谁?
我叫 Chris Pardo,是邓白氏 (Dun & Bradstreet, D&B) 平台的[高级产品经理](http://www.dnb.com/),我专注于企业应用/数据集成、战略伙伴关系和联盟以及开发者社区参与。
在加入邓白氏之前,我在 [IBM](http://www.ibm.com/) 工作了 8 年,担任软件工程师。在此之前,我曾作为顾问和销售工程师在 [Pervasive Software](http://www.pervasive.com/) 和 [National Instruments](http://www.ni.com/) 工作。
在 National Instruments 工作时,我是邓白氏的客户,并参与了将邓白氏集成到他们的 [CRM](http://en.wikipedia.org/wiki/Customer_relationship_management) 和 [MDM](http://en.wikipedia.org/wiki/Mobile_device_management) 系统中。
我住在[奥斯汀,德克萨斯州](http://en.wikipedia.org/wiki/Austin,_Texas),在[德克萨斯大学奥斯汀分校](http://www.utexas.edu/)主修计算机科学和商业双学位。
您做什么?
我主要与邓白氏的客户沟通,并与我们的快速原型实验室合作开发概念验证项目。我通常使用 [JavaScript](http://javascript.crockford.com/javascript.html)、[PHP](https://codeproject.org.cn/KB/PHP/) 和 [Soapui](http://www.soapui.org/) 来探索其他 Web 服务。
我参与的一个有趣项目是一家主要手机、平板电脑和计算机制造商的企业开发者注册计划(很抱歉,我无法透露客户名称)。该公司使用邓白氏对希望加入其开发者计划的潜在企业开发者进行尽职调查。考虑到网络上的欺诈行为,许多拥有会员计划的公司希望确保他们与有资格享受这些资源且符合条件的会员分享资源。
我们还将邓白氏的 API 暴露给 Windows Azure 平台,特别是 [Microsoft Azure Marketplace](https://datamarket.azure.com/browse/data?query=d%26b) 和 [Windows Azure Store](http://www.windowsazure.com/en-us/store/overview/)。这允许用户将邓白氏的数据导入他们正在构建的应用程序,或者直接导入 Excel。
另一个有趣的项目是 [D&B Direct MicroApps](http://dnbdirectapps.com/apps)。我与我们的快速原型团队合作,根据客户的反馈开发使用 D&B Direct 的微应用。所有源代码都可用,客户可以轻松下载代码并投入生产。大多数应用都基于 [LAMPP](http://en.wiktionary.org/wiki/lampp) 技术栈。
最近,我一直在帮助准备一个即将在 CodeProject 上举行的[开发者挑战赛](http://dnbdirectapps.com/microsoft/)。我希望人们在我们的数据上线时(很快)会喜欢研究它。
您的开发环境是什么?
LAMPP 是我最喜欢的天气技术栈。我喜欢使用轻量级技术栈来部署和运行应用程序。
我爱我的 Macbook Air!就便携性和美观而言,这是我拥有的最好的笔记本电脑。
在家中,我有一台安装了 [Ubuntu](http://www.ubuntu.com/) 的旧台式机。我一直是 Ubuntu 的忠实粉丝,因为它易于安装、维护软件补丁且易于使用。
我最喜欢的编程语言是 [C 和 C++](https://codeproject.org.cn/KB/cpp/) 以及 JavaScript。用 C/C++ 编写的程序通常运行速度更快,并且作为开发者,我喜欢对内存管理拥有控制权。
我用来探索新 API 的首选工具是 Soapui。SoapUI 是集成方面的救星,它允许您在实际编写任何代码之前快速探索 API。此外,您可以创建一个数据源(CSV 或通过 ODBC 连接的数据库)来处理样本数据量——非常棒。
您对哪些新工具、语言或框架感兴趣?
我正在探索 [Meteor](https://www.meteor.js.cn/) 和 [Bootstrap](http://twitter.github.com/bootstrap/),因为我的一些朋友在他们的网站上使用它们。Bootstrap 在常用 UI 元素方面非常出色,并且总体上非常适合为您的网站提供简单干净的设计。
您最讨厌的编码习惯是什么?
我真的不喜欢[意大利面条式代码](http://sourcemaking.com/antipatterns/spaghetti-code)(有人喜欢吗?)
我也不喜欢代码编写过于受到[敏捷](http://agilemanifesto.org/)理念的影响。例如,为了满足需求而进行开发固然很好,但通过良好的设计对代码进行未来保障将为未来的迭代节省大量时间。找到敏捷和设计的平衡至关重要。
代码中明显[复制粘贴](http://www.codinghorror.com/blog/2009/04/a-modest-proposal-for-the-copy-and-paste-school-of-code-reuse.html)痕迹的真的很令人恼火,命名约定不合逻辑也相当令人恼火。
我喜欢使用驼峰命名法,并用描述性但不过于冗长的名称来命名变量和类。
您是如何开始编程的?
我的第一台电脑是一个 386 英特尔克隆机,主频为 200MHz,内存为 64MB,硬盘为 5GB。我父母的初衷是让我用电脑学习,然而,我很快就找到了其他用途:玩电子游戏!我安装了[星际争霸 II](http://www.pcworld.idg.com.au/article/354647/history_starcraft/),花了很多时间与其他玩家一起玩。
除了游戏体验,通过 [Napster](http://www.guardian.co.uk/music/2013/feb/24/napster-music-free-file-sharing) 等应用程序分享音乐的能力也很棒。拥有电脑真正让我开阔了眼界,让我接触了游戏、文件共享和早期社交媒体。我的所有朋友都以为我搬走了,因为我把所有时间都花在了我新发现的爱好和最终的职业选择上。
开发者社区是如何影响您的编码的?
我使用 Twitter 来关注行业内的聪明人。
我经常访问 GitHub 来查看代码示例。
当然,LinkedIn 是与开发者和架构师建立人脉的好地方,有时也可以关注客户在谈论什么。
您会对一个新兴的程序员提供什么建议?
学习的最佳方法是直接上手,亲身体验。当然,阅读大量的手册很有帮助,也能提供背景信息,但没有什么比第一手经验更好的了。