程序员的三个技能

作者:fly 发布于:2014-2-14 10:33 分类:成长历程

1. 编程能力

这条浅显易懂啦。学生都知道,老师布置一个大作业,分组,分工,开始,到完成。最后总会发现这样一个作业总是由一个叫做“大腿”的同学一手包揽,从设计到coding再到测试。这种做“大腿”的能力,就是我说的编程能力啦。如何能写出好的代码,便于维护,又能适应需求的变化,可不是一件容易事。这类的书籍也不少,所有程序员都应该读上一两本。

2. 计算机系统的理解

这条是指对计算机专业知识的掌握。只会写代码不够的,这样最多能写出一个hello world。要做一个完整的系统可能会用到网络、线程、文件、数据库等等,不要都精通,但是心里都要略知一二才行。当然能够样样精通那时再好不过的了。要学哪些知识呢?我觉得考研计算机统考的四门总结的很不错:《数据结构》,《计算机组成原理》,《操作系统》,《计算机网络》。

3. 领域专家

这条是指你的看家本领,可以和计算机相关,也可以无关。例如你精通网络,可能Cisco会很喜欢你;你钻研图形学,游戏公司会青睐你;懂金融的IT人才更是赚钱。这些能力可能需要经验的积累,往往刚刚毕业的大学生比较缺乏。


稍微评价一下吧:

如果把程序员划分为2B的、普通的和文艺的三种,那么对应有以上懂一技能的,兼有二技能的,和三个技能都有的。当然他们拿的薪水是不同的。

如果只懂编程,是不够的。学的时间久了,做的项目多了,对计算机的理解会更加全面更加到位。如果你读研究生,硕士或者博士,参与并且钻研过一些领域,多媒体呀、三维呀、图像处理呀很多很多,就可以对某一个特定领域渐渐掌握。这也是我认为读研究生的必要性。

随便找一份招聘要求,这三点都会写在上面。并且面试的时候,大多数人都可以通过对一二技能的检验,面试官多数比较看重三技能。

如果想跳出程序员的级别,进入技术的管理层。那么除了者三个技能外,可能还需要一些其他的技能,例如管理能力,领导能力,沟通能力等。

那些创业成功的牛人们,首先都是技术过硬的人。这个人创立了微软,那个人建立了Google,Facebook迅速火了挣了好多钱。简单想想,都觉得他们是因为偶然想到一个好的idea,遇到一个好的时机,生在一个好的年代(常常有人说现在创新很难,所有的东西人家都做了,要是自己生在那个什么都没有的年代就好了——纯属扯淡)。这些创意的产生,源于他们对技术及其扎实的功底以及对领域非常深刻的了解。

发表评论:

 
Powered by emlog sitemap