65.9K
CodeProject 正在变化。 阅读更多。
Home

与 Omar Al Zabir 的程序员访谈

starIconstarIconstarIconstarIconstarIcon

5.00/5 (11投票s)

2013年5月16日

CPOL

5分钟阅读

viewsIcon

34658

欢迎阅读我们的 CodeProject 开发者访谈系列。在这个系列中,我们会与开发者们交流他们的背景、项目、兴趣和厌恶。在本期节目中,我们采访了 CodeProject 上四次荣获 MVP 的传奇人物 Omar Al Zabir。

欢迎阅读我们的 CodeProject 开发者访谈系列。在这个系列中,我们会与开发者们交流他们的背景、项目、兴趣和厌恶。在本期节目中,我们采访了 CodeProject 上四次荣获 MVP 的传奇人物 Omar Al Zabir

你是谁?

我叫 Omar AL Zabir,居住在英国伦敦。我是 BT 的 SaaS 平台(现称为 Business Support Systems)首席架构师。BT Group plc(以 BT 为交易名)是一家总部位于英国伦敦的英国跨国电信服务公司。它是世界上最大的电信服务公司之一,业务遍及 170 多个国家/地区。通过其 BT Global Services 部门,它是全球企业和政府客户的主要电信服务供应商。其 BT Retail 部门是英国最大的电话、宽带和订阅电视服务供应商之一,拥有超过 1800 万客户。

我是 ASP.NET MVP,奥莱利图书《使用 ASP.NET 3.5 构建 Web 2.0 门户》的作者。我在 CodeProject 上撰写了48 篇文章

您参与过哪些项目?

在加入 BT 之前,我联合创立了 Pageflakes——一个由小部件驱动的 Web 2.0 个性化起始页。它已被 Myspace 创始人 Brad Greenspan 创立的公司 eUniverse 收购。然后,我与 Congral LLC 合作,我们构建了美国第一个在线健康记录管理系统,该系统允许患者完全控制其在医院持有的健康记录。在 Pageflakes 之前,我在各种公司担任了约 12 年的软件工程和架构职位,并自己创办了一些公司。

在 BT,我在服务于 BT 业务部门和部分 BT 消费部门的 IT 组织工作。我负责 BT Business Support Systems 的非功能性架构——性能、可扩展性、可靠性、可用性、安全性。修复线上事件以及跨 80 多个关键系统(对 BT Retail 至关重要)交付非功能性优化是我日常工作的重要组成部分。我还负责绝大多数生产性 BT Business Support Systems 的功能架构和交付,包括 business.bt.commyoffice.bt.com、BTB Agent Systems、订单履行引擎、与其他 SaaS 供应商的第三方集成、合作伙伴门户、Salesforce 和 Microsoft 集成等。最后,我负责将 BTB 的大部分遗留系统迁移到基于最新、最酷的 Microsoft 和 Oracle 技术构建的、闪亮的新虚拟化数据中心。

您的开发环境是什么?

我是 ASP.NET MVP。我主要使用 Visual Studio 2010 和一些 2012 版本来开发 ASP.NET。部分使用 WPF

您对哪些新工具、语言或框架感兴趣?

在 BT,我们正在将旧的 ASP.NET Webforms 应用迁移到 ASP.NET MVC。所以,MVC 是我们关注的热点领域。在客户端,我们正在使用 AngularJS 和其他一些流行库将我们自己开发的 JavaScript 应用程序迁移到标准的 MVVM 架构。

除了 BT,我还有几个自己的开源项目,主要开发富交互式 AJAX 应用程序,例如 DropthingsCodeumlDroptilesAlQuranu

您最讨厌的编码习惯是什么?

我每天都要处理 10 多年历史的代码库,这些代码库已经易手至少四次,还有一些是在 10 分钟前编写并复制粘贴到生产服务器上以修复线上事件的“紧急修复”代码。所以,我并没有特别喜欢的。只要在不违反我们为团队设定的质量门槛标准的情况下,能够完成工作就行。我的 Java 系统使用驼峰命名法,.NET 的则使用匈牙利命名法。我对任何特定的编码风格都没有偏见。

您是如何开始编程的?

我的编程生涯始于 9 岁,使用 QBasic。然后我转向 Borland C++ OWL 来构建 Windows 应用程序。之后,我开始使用 Visual Basic 构建教育娱乐应用程序。我 13 岁时创立了第一个公司,为儿童和青少年制作了四款多媒体应用,并在 CD 上出售。然后,我花了四年时间为一家财富 500 强公司构建 J2EE 应用程序。在过去的 10 多年里,我一直在使用 .NET。

开发者社区是如何影响您的编码的?

喜爱:当我看到代码充分考虑了异常处理,充分了解框架/库的优缺点并加以利用,能够抵御系统小故障,能够充分记录其功能,并且包含一些解释“为什么”这样做(而不是显而易见的“做什么”)的良好注释时。编写出这样代码的开发者会得到我的拥抱。

厌恶:那些痴迷于实现尽可能多的炫酷新库/框架以在简历中炫耀的开发者;那些复制粘贴大段代码的开发者;那些为了实现新功能而找到最方便的类/函数,却从不考虑单一职责原则、重构和代码可维护性的开发者。

您认为自己在 10 年后会是什么样子?

我对云计算充满热情,并计划更深入地探索它。更多地涉足 Azure 相关技术。花更多时间磨练构建成本效益高、可水平扩展的系统的技能。从职业角度来看,我可能已经在工程领域达到了顶峰。我不打算进入非技术性的管理层。因此,我将继续从事类似技术挑战性的角色。

如果你给一个崭露头角的程序员一条建议?

请阅读我在 CodeProject 上的文章

© . All rights reserved.