17611538698
webmaster@21cto.com

讨论:你是个Coder还是开发者?

资讯 0 2005 2018-03-12 12:02:36


作者自述:
我叫YegorBugayenko。我正在编写Code Ahead一书。这是一本关于程序员,软件工程,管理和哲学的新手。它将于2月份出版。


 
问一下,你自己是哪一个?在尝试回答之前,先来看看作者认为是相互区分的技能。
 
软件开发和编码是两回事。前者通常包括后者,但并不总是如此。编码只是产生了一系列的代码,而软件开发则是创造了新产品。 不太幸运的是,现在大部分的程序员都是编码者。尽管他们自称是开发者,但是实际上,他们缺乏将产品设计和代码编写区分开来的重要社会技术技能。
 
 

1.jpg

Hard Men (1996) by J.K. Amalou
 
 让我来告诉这些症状。
 
有一位兄弟叫马里奥。正像他的简历所说,他是一位非常熟练的Java开发人员。在这个行业工作了十几年,做了一些企业项目,看起来很有经验。我们访问了该项目和他在GitHub上的代码提交记录。
 
在几个小时内,我收到了一个长达一页的Facebook消息。他在消息中说,他很高兴能够参与这个项目,但是还不了解什么需要帮助。消息中有一部分是他准备的问题列表,他已经准备好打电话让他们回答。
 
我回答说:“老兄,我当你像亲哥哥一样,但我没有时间回答你的问题。不是因为我懒,也不是不喜欢你的工作… 事实上,我不太想回答任何有关你消息里的问题。因为如果你明天退出这个项目,我的答案就完全浪费了。如果别人在一周内加入我们,也要有完全一样的问题,我需要再重复一遍解释吗?我也挺懒的。”
 
这位兄弟可以认为我是一个傲慢的人。后来他在某个主题看到了我的文章,说道:好的,我明白了。
 
在半小时内,马里奥提交了一个问题票,标题写的是“问题”,描述是“帮助我理解项目”。
 
作为该项目的设计师,我该怎么做? 我用一个简短的信息关闭了该问题:“请把问题描述得更具体。” 我的回答离“迷路”只有一步之遥,但我还能说什么呢?马里奥不知道如何使用Ticket系统。 他很可能一直在一个舒适的办公室工作 ,周围的人都是他的朋友。 甚至不使用聊天,只是在桌面上提问。我要求做一些他从未做过的事情。 当然,他不知道如何。我怀疑他会不会感到惭愧。
 
接下来将发生什么? 他在Messenger中回到我身边,提出了同样的问题。其实他的反应将取决于他的个性,可能是愤怒,困惑或其他 。 从这些看出,马里奥不是一个软件开发人员,他是一个Coder。他不了解现代软件项目的动态,不知道如何使用即时通讯工具,也没有社交技术技能:
 
  • 搜索和查找信息
  • 提交问题,收集答案
  • 将知识添加到存储库
  • 提交代码更改
  • 以书面形式讨论,审查变化
  • 及时关闭问题票
  • 维护知识库中的规则纪律

 
差不多每个加入我们的人都是这样,但是现代软件开发项目比编写代码更像一个社交活动。了解如何与团队互动并处理信息比知道如何使用设计模式更为重要。学习这些技能的唯一方法就是练习 。 我已经说过多次了,让我再重复一遍:如果你不是一个开放源代码和StackOverflow或其它技术社区的活跃分子,你很可能不会拥有这些技能。
 
你认为作者说的对吗?欢迎讨论~

评论