博客园开篇--对程序员的一点看法

前言

  转眼已经毕业将近三年,博主也在博客园潜水了三年。一直以来都想写写博客记录自己的工作感悟和学习心得,无奈由于各种原因一直搁浅(都在草稿箱里)。年后,身边的朋友都忙着跳槽找工作,只是有的朋友一两天就拿到比较满意的offer,有的朋友辛辛苦苦一个月还没有所获。作为一个程序员,我想谈谈个人对程序员竞争力的一点看法,轻喷。PS:前前后后写了大半天,也是醉了。。。

有关编程语言

  关于编程语言,一直以来都能引起激烈的争论,我们这里不讨论编程语言本身,只探讨与语言相关工作的竞争力。

  C++ :游戏开发(cocos2d-x)、Linux服务端、云计算。。。

  Java :Android、服务端,BS、CS。。。

  O-C  :IOS

  C#   :Unity3d、BS、CS。。。

  JS    :Web、服务端,游戏。。。

  PHP  :BS。。。

  

有关技术

  作为一个程序员,博主一直以来都很喜欢C#这门语言,因此博主结合自身情况谈谈对技术的一点愚见。一直以来,博主都认为,作为一个程序员纯粹从技术的角度来说,都应该“向内”和“向外”这两方面努力。

  这里所说的“向内”指的是深入到语言本身,也就是修炼内功。博主一直反对语言本身只是工具的说法,因为每门语言都有其独到的特性和其所遵循的哲学。博主工作两年多以来最大的感触就是:原来我才刚入门。对于如何深入学习C#,看这里:http://www.zhihu.com/question/28700639。

  向外是个大话题,博主也谈谈自己的拙见。

  首先,作为一个C#程序员,要深入理解面向对象的概念。这里的深入理解当然不是简单的记住:封装、继承、多态,而是要熟练面向对象的五大基本原则、要熟练运用常用的设计模式(包括MVC、MVP、MVVM等)。

  其次,要理解ORM、IOC、AOP、SOA,TDD等的概念,熟悉相应的实现框架。

  最后,要加强软件设计和架构方面的能力,至于能达到什么高度,就要看个人的天赋和努力了。

其他能力

  读过软件工程的都知道,正常软件项目的周期:问题定义和规划、需求分析、软件设计、软件编码、软件测试、运行维护,一个成功的软件项目真正Coding时间的占比是很少的。所以作为程序员的我们,不能单纯的提高技术,沟通能力、文档能力、管理能力都很重要,在此博主就不一一列举了。

  如果把一个程序员的能力比作一个美女,那么技术能力就是一个美女的外在,其他能力就是内在了。外在决定了你能不能进入一家心仪的公司,而内在决定了你能走多远。

后话

  作为程序员,我们也要注意提高自己的形象。不要整天宅在家里就知道毛片、泡面、撸啊撸,永远大一码的T恤衫以及几天不洗的头发,让别人一看就知道你是程序员。世界那么大、那么精彩,我们要多出去走走、到处看看。

posted @ 2015-04-15 15:00  夏天的雪花  阅读(1397)  评论(12编辑  收藏  举报