与 Kelly Sommers 的程序员访谈






4.85/5 (15投票s)
欢迎阅读我们继续推出的 Code Project 开发者访谈系列,在此系列中,我们与开发者们畅谈他们的背景、项目、兴趣和痛点。在本期中,我们将采访“移动领域的大师”Kelly Sommers。
欢迎阅读我们继续推出的 Code Project 开发者访谈系列,在此系列中,我们与开发者们畅谈他们的背景、项目、兴趣和痛点。在本期中,我们将采访“移动领域的大师”Kelly Sommers。
你是谁?
我叫 Kelly Sommers,是一名软件开发者,生于并长于加拿大。我热衷于开发各种移动应用,并且喜欢所有平台。我是一个热情的学习者,并决心每天提高自己的技能。我是一个挑战爱好者。问题越大越好。一旦完成,我就需要另一个,继续来吧!
在我的个人编码时间里,我什么都涉猎。我可能会在开发一个 Continuous Client 原型,评论应用设计和用户体验,就像我在 “Metro 设计的三大支柱” 这篇文章中做的那样,学习新的设计模式,或者与他人进行结对编程,学习新东西或向他人展示我学到的东西。
任何关注我 Twitter 的读者都知道,我涉足各种各样的话题。我热爱挑战,而挑战无处不在,所以我自然而然地走到哪里都有挑战。
您做什么?
追求挑战让我朝很多不同的方向前进,以解决许多不同的问题。我曾从事桌面应用、移动平台、移动应用、Web 应用以及支持它们的各种服务。
我目前的工作更侧重于服务,但我仍然有机会涉足许多不同的领域。我典型的一天包括与我的团队进行大量的协作。一天可能从关于一些架构设计的大量讨论和白板头脑风暴开始,然后与团队中的开发人员进行结对编程,以快速实现我们想到的想法。
我最近越来越喜欢结对编程了。几个月前,我经历了一次非常棒的结对编程,让我受益匪浅,现在我尽量多地将其融入其中。我发现我与团队成员非常合拍,这带来了很多积极的结果。
您的开发环境是什么?
我的工作电脑是一台配有 SSD 和 16GB RAM 的 Intel Core i7。我的家用电脑也差不多。我的开发工具取决于你问的是一天中的什么时间。你可能会看到我在 Visual Studio 2010 或 MonoDevelop 中用 C# 编写代码,或者在 Xcode 中用 Objective-C 编写代码。过去几年,我大量使用了 C# 和 Objective-C。
C# 可能是我的最爱语言。我喜欢 C# 以相当快的速度发展,不断添加新的语法和语言特性。
您对哪些新工具、语言或框架感兴趣?
任何我能接触到的!
最近我一直在玩 Apache Cassandra,并希望尝试 Hadoop,以便更好地掌握大数据解决方案以及它们与传统解决方案的区别。我想提高这些技能,以便更好地将决策与我面临的问题相匹配。
我也希望有机会尝试 Clutter UI 库,该库使用 OpenGL 和 OpenGL ES(智能手机/嵌入式设备)。
我最近和一个朋友结对编程,他向我展示了 Node.js,我觉得非常有趣。我喜欢接触各种事物,因为你总能从中找到可以帮助你工作的学习点。
您最讨厌的编码习惯是什么?
意外的复杂性。我讨厌发现一大堆过度设计的代码阻碍我完成某项工作。我们又不是要发射航天飞机,只是想在屏幕上显示一些东西!
您是如何开始编程的?
我父亲会带回家里一些工作上的旧电脑,这些电脑经常无法启动,我会花几个月的时间去捣鼓它们,试图让它们开机。我第一台真正能开机的电脑是运行 DOS 的电脑。我不记得是什么型号的硬件了,但很可能是把很多东西拼凑在一起,直到它能工作为止。那时我根本不知道自己在做什么!
几年后,我的一些电脑运行 Linux,我的第一次编程经历是使用 Bash shell 进行脚本编写。
高中时,我们很幸运有一位数学老师教授一门非常有挑战性的编程课程。这门课的及格率非常低。每个学期只有很少的学生能通过,但对于那些最终选择编程作为职业的人来说,这是一个很好的起点。我的编程热情就是在那时候开始的。
开发者社区是如何影响您的编码的?
开发者社区对我来说意义重大。我不知道如何充分表达它的价值。我认为博客对开发者交流知识和经验非常有益,但 Twitter 对我来说一直是迄今为止最重要的。能够与行业内的一些优秀人才交流学习,极大地帮助我作为一名开发者成长。观察有经验的人为我的学习和成长提供了方向和指导。
邮件列表、开源和 GitHub 是我将来想更多参与的领域。我认为 GitHub 真正凸显了这种社交编码的热潮,我对此感到惊叹。
几年前,一位朋友鼓励我开始写博客,我很高兴我开始了,因为我的博客收到的反馈非常好。我非常感谢我互动过的以及向我学习过的所有人。我在 Twitter 上的用户名是 @kellabyte,我的博客可以在 http://kellabyte.com 找到。我的 GitHub 仓库 目前还不算太有用,因为我才刚开始。
您会对一个新兴的程序员提供什么建议?
放慢脚步,花时间与社区互动并成长。很多人说成为一名优秀程序员的方法就是构建东西。我同意,但我也有过另一个极端,那时我每天编码好几个小时赶项目截止日期,只实现了脑子里冒出的第一个想法。我写出了糟糕的代码,没有思考我在做什么。我赶上了截止日期,但却产生了难以维护的“泥球”。
我花更多时间与社区讨论,从行业内的优秀案例中学习,这是一种有益的经历。有了博客、GitHub、Twitter 和开发者视频,大量的开发者知识都可以供我们学习。
让你的兴趣和热情引导你的学习。我投入更多精力,也更愿意忍受我感兴趣的东西的学习曲线。为一些有趣的编码留出空间。我们有时能创造出非常棒的东西。享受它吧:)