与 Abhishek Sur 的程序员访谈





5.00/5 (16投票s)
欢迎来到我们持续进行的 Code Project 访谈系列,在此我们与开发人员交流他们的背景、项目、兴趣和痛点。在本期中,我们采访了 Abhishek Sur,他是一位才华横溢的 CodeProject 作者,也是两届 CodeProject MVP。
欢迎来到我们持续进行的 Code Project 访谈系列,在此我们与开发人员交流他们的背景、项目、兴趣和痛点。在本期中,我们采访了 Abhishek Sur,他是一位才华横溢的 CodeProject 作者,也是两届 CodeProject MVP。
你是谁?
您好,我是 Abhishek Sur,来自“印度加尔各答”。我在 InSync Tech-fin Solutions 担任技术架构师。可以说我沉迷于代码。即使我生病了,我也喜欢编写代码。编写好的代码能改善我的心情。我进行大量的代码审查、修复 bug,甚至帮助其他开发人员编写更好、结构更清晰的代码。我自己也阅读大量代码,曾经一度钟情于 .NET 和微软技术。我也喜欢写我感兴趣的东西。我因在开发者社区的奉献活动而被授予“客户端应用开发领域微软 MVP”。
在人群中,您很容易就能认出我,我总是面带微笑。我一开始有点害羞。就像一种水不溶的元素,过一段时间才能融合。但我一旦融合,大多数人都会接纳我。我热爱生活,风趣幽默,但非常脚踏实地。有些人称我为“极客”,所以我一直在努力在我的社区中培养更多的“极客”TechFuGen。
我最近还撰写了“Visual Studio 2012 and .NET 4.5 Expert Cookbook”和“Visual Studio 2013 Cookbook”,可在 amazon 上找到。
您参与过哪些项目?
多年来,我一直致力于多个项目。其中一些仅仅是咨询项目,但有些值得一提。我最近参与的最著名的产品之一名为 APPSeCONNECT。APPSeCONNECT 是 InSync 开发的一个集成平台,它提供了一个通用的接口来连接各种应用程序,以实现业务应用程序之间的无缝交互。它构建为一个平台,允许用户在云端配置产品,然后可以下载配置到本地。
除此之外,我还参与了 Buildfusion 的 MICA 项目,这是一个缓解产品,具有一些有趣的功能,如 Web 楼层规划器、资产跟踪、推荐引擎等。
您的开发环境是什么?
嗯,我使用我的 Lenevo ThinkPad,配备第三代 Intel i7 处理器、16GB RAM 和 2GB 显卡。笔记本电脑连接了一个 27 英寸三星 LED 显示器,以提供更大的工作空间。虽然我非常喜欢使用 Visual Studio 2012,但目前仍在使用 Visual Studio 2010 配合 .NET Framework 4.0 以及安装了 Power tools。C# 和 XAML 是我创建应用程序的主要语言。我有时也使用 Expression Blend 来创建样式,但除非非常复杂,否则我通常更喜欢手动编写样式。在我的 Windows 7 系统上,我还会大量使用 SQL Server 2008 R2。此外,我使用 .NET Reflector 来检查程序集并了解语言的内部结构。有时使用 FxCop 和 StyleCop 来分析应用程序。我还大量使用远程桌面和 TeamViewer 进行远程连接。
作为一名 WPF 开发者,我曾经喜欢使用 Prism 来构建复合应用程序。如果没有 Prism,我也会构建自己的框架,混合 MEF、MVVM 和 MVP 的优点来支持分层架构。在高度重视解耦和代码可维护性的同时,我也非常注重性能和优化。并行计算也是我的优先事项之一。我主要使用 Visual Studio 2010 编写测试用例,有时也使用 PEX and Moles。
社交媒体是我的重点之一。工作时我大量使用 Facebook 和 Twitter。我通过社交媒体学习。我喜欢阅读推文,并关注有共同兴趣的人。我使用 Tweetdeck 或 Chrome 插件来完成。
您最近在玩什么新工具、语言或框架(或者只是有兴趣探索更多)?
HADOOP 是最近非常流行的术语之一。处理大数据绝非易事。并行计算和同步长期以来一直是最棘手的问题之一。我目前正关注 HADOOP 和云计算。我正在尝试关注的一些工具和技术包括:
如果时间允许,我也想记录一些我使用这些技术的经验。
您最讨厌的编码习惯是什么?
我痛恨在字段或成员中使用下划线。这真的让我很烦恼。有些人喜欢使用它,但我依赖明确的名称而不是缩写形式。此外,我也讨厌注释掉的代码。我通常不喜欢审查被大量注释掉的代码。
顺带一提,我喜欢尽可能遵循 C# 编码约定,有时我也喜欢使用 StyleCop 来查看风格问题。
您是如何开始编程的?
我从一开始就喜欢编程语言。我的第一台电脑是 1998 年的 Pentium III PC,内存只有 128MB。我开始阅读 C 语言,并对此产生了兴趣。我记得在我早期开发的一些很棒的应用程序,用现代语言编写起来并不容易。
我最初使用 Java。我早期对 Java 有粗略的初步了解。一旦我开始接触 .NET,就一直专注于 .NET。我对 C# 语言深感着迷,我喜欢它日益丰富的特性。与语言和 CLR 团队的紧密联系使我能够与这些酷炫语言背后的开发者保持 constant 接触。感谢微软将我列入内幕人士名单,这是我的荣幸。
开发者社区是如何影响您的编码的?
社区都很好。我无法想象人们在网上或线下找不到志同道合的人。我在这里 CodeProject 发表了我的第一篇文章,目的是让社区中的其他开发者了解我最近学到的知识。我过去经常写一些简短的帖子和博客,但随着时间的推移,我选择了质量而非数量。我喜欢传播我的知识,也鼓励他人这样做。想象一下,如果没有 CodeProject、StackExchange、Google 等网站,你会如何?作为一名开发者和一家公司,你肯定会感受到差异。世界正在以如此快的速度发展,你需要学习很多才能跟上技术。社区是开发者发现最有帮助的、改变他们生活的东西。如果你还没有加入,请立即加入本地开发者社区,立即受益。
您认为自己在 10 年后会是什么样子?
每个人都有自己的梦想。我有一个梦想,那就是创造一些让我感到自豪的东西。我已经从我的努力中获得了许多成就。我为自己是一名作者感到自豪。十年后,我希望更接近技术和社区。我甚至可能尝试我的创业技能。但总的来说,我肯定会为开发者社区做出更多贡献。
我无法想象没有技术的生活。所以,你可以期待在十年后,我对技术和创造一些很棒的真实世界框架和应用程序会更加关注。
如果你给一个崭露头角的程序员一条建议?
在深入其他领域之前,你至少需要精通一种编程语言。专注于你开发生涯的最初几年。相信我,这是你职业生涯的关键部分。从你的前辈那里学习尽可能多的知识。阅读你选择的语言或技术的大量博客和文章。尽可能多地理解,并灵活地将你的技能应用到其他领域。在职业生涯初期,你不必加入大公司,而是选择一家最适合你、并且你期望从中学习很多的公司。小公司通常能让你接触到很好的技术,并帮助你了解整个运作。
加入并为 CodeProject 等本地开发者社区做出贡献。尽可能多地阅读,阅读代码,并尝试熟悉良好的编码风格和模式。熟悉 设计模式,并阅读我的文章/书籍。