zoukankan      html  css  js  c++  java
  • 我对程序员技能的一些认识

    看了这篇文章《优秀程序员无他-善假于物也》,我忍不住再次吐嘲。其实,这篇文章对于刚刚接触编程——也就是刚刚会写"Hello World"的人,还是有点参考价值,只是这篇文章说到的技能,应该是优秀程序员所应该具备的,但只会这些就称之为优秀的程序员,未免过于贬低优秀这个词了。

    很多时候,我听到一些程序员很爱标榜自己很爱接受新技术,看了多少本书,很上进,相反,象哥哥这种老程序员,则之以鼻,认为不接受新事物,不爱学习,固步之封。对于这种井底之蛙,我是一笑置之,懒得跟他说,免得教聪明他。当然,如果能虚心点,我倒是很乐意和他们探讨的。

    相反,我是个非常上进的程序员,非常热学习。能十几年如一日地编码,我想在中国里没几个人能做得到吧。十几年,听上去很遥远,可是当这一天到来了,也不过如此。为什么不爱跟着这些潮流走?因为昨天还是MVC3,EF4,今天就是MVC4、EF5。明天就是MVC5,EF6了。这些东西根本没有积累的价值,而只有使用的价值。什么叫积累的价值,什么是使用的价值,我打个比方说吧,家里有个老古董,皇家御用青花瓷的花瓶,就是具有收藏价值。而使用价值,就现在十几块钱的那种花瓶,用了一段时间,看着不顺眼,就扔了,再买一新的。哪些知识是具有积累价值的呢?在我看来,越靠近底层的,越有积累的价值。比如说,算法、编译原理等等。

    作为程序员,不能仅仅满足于些看看书,写写代码这个阶段。在我看来,程序员大慨可以粗分为三个阶段。

    第一阶段就是具有基本的编码能力。

    在这个阶段里写一些代码了。主要能力包括:

    1、能够看懂英文文档,照着文档上的API写些例子出来。

    2、碰到问题,能够通过搜索引擎去搜索,去解决一些问题。

    3、对源代码管理有一个基本的认识,能够使用 SVN 这些进源码的管理。

    4、能够看懂一些代码片段。

    另外吐嘈一下,我接触到的程序员,这个阶段往往最自以为是,很喜欢弄些名词来唬人。

    第二阶段就是对代码有着很强的控制能力。

    1、能够阅读一些框架的代码,并且对框架的设计有个整体的认识。

    2、在使用框架的时候,能够发现,并且解决一些问题。

    3、能够理解并且灵活应用一些设计模式到自己的代码里面。

    4、能够写一些框架了。

    第三阶段就是对产品的驾驭能力。

    这个阶段应该具备产品的研发能力,把一个产品给你,通过对它把玩一番之后,能把它逆向出来。包括:

    1、这个产品的基本原理是什么,都涉及到哪些技术。

    2、技术的方向感。要解决某技术上的问题,应该往哪个大方向走,应该收集哪些资料。这里还有个命中率的问题,放向感好的,往往能命中90%。当然,沿着这个方向走不通了,还能够换个方向,继续尝试。

    3、代码级别的逆向分析能力。很多时候,我们做的产品,存在这样或者那样的问题无法解决,但别人的产品却没有。往往是因为受到不公平的对待,某些API不对我们开发,当然,我假设做的产品是运行在 Windows 平台上,可以说,开源还是相对公平的。这时候,要突破这些限制,就需要对代码进行逆向分析,去寻找解决的办法。据说,一度灸手可热,受欢迎程度远超 VC++ 的 Borland C++ ,就是因为卡在 Windows 平台的某个 API 上,而渐渐不敌 VC++ 。

    以前就是我对程序员技能的一些理解,欢迎拍砖。

    我最近所写的一些文章链接:

    被神化的架构和被夸大的CTRL+C、CTRL+V

    一位软件作者的吐嘈——读《Google Reader猝死启示录:互联网无法永远免费》有感

  • 相关阅读:
    【Codeforces 349B】Color the Fence
    【Codeforces 459D】Pashmak and Parmida's problem
    【Codeforces 467C】George and Job
    【Codeforces 161D】Distance in Tree
    【Codeforces 522A】Reposts
    【Codeforces 225C】Barcode
    【Codeforces 446A】DZY Loves Sequences
    【Codeforces 429B】Working out
    【Codeforces 478C】Table Decorations
    【Codeforces 478C】Table Decorations
  • 原文地址:https://www.cnblogs.com/ansiboy/p/2978668.html
Copyright © 2011-2022 走看看