摘要:

20多年前我就开始写代码,很喜欢写代码,直到现在为止仍然热度不减!人生总是会和你开点小玩笑,我在多年之前走上了”非程序员“之路。我觉得无论你将来是否继续走技术路线,你的程序员经历将为你打下雄厚的基础。本文为你分享我的一些心得,为你分享一些程序员也应该掌握的”非程序员“技能,希望对你有帮助。

什么是”非程序员“?

什么是程序员?这应该不用解释了。所以”非程序员“就很容易解释了,只要你从事的是IT类工作,但又不是写代码的,你就是”非程序员“!

”非程序员“常见的职位有:项目经理、产品经理、测试工程师、配置管理员、实施工程师、SQA等;除此以外还有部门经理、副总、总经理、老板!

按照时间顺序,我做过的职位有:程序员、项目经理、研发中心经理、副总经理、常务副总,后来我创业了,所以老板我也当了一回!(PS:我这个老板是光棍司令)

我的程序员之路

如果我问你:你写过代码吗?

你肯定会说:写过,而且还写了很多!

请你留意,我说的是”写“代码,而不是”敲“代码噢。

我的运气比较好,高中一年级的时候学校就开课《BASIC语言》这门课。当时电脑是很稀缺的资源,家里没有计算机,虽然学校有计算机房,但上机的时间并不多。当时我编写程序的方式就是用笔在练习本上写代码,调试程序的方法就是在脑袋里面运行这个程序。平时我写下大量的代码在练习本上,非常珍惜上机时间,想榨干在电脑房中的每一秒中。虽然当时我的大部分时间是在练习本上写代码,在脑袋中运行,但就是因为这样的编程方式打造了我的编程基本功和素养。

我对计算机编程的强烈兴趣,驱使我报考大学时的第一志愿就是计算机软件,但我的高考成绩不理想,只考上了第二志愿……

我大学读的是”城镇建设“专业。这是一个”伟大“的专业,我们的系主任说:这个专业是用来培养建委主任的(现在叫建设局局长)!当时我们兴奋和自我陶醉了一翻,结果毕业时我们没有人能找到”建委主任‘的工作,直到现在好像也没有同学坐上了这个岗位。

大学毕业后我在某事业单位从事市政方面的工作,但我很快憋不住,我找到了一份新工作,在某软件公司做程序员,开发建筑预算方面的软件,正式开始了我的程序员的生涯。接着下来的5年时间,我写下了大量代码。当时整个公司13个,其中程序员4人,但作为程序员的我除了写代码,还需要自己分析需求,自己测试自己的软件,自己管理自己等。这样的工作模式,让我得到全面的锻炼。

我的非程序员之路

公司规模不断扩大,开发人员的数量增加了不少,后来做的项目一般都会配备几名程序员和一名测试,而我“理所当然”地当上了项目经理。最开始做项目经理的时候,还可以写一些代码,后来要花更多的时间处理需求、客户关系、项目管理、团队建设等事情,基本上没有时间去写代码了。

不多久,公司打算将我推向“研发中心经理”的职位,这是一个莫大的诱惑!刚接任研发中心经理一职,还期望能有一半时间来研究技术,实际上这是不可能滴。后来我还先后负责了ISO9001、CMM3级和CMMI5级的工作。

我从心里面其实是更喜欢走技术路线的,当初选择了管理路线让我踏上了“不归路”。我原本在技术上有很多“第一”:公司中编程最熟练的第一人,第一个最熟悉C#,第一个最熟悉SQLServer等等,多年所从事的“非程序员”工作虽然让我掌握了不少新技能,但同时也在技术上“废掉”了我的武功。

如果上天再给我一次机会,我会不会仍然选择这样的 一条路呢?

世界上没有这么多如果,我们只能做到总结以前,把握现在,面向未来。

上文简介了我的经历,下面开始为分享一些我的心得体会,无论你是否打算继续走技术之路,希望对你能有帮助。

关于程序员的几个误区

1.)30岁不能再干程序员

当年不知道谁说程序员不适合干到30岁,因为人脑越老越不适应这样的工作,程序员要趁30岁前做好转型的准备。我当做了研发中心经理,选择了管理路线,其中一部分原因就是受这个“30岁不能再干程序员”的影响!

国外四五十岁的程序员很多,人家写的代码越老越牛B,脑袋的思考能力完全不见到减退,反而越发厉害,所以"30岁不能再干程序员"就是一句坑爹的话!

当然这句话在中国说是有背景的,那就是程序员没日没夜的加班,如果是这样的状态,当然是很难挨到30岁的。所以我们要保护好自己的身体资源,特别是脑袋,记住两句话:

a)加班有害健康!
b)工作是公司的,身体是自己的!

2)程序员 = 码农

一些外行领导认为程序员就是一种低技术含量的工种,随便在街上可以抓一把,你不干还有很多人干!就算是我们程序员本身,也将自己自嘲为“码农”。

程序员是高技术含量的工种,如果你掌握了核心技术,你是相当值钱的!但是在我们中国高技术含量项目或软件太少了,所以如果你连续几个月觉得自己技术上没有什么进步的话,你要想办法找一些更有挑战的工作了。

3)掌握的开发语言越多越潮就越好

开发语言不在多,在于精!对于编程老手来说,掌握一门开发语言的语法可能只需要几天的时间,但编程的素养和深厚的编程功力是需要多年沉淀的。

我刚学会我的第一种开发语言BASIC,自认为感觉良好,自以为凭借自己小聪明就能运用BASIC写出很强大的程序。后来参加了程序员兴趣小组学习班,系统地学习了一些算法,才发现自己是井底之蛙。刚开始工作的几年开发语言用的是VB,还学习了一些设计模式,自以为自己很OO,后来随着工作经验的积累和遇到不同的问题,才发现自己是多么的肤浅。

编程基本功需要在学校阶段就打造,并且要让自己爱上编程。除了要认真完成所有编程课程的课后作业、练习和课程设计外,你自己还要尝试去挑战一些高技术难度的题目。

给几个题目你参考一下:

a)写一个五子棋(或象棋)之类的程序。
b)写一个画UML图的程序。
c)写一个视频播放程序,要自己写解码器。

自己独立完成需求、设计、实现和测试等全部工作。

程序员应该掌握的几个非程序员技能

程序员不仅要学习技术,也需要掌握一些“非程序员”的技能,这些技能能帮助你开阔视野,加速你的成功!

1)需求分析能力

2)活用UML分析及解决问题的能力

3)软件测试能力

4)项目管理基本知识

5)口头表达能力和书面表达能力

6)团队协作能力

以上知识不能只看书本,更关键是实际操练,操练的最有效办法就是:自己独立完成一个软件的所有工作;当自己具备一定基础后,就和几个同学或朋友去挑战更高难度和复杂度的软件项目。

职场上的一些小建议

1)想清楚自己想干什么。

星爷说过:人生没有理想,和一条咸鱼没有什么分别!

人生能有多少个十年,要尽早发现自己想干什么,并要尽早做好通盘规划。

2)多为自己着想,不要太过顾全大局。

读大学时,老师给我的评价是:综合素质和能力很强。工作后,老板给我的评价也是这样。但这样的评价,可能会带来杯具的事情……

因为我综合素质和能力强,所以在安排工作的时候,别人都可以挑一些他喜欢或他擅长的事情做,而我因为是“全能”的,所以我要去干一些别人不喜欢或不擅长的事情。我曾经试过好多次将自己想研究的技术点让给别人,久而久之我就失去了很多掌握高精尖技术的机会。至今为止我在技术上的一个最大遗憾就是,没有能精通C++编程,我曾经有机会和有条件去开发C++的绘图程序的,但我让给别人了……

“人不为己天诛地灭”这句话很有道理,当然不是要你去自私自利,但也不能太过于“大公无私”,根据自己的发展路线,要主动去争取一些能提升你的技能的机会。

3)不要说少多做,要多说多做。

“少说多做”被誉为一种美德,但每个公司都会有办公室政治,少说多做会让你吃大亏,你需要的是多说多做!除了要干好事情,也需要让你的老板、同事及时知道你的工作成绩。成功人士不仅仅是靠实力的,还需要包装和宣传。

4)精通技术能帮你创业,精通管理可能只能帮你找到好工作。

大学毕业之前,我的职业规划是这样的:争取几年内达到月入过万,然后争取5年左右的时间能通过打工积累一点点的钱和技术,然后通过自己的技术去创业。可能很多程序员都有这样的类似想法。

我曾经试过两次创业:

第一次创业:我打工的同时和一些朋友合伙成立一个公司,我负责开发软件,我的合作伙伴负责市场方面的工作。但最终还是失败了。

第二次创业:从2010年开始我辞职出来单干,全职做软件研发方面的咨询和培训服务。目前正在进行中……

如果你技术足够牛B,能找到合适的合作伙伴,并且能找到投资人,那么成功的机会是很大的!有技术你就有创业的本钱。

我第二次创业就比较尴尬了,当时我已经干了很多年的管理工作,技术上已经被废武功,我的去路可能只有两个选择:

a)找一个新公司任职管理层的职位;
b)创业搞咨询和培训方面的事情。

我不想再打工,所以选择了b),但搞培训和咨询其实是很难做大的,每次上课其实都是体力活+脑力活。

这与我多年前的梦想是完全不一样的,我期待自己的公司具备核心技术,并且这个核心技术能为社会带来很大价值,公司能通过这样的模式赚到很多钱。

小结

每个人都会有自己成长之路,每位企业家都会有自己的创业之路。

我走了不少弯路,本文分享一些小心得,希望能对你有一点点小帮助。

如果本文对你有帮助,麻烦点一下“推荐”啦,谢谢!

作者:张传波

创新工场创业课堂(敏捷课程)讲师

软件研发管理资深顾问

CMMI首席专家

《火球——UML大战需求分析》作者

软件知识原创基地创办人

 

程序员的“非程序员”之路相关推荐

  1. 一个程序猿和非程序猿都会关注的重大事件

    人们想象中的程序员是怎样的? 可是,你们知道吗? 程序猿也有丰富的内心世界 程序猿的女朋友不都是充气的 程序猿的衣柜也可以是彩虹色 程序猿也爱 45 度角文艺地仰望星空 程序猿也可以幽默风趣骚包浪漫有 ...

  2. 悲催的程序员,以及程序员的悲催

    http://blog.csdn.net/Oneway102/archive/2010/12/20/6086741.aspx 我尽量用平和一点的口吻跟你说说关于程序员的那点事儿. 1. 我在一个叫摩托 ...

  3. 专访雷果国:从1.5K到18K 一个程序员的5年成长之路

    摘要:上段时间CSDN博客上流传了一篇比较励志的博文,讲述了一个程序员从基础薄弱到入职心仪公司的5年成长经历,为了给那些待毕业或已毕业但对未来仍很迷茫的朋友指引前行的方向,CSDN专访了这篇博文的作者 ...

  4. --专访雷果国: 从1.5K到18K 一个程序员的5年成长之路--

    导语:今年三月份,在CSDN博客和新浪微博上有一篇<从1.5K到18K,一个程序员的5年成长之路>被众人分享和传阅,这篇博文首先介绍了作者自学之初薄弱的基础,然后通过流水账形式分享了那个从 ...

  5. 是非人生 — 一个菜鸟程序员的5年职场路 第4节

    是非人生 - 一个菜鸟程序员的5年职场路第4节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  6. 是非人生 — 一个菜鸟程序员的5年职场路 第1节

    是非人生 - 一个菜鸟程序员的5年职场路第1节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  7. 是非人生 — 一个菜鸟程序员的5年职场路 第28节

    是非人生 - 一个菜鸟程序员的5年职场路第28节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  8. 是非人生 — 一个菜鸟程序员的5年职场路 第21节

    是非人生 - 一个菜鸟程序员的5年职场路第21节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  9. 是非人生 — 一个菜鸟程序员的5年职场路 第13节

    是非人生 - 一个菜鸟程序员的5年职场路第13节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  10. 是非人生 — 一个菜鸟程序员的5年职场路 第25节

    是非人生 - 一个菜鸟程序员的5年职场路第25节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

最新文章

  1. mysql递归sql_SQL如何实现MYSQL的递归查询,SQL实现MYSQL递归
  2. 【MM配置】评估和账户确定(Valuation Account Determination) - 2
  3. python实现dns欺骗_DNS欺骗攻击
  4. 旅游(树形dp求树的最大独立集)
  5. 转 IDEA 解决代码提示功能消失
  6. eclipse中的java包awt_Eclipse中打包java程序
  7. 【githubgirl】如何通过实现一个简单的编译器(TinyC),并借助实例来描述基本的编译原理及过程
  8. 服务器托管双线技术方案
  9. matlab模拟线圈电磁场,利用MATLAB的PDE工具箱对电场和磁场进行模拟
  10. 解决关于VS无法加载解决方案中的项目的问题
  11. 《Windows 8 权威指南》——第2章 Windows 8 Metro应用 2.1 打造快速流畅的动态Windows 8 Metro应用体验...
  12. ASTERISK+LINUX+PHP 的WebCall, 网页回拨源码
  13. [渝粤教育] 西南科技大学 建筑CAD 在线考试复习资料
  14. 最全C++知识点--重载运算与类型转换
  15. PBI培训(1):几种主流BI工具的对比PBI中的概念定义
  16. Taro编译微信小程序实现顶部自定义导航栏
  17. 玩游戏写算法——汉诺塔
  18. Access 数据库迁移到 SQL Server/无升迁向导的Access怎么升迁到SQL Server
  19. Error: NativeLink simulation flow was NOT successful
  20. DataSphereStudio 安装

热门文章

  1. 计算机中丢失profapi,profapi.dll
  2. mysql 1236错误_MySQL主主同步环境出现1236错误
  3. lamda表达式修改数据_关系数据库SQL语言简介
  4. android multimedia框架总结,Android Multimedia框架总结(三)MediaPlayer中创建到setDataSource过程...
  5. php和dart交互,Flutter 之和原生交互
  6. 代号斗罗显示服务器暂未开放,代号斗罗手游
  7. 用计算机探索奥秘规律例题,计算器指法练习题.doc
  8. c语言怎么把数字倒过来_c语言中如何实现输入一个整数实现倒序输出
  9. 知识图谱构建工具_自动构建知识图谱
  10. linux 按序号创建文件夹,在Linux终端中创建M3U播放列表的方法