HTML5资讯

当前位置: HTML5技术网 > HTML5资讯 > 年轻的程序员应该怎么做?

年轻的程序员应该怎么做?

    【HTML5中国 精选译文】前几天,我和西蒙一起喝咖啡,谈了一些工作上的事情,觉得我们都面临同样的问题,就是在管理别人的时候,应该把自己放在什么位置。她提出了一个很恰当的比喻来解释在给新员工任务时会出现的各种情形。

      就像你让他们挂幅画,但是他们从前没有挂过。你知道该怎么做——诀窍就是让他们现在试试。实际上,对你来说这里有很多你根本没有想到的非常明显的需要解释的问题。所以,你对新职员说:“把画挂起来。挂好后告诉我一声。”这是很显然的,难道不是吗?他应该怎样拧螺丝呢?事实是,他不知道要挂起这幅画还有很多事情需要学习。这里还有很多你会忽略的事情。

      首先,做这件事他需要什么工具?你知道在后面的橱柜里有一把锤子和一些钉子。但他不知道橱柜里有他需要的东西。同时,很自然地,他会自动假设你不会让他在没有工具的情况下做这些事。他看看自己的桌子,只会发现一个订书机和一个磁带分配器。

      对他来说做这件事有两种方法,一是把双面胶贴在画后面。这是个看上去很不错的方法,直到画从墙上掉下来,你才会发现他做错了。另外一个方法是,拿宽胶带把画固定在墙上。这个方法似乎可行,因为大体上,画确实挂起来了,而且没有过度变形。如果用了大量的订书钉,还是可以固定在墙上的。但是,画会很丑,不符合你的要求。而且,如果你不阻止,他就会按这个方法把画挂上。

      特别是对于那些雄心勃勃的年轻程序员,还有其他的出错的方式。当下周你的老板来问关于射钉枪的订单时,你会发现这个年轻的雇员是按照这个方法挂的画。于是,你和他谈谈上周他在网上找到了什么,一起阅读参考方法,他了解到你是用钉子把画钉在墙上。如果走运的话,你还可以告诉他钉画用的钉子和建筑用的钉子的差别,小号的、重量比较轻的锤子就像置物柜里的那把就非常适合挂画。

      如果倒霉的话,你就得当场示范,同时还有如下的对话:

      “为什么我们没有射钉枪?”

     “因为我们没有射钉枪的预算。”

      “因此我们不能把事情做好?”

      “用锤子钉钉也行。”

      “但是我们不应该试图把事情做得更好更快吗?是不是因为我们经常用锤子所以就一直用?如果多次使用射钉枪,可以把差价补回来。”“我们没有花足够多的时间来证明买个射钉枪是合理的。”

讨论以他非常郁闷结束。

       现在你认为你已经把工具的问题说的很清楚了。问题是,他还需要知道如何有效的利用它们。再一次,结局很明显,因为你知道怎么用锤子。对于从没见过锤子的人来说,用宽的、平的面敲打像钉子一样小的东西似乎是很容易的。当然,你可以很轻松的使用锤子。大概你能够直接把钉子钉进粗糙的墙面,而不用用手扶着钉子以防它左右摆动。

      在木匠看来这很可笑,但是在使用软件工具的时候,它是真实的事情。一般情况下,软件在参考文档上是很长的,在实例和习惯应用上是短的。你可以买一千页的书来查找所有你能用到的软件,但是却没有几页可以告诉你,在你的案子里软件应该如何使用。即使你有实例,实例也不能告诉你为什么一定要那么做。所以,你费力地阅读文件,最终得出结论是射钉枪是做这件事最好的工具,而且用锤子的这一面敲打东西是正确的做法。

      当我开始在XML工作的时候,就陷入了这个泥潭。 我看到的所以参考资料都这么说:“ 使用 SAX分析器阅读 XML文件,不要使用 DOM阅读器 DOM阅读器很慢而且占用大量内存。”最终,我和同事说起这件事,“为什么?难道 DOM阅读器用起来就这么差吗?”他回答:“也不是那么差,但是为什么当要得到作者和标题信息时,要下载10字节的文件到内存里?”"你看,我有20千字节的文件,我想把所以的东西都在网页上显示出来。"“哦,是的,你想使用DOM分析器。”

       这里可能还有工具—数据互动问题。你的职员知道了怎么敲打钉子,他做得第一件事是把一个钉子钉进这幅画的边框。

     “不对,你看到边框后面的金属丝了吗?先把钉子钉到墙上,然后把金属丝缠到钉子上。”

     “ 哦,我正想它有什么用呢。但是,你确定只需要一个钉子吗,难道不应该是钉子越多越安全吗,六个钉子怎么样?”

       “一个钉就够了,如果你钉的太多就不好调整了。”

     “为什么需要调整?”

     “为了让画平衡。”

     “哦,画需要平衡吗?”

唉,又是一个事先没说清的要求。

      现在,我们进入更高级别的设计问题。这幅画要挂在什么地方呢?应该把它挂多高呢?他没办法判断,所以再一次发现事情不是你想的那么简单。

      你知道画不能放在这边,因为当门打开时会遮住画。画也不能放在那里,因为你在那要放一个新书柜。或许你有一个14英尺高的空间,这幅画仅仅是用来填补空间的东西。可能这是你和猫王的合影,你想把它摆在视线范围内,当有人在你的桌子旁坐下来,就可以立刻看到它。又可能,这是一幅老照片,你只是想确保它不会暴晒在阳光里。这些都是“商业规则”。你必须把这些考虑进去,挂画的时候也和这些规则一样,要慎重考虑。

       还有一些商业规则会影响你的行动。如果这画非常名贵,你可能会把它放得安全一点,或者把它放到够不着的地方。若是它确实很值钱,你可能想把它放进墙里,隔着两英寸的玻璃,并在它旁边安装一个报警系统。如果墙是混凝土砌成的,你还需要一个钻孔机。假如墙本身就很值钱,你就不得不把这幅画悬挂在屋里。这些规则可能很有道理,但是它们不是那么明显和直观。有的方法在解决这个问题时是对的,应用于那个问题时可能就是错的。只有通过在那间房子里工作,了解具体问题,然后学着解决问题才行。你也需要考虑哪些规则会发生变化。你真能确定要把这幅画挂在哪吗? 这幅画能移动吗?会有另一副画放在它原来的地方吗?新画和旧画的尺寸会一样吗?

       你的新员工不可能会判断这些事情。不幸的是,你可能会忽略这一点。你的任务是帮新员工详细介绍他需要做的工作,而且很多细节是他不需要知道的,至少不用提前知道。如果他足够聪明而且有好奇心,就会提出问题,学着怎么解决问题而且知道为什么得这样解决问题,但是这个过程要花费很多时间。

       如果你没有讲清楚,他可能会摸索着开始。上面提到的雄心勃勃的程序员可能会就此偏离轨道。你告诉他把你的宠物狗照片挂起来,一周后他回来了,问你是否能检查一下他的石膏板锯子的设计。

       “为什么你要设计一个石膏板锯子?”

       “因为办公室里的木头锯不适合锯石膏板。”

        “什么?你以为自己是地球上第一个想要锯石膏板的人吗?你应该到家得宝去买个锯子。”

         “是,这个办法好,我这就去买一个。”

        “等等,你为什么要先切石膏板?”

        “因为我不确定用那种方法把画挂起来最好,所以上网咨询了一些为新闻组工作的画廊设计师。他们说挂画最好的方式是把墙面切开,在墙上造一个框架。这样,可以从后面把画放到墙里。因为不用移动画,所以玻璃就不会碎。这是个比用钉子挂画优雅很多的方法。”

         “……”

        可能在刚听到这个比喻的时候会云里雾里,但是相信我——它们真的有很多共同之处,如果截止到现在你还没在职业生涯里遇到这样的事,以后会遇到的。

           现在关键是,有很多你必须知道的事,包括从详细的技术水平到远程的基础水平。无论你的新员工有多聪明,都不可能提前思考这个问题,这是需要实践经验的。你可能和他们工作很长一段时间了以至于忘了之前有段时间你不理解他们。但是你必须学着把细节都讲出来,并确定新员工乐意把问题提出来。

【年轻的程序员应该怎么做?】相关文章

1. 年轻的程序员应该怎么做?

2. 程序员应该知道的13个设计技巧

3. 依赖 IDE 做开发,会让你成为一名糟糕的程序员么?

4. 给程序员应聘的26条建议

5. 程序安全的第一道保障——程序员

6. 怎么进行JQuery扩展?

7. 苹果和任天堂成美国年轻人追捧的品牌

8. 10款Web程序员必备的CSS工具

9. Web程序员最牛最实用的资源

10. 又到毕业季:程序员Web面试之JQuery

本文来源:https://www.51html5.com/a2444.html

点击展开全部

﹝年轻的程序员应该怎么做?﹞相关内容

「年轻的程序员应该怎么做?」相关专题

其它栏目

也许您还喜欢