成为更优秀的开发人员:第二步-知道你的核心竞争力

转载 2012年03月21日 17:56:29
编者按:原文作者罗布·沃林(Rob Walling)从事Web应用开发10年之久,担任过业内顾问、自由开发人员和全球最大的信用卡预付公司City of Pasadena的开发经理。现居住于加州中部城市弗雷斯诺(Fresno)。关注并指导IT创业,著有《开发人员创业指南 / A Developer’s Guide to Launching a Startup》一书。以下是“成为更优秀的开发人员”系列的第二篇。(第一篇:《成为更优秀的开发人员:第一步-“制造”粉丝》

  多年来,商业顾问一直指导企业要“知道你的核心竞争力。”也就是说,要“了解自己的优势,并坚持下去。”。例如:哈雷戴维森的摩托车世界闻名。但在香水行业,他们可能就不那么优秀了。世界上最好的六发式左轮手枪有一部分出自史密斯威森公司,但是我却不认为他们的自行车也能如此成功。麦当劳嘛… 好吧,我不会说他们很会做食物,但是他们却非常擅长卖出大量的食物。但是他们绝不会,我的意思是永远不会把它兑换成现金,然后到拉斯维加斯赌场去做龙虾三明治。

  知道自己的核心竞争力可以帮助开发人员远离麻烦。在我的职业生涯中,我大多是在编写web应用程序,并且自认为很擅长这个工作。但是也有一些我从未做过,也不会马上做好的事情:编写编译器、创建一个超高速搜索应用程序和实现一些我想到的加密算法。这使我想起了一个故事…

  我当时在合作维护一个很成功的电子商务网站,我们在思考一个加密密码的方法,这样它们就不用以纯文本形式储存了。网站是用Java写的,我大约6个月之前用过Java,但即便是6个月过去了,无论如何我还是不能在Sun公司提供的文档中查到任何信息(有人知道如何高效地使用搜索工具么?)。(编注:推荐阅读《如何使用搜索技巧来成为一名高效的程序员》。)

  对文档进行了几个小时的彻底搜查之后,我放弃了,打算编写一个快速简单的加密算法对密码进行散列处理。取每个字符的ASCII值,加点什么数,除以点什么数…不管怎样,始终都是数字,对吧?

  我最终实现了。然后我们发布了这个应用程序。不出所料,几天之内人们一直抱怨无法登录。最初我想这肯定是某种诡异的巧合;十个人同时忘记他们的密码。我已 经准备好调用文件了,直到大约调查了20分钟以后,我发现,当字符串中有两个字符是可见的ASCII码范围的边缘字符时,我的加密算法并不能真正地起作用。它确实处理了那些值,可是加密结果却是不可见字符,也被称为“控制”字符。

  控制字符每跨越一个边界,不管是从数据库到应用程序、还是从应用程序到浏览器,都可能会因为层与层之间错误的编码而产生意外变化,所以这给我增添了许多困难。果然,一些错误的ASCII解码导致了一大批人无法登录。

  这个案例让我学到了坚持自己优势的重要性。多次成功之后,我们经历了第一次挫折。好在我们没费多大力气就修复了它。

  坚持自己的优势绝不表示你不该涉及新事物。恰恰相反,你必须不断学习来加固自己的核心竞争力,否则就可能落伍。当然,在这点上一定要明智。(编者注:Rob 文中蕴含的意思可能是:要有选择性地学习新事物。例如:核心竞争力是Web开发,那么,应该选择和Web开发相关的新事物学习,而不是转而钻研加密。)

  从web应用程序到桌面应用程序的跨渡并不是很大。从web应用程序转到编译器,(虽然有可能)这是很困难,远非看一两个教程就可以搞定的事情。当然,还要远离加密那个更繁琐的东西!对于那些完全超出你知识范围的任务,你先要花大量的时间做调查、渐渐熟悉这个主题、然后要慢慢学习,而不是复制粘贴你第一眼看见的示例代码。(编注:对于一位自由开发人员,Web开发或许是一个不错的选择,仅2010年12份,全球主要项目网站新增Web开发项目15,641个,涉及项目预算超过1700万美元。

如何成为优秀开发人员

如何成为优秀开发人员[1]:关于兴趣   上一篇帖子已经给出了“优秀开发人员”的定义,那么现在我来说说成为优秀开发人员的头一个重要因素:兴趣。   因为物理学超级大牛爱因斯坦曾说过...
  • wuhenyouyuyouyu
  • wuhenyouyuyouyu
  • 2016年07月11日 10:21
  • 697

如何成为一名优秀的开发者?

原文链接:http://www.sitepoint.com/good-developer/
  • Aylee_Liu
  • Aylee_Liu
  • 2014年10月18日 19:09
  • 1058

成为更优秀的开发人员:知道自己在开发什么

有个老故事:有一位参观者来到IT部门参观,遇到一位软件开发人员。参观者询问他在做什么,开发人员答道:“写代码。”   参观者走到了下一个隔间,然后向另一位开发人员问出同样的问题,他回答到:  ...
  • u012388497
  • u012388497
  • 2014年04月14日 09:29
  • 388

成为更优秀的程序员的11种方法

1.实践与犯错误 第一个建议是你应该保持不断练习,代码敲得越多就越高效、犯的错误越多收获得就越多。为什么在你练习时,犯错非常重要?你编的代码越多,你就会意识到你在处理错误、设计、线程处理等情况下...
  • wzq__janeGreen_
  • wzq__janeGreen_
  • 2018年01月02日 17:53
  • 148

什么是你的核心竞争力之三?

作者:范军 (Frank Fan) 新浪微博:@frankfan7 职业规划有点像打牌,有的人牌好,有人的牌好像不咋地,可打好了照样能赢。唯一和打牌不同的是,别太在意别人的牌和打法,不管什么牌都努力...
  • u010170023
  • u010170023
  • 2013年05月05日 17:39
  • 44140

程序员的核心竞争力

软件开发工作分两个层次:体力化的代码打写(编码)与思考层面的创造。竞争力的关键就在于后者。...
  • foruok
  • foruok
  • 2017年02月06日 06:53
  • 3561

如何成为一名优秀的程序员

无论做什么工作, 都希望能做到最好, 就像参与一款游戏, 每个人都希望能赢到最后. 工作自然也会有其”秘籍”, 让我们更快的实现目标. 有些工作五年的程序员仍然很平庸, 也有刚学一年就技术出众的天才....
  • u012515223
  • u012515223
  • 2016年05月16日 17:30
  • 2546

腾讯的核心竞争力是什么!

《腾讯的核心竞争力是什么》 我决定在国外出差的最后一晚晚点休息,在酒店静静的认真的回答这个问题。我尽量客观的负责的回答,不愤青,不炫耀,不攻击,用朴实的语言。只代表我个人的思考,不代表公司。...
  • wolangjushi
  • wolangjushi
  • 2014年06月19日 10:35
  • 654

10步让你成为更优秀的软件开发人员

【IT168 评论】这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。   1. 永远不要复制代码   不惜任何代价避免重复的代码。如果一...
  • CsethCRM
  • CsethCRM
  • 2013年03月04日 10:25
  • 319

如何成为一个优秀的程序员(宋劲杉)

标签: 程序员编程语言嵌入式行业前景建议 2013-05-30 18:30 1870人阅读 评论(0) 收藏 举报  分类: 职业规划&时间管理&思维方式(2)  ...
  • lin111000713
  • lin111000713
  • 2017年02月09日 09:36
  • 1025
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:成为更优秀的开发人员:第二步-知道你的核心竞争力
举报原因:
原因补充:

(最多只允许输入30个字)