Skip to main content

 路由器设置 > 新闻资讯 >

给程序员的一些建议

2014-01-23 22:08 浏览:

 我02年上大学,就开始折腾程序,转眼到现在已经13年有余啦,从最开始连“程序”二个字是什么都不知道,到现在靠这东西养家糊口,确实在程序开发的路上走的挺远。尽管到现在,我都没有去考而且也没有拿到任何印有“程序员”三个字之类的证书,但我仍然认为我是个的程序员,因为我的程序一直在很多企业及政府单位的服务器上运行着,我的代码量也在那里摆着。

程序员是一个非常纠结的职业,为什么说纠结呢,是因为这代表着这个职业这些年来有太多的变化,如果你和我一样从02年开始就去了解这个职业,那你应该也会有所感触,这个职业应该经过过以下这几种词汇:“哇,厉害”,“高手”,“工资很高”,“高深”,“遥不可及”,“电脑高手”,“大部分戴眼镜”,……,“晚上一两点都没睡”,“满大街都是”,“程序猿”,“天天加班”,“码农”,“苦逼的程序猿”……还有很多,从网络里不同的程序员的声音里可以看出程序员这一职业这些年来的变化。

我2010年自己开始创业,从开始的软件工作室做到现在的公司,创业三年了,一路走来,虽然艰辛,但也用自己的汗水、手指、伴随我5年之久的thinkpad笔记本,以及经常的加班熬夜,以及顶着无穷的压力,养活着自己,家人,养活着过去的和现在的员工,算下来也有一大帮人啦,人最欣慰的事情就是让一堆人能填饱肚子。

从打工到创业身份的转变,也就是从员工到老板的身份的转变,我对每一种角色的感觉也是挺深的,当员工的时候,我们有许许多多的理由觉得公司哪里不对,老板哪里不好,也能够找出很多理由来说明,而自己做了老板之后,我也才觉得这就是一个哲学的问题,永远的矛盾,所以真的感触很多,在2014春节将至,自己有很多话,也有很多事需要总结和分析,主要是在程序开发上,想写给自己,还有以往的、现在的、将来的同事、以及从事程序开发工作的朋友,希望大家都可以相互学习,也进行自我思考,如果对你也有些帮助的话。

 

你既然选择了做一个程序员这样的职业,不管你在哪一个公司,那你还是要花些时间正视一下自己,好好定位一下自己。不妨从以下几个方面思考,也表达了我从一个发工资者的身份对领工资者的期望,也许对你会有帮助:
 

1、你的目标是什么?

你选择程序员是因为你对程序开发的热爱?还是因为觉得这个行业高薪?还是两者都有?或者是希望通过自己的不断努力攀爬到更高的职位或到更好的公司入职,如谷歌微软,然后名利双收?我在11月份也写过一篇日志(
http://user.qzone.qq.com/6749158/blog/1383290220程序猿,是炼出来的),里面也说过“如果你选择走程序员道路的初衷只是仅仅因为找份工作,或者是找份高薪的工作,那你一定不会成为优秀的程序员,永远只能是苦逼的码农,而且也不会拿到高薪。如果你在编程方面的学习仅限于在办公室上班时间的话,你离失去这份工作将不会太远。。。 ”确实是有感而发,当然不是绝对,但对大多数人而言,我认为是对的。像我这种从程序员、项目经理……但凡软件开发过来的每一个职位大都经历过来的人,我想我说的这话还是有些道理的吧。

你想在工作中拿到更多的钱,最好的办法不是跟老板谈条件或抱怨,或在工作中用怠工、懒散、惰性、不太听话、消极的态度等去暗示你不满意你的工资待遇,如果你曾经这样干过,只能说明你不够聪明,而且基本上受伤的都是你,你如果足够聪明,那你应该做的是想办法把事情做得更好,你做出的成绩得到认可,当然也你要选对老板,就是不黑心的老板,有很多人会说做得再好还不是那样?老板还不是一样的,确实,有很多老板确实是不管你做多好,就只给你发干工资的,但我不是。

只要老板不黑,即看到你的成绩或态度,会给你回馈的,同时公司项目不断,即企业的出路和明天都不是问题,那你就努力地去做好工作,做出成绩就可以。

 

2、什么是程序员?
你可以没有程序员证书,你甚至不用读大学,甚至没有上过小学都没关系,只要你从事编程开发工作,并且有自己的编程能力和思维,我都会承认,你是一个程序员,但我会有我的标准来评判。开发能力我会放在第二位,放在第一位的是你的从事程序员方面的人格素养及心态,因为这个远远比你的能力更重要。  

   开公司到现在最头痛的问题就是用人,招人不好招,用人也不好用,对于像我这样白手起家创业的人来说,这个问题显得非常突出。。事实上跟同行和起点差不多的老总朋友聊下来大家情况差不多,但分析下来其实也不是说工资多少与人的能力怎样的问题,有时候看到一个年轻的程序员们,能力嘛也没怎么,工资倒是要求很高,还动不动就可能要换工作,没有责任心,我很想不通,我很纳闷我们80初的程序员和80末90初的程序员在做事及责任心有如此大的差距,我记得当初刚刚工作的时候,老板安排项目下来,一方面自己要努力做好,一方面自己不太熟悉的地方会想办法自己晚上加班到两三点钟不停地研究,甚至到天亮的都有,还害怕老板看我做不出来怀疑我的能力,现在的年轻人倒好啦,凡事都是不说难,只是稍稍麻烦,就直接把问题推给你,把问题归给客户,那你算什么?我花钱请你来干什么?客户和老板两边都来求你?来看你脸色?每次协调下来就是诓着你把事情做完,只是我的大度和包容而已,其实你能写的代码,我也能写,而且可能分分钟就搞定,我能写的,你就不一定写出来哦。
在我的大脑里:一个优秀的程序员应该会经历的三个阶段是最想写,最能写和最会写,成长的道路也会伴随别人都睡去而你却精神抖擞研究你的程序的日子,或是白天,或是深夜,如果这些你都没经历,我一定不敢相信你是个优秀的程序员,当然你可能确实是,只是我不相信,我们是怎么磨练过来我知道,而且我不相信满大街都是天才和神一样的人物,而且我也不相信你比我聪明更多。

     我对程序员,项目经理,技术总监的要求,在程序开发能力上,简单定义就是:

     程序员:至少掌握一门开发语言,了解不同语法的操作原理,能够用语言编写符合业务需求的程序,了解接口与不同的数据库交互原理,语法的性能就是不同程序员的水平问题啦。

     项目经理:你除了包含上述的程序员的能力外,你要有完整的独立项目开发经验,会站在客户的角度来验收项目,你要会写文档,会和人打交道,会抽烟会喝酒(当然不是必须),因为你要面对的是客户,同时要面对下面的组员,双面胶。所有人(包括我的员工)都可以对照此条,回想你和客户及你的经理沟通的时候,如果存在问题,那只能说明你还没具备项目经理的基本能力。

     技术总监:除了掌握上面两种角色的技术外,你需要具备的技术则多得更多,因为不是所有人都能做到技术总监,因为有些人就是努力一辈子,也不一定能作技术总监,因为做程序也需要悟性和机遇,不是单单靠努力或时间积累。那简单来说,需要掌握的,就是掌握不下三五种语言吧,现在的主流开发语言你要会吧,起码有一到两门是你精通的,其他的话,你不说精通也可以达到普通程序员开发的能力吧,简单来说你不受语言限制,即只要客户的需求符合常规,你不管用什么语言都可以实现,拿到一门新的语言,你打开帮助文档或查阅相关的示例帮助或教程,就能够快速搭建环境,快速学习该语言体系并用之于项目开发,掌握相关要领吧,这时候你不一定要做具体的开发工作,但代码总要写的吧,起码框架应该是你来定,如果所有代码都不写,那我们直接喊你做老总算啦,不叫总监啦。除了开发言语,你要掌握系统安全,网络技术,硬件技术,网络访问与并发的问题,大数据量的处理办法(我不需要你有很好的办法而且你也不可能有,但我希望你知道原理和知道怎么去处理),还有人员分配与成本控制,时间预算等,同时你要掌握不同应用的前沿技术或不同应用的难点所在吧,这样才能给团队做一下引领,如C/S程序,B/S程序,或者手机应用的注意事项及经验所在。。

3、你的工作现状是什么?

你现在每天的工作现状是什么?是每天根据经理的需求来忙碌的编写?或者有时候可以偷偷懒?或者经常跟同事或领导讨论技术?讨论项目中的一些业务不合理性?或者有更好更科学的办法?你会因为项目进度的问题而担心吗?你会自己因为下班或周末因为没有把工作做完而自己在办公室写东西吗?如果这些你都没有,我觉得你问题很严重啦……如果你把安排的任务仅仅当作任务来完成,那你确实太需要再进步些啦。

有篇文章(一个很牛的老板骂人的话:
http://user.qzone.qq.com/6749158/blog/1380444128),作为每个员工,我觉得好应该看他个十遍,“别把老板和上司当傻子,他装傻不等于真傻,不追究不代表他不记得,只是他给你机会去磨练,你的这些小伎俩他早就比你耍的专业几百倍了,不然他也不敢坐上这个位置。 ”你们每天花在QQ上,花在上网,花在群聊,花在和自己男女朋友聊天,花在网购,花在和其他人报怨公司等等等的时间,我分分钟都算得出的。。如果你真觉得你这么聪明干吗你不是老板而老板不是你员工呢?

你有工作汇报的习惯吗?你经常性提前完成任务吗?你经常和团队的同事聊天和探讨一些整合以及技术问题吗?你有在公司上班已经超过两月然后请过同事吃过一次饭或者哪怕是喝杯饮料吗?如果没有,我觉得你是有问题的。如果汇报都是上司问才汇报,你是有问题的。如果从未主动和同事讨论问题,你是有问题的。如果从未请同事吃过饭甚至一杯饮料的,我认为你是有问题的,而且我敢保证你花个几块钱请别人肯定会请回来。所有同事,我都请不低过3至5次吧,有几个请过我?当真我希望请我几块钱?作为老板起码要比你有钱多得多嘛。


4、你的能力和你现在的收入是否对等?
关于收入分配问题是全球性的问题,也是一个永远的矛盾,所以我我无法单方面去下定论,我用一个项目为例,大家一起来算吧。
某项目10万,上税正常成本5千,假设计划三个月,两个开发人员,工资5千,三个月如果正常开发完,那按下面这种方式谋算:
项目总额:10万
上税成本:5千
工资成本:3万
基础成本: (需求调研和跟客户打交道来回车费,电费,电话费,宽带费等等等等)1万
这样大概算下来好像老板赚5万5对不?
如果每个项目都这样理想化,我宁愿拿这5万5中的1万当作奖金,每人5千,那这三个月来,我们三个人的收分别为:
老板:4万5
员工:2万
在这样理想化的状态下算出来的结果,你觉得不公平么?老板投钱,老板能力比你强,同样时间内收入是你两倍很正常。但是,往往真就三个月就把项目开发完么?往往导致项目拖延的,有开发团队的原因,有甲方本身需要等待的原因,这个都无法避免,不管是什么原因导致,晚一个月,那老板的损失的就不是俩个人一月的工资哦,晚两个月呢?晚三个月呢?公司每个月报税呢?

而且还要特别补充的是,这帐算的还不包括房租水电和宽带,还有老板自己的工资呢?员工工资5千,老板定一万不过分吧。而且如果你是开发员的其中之一,你确认10万的项目就只安排两个人你有把握能做好不?有信心不?敢打包票不?而且开公司的人都知道,这样简单的算帐就像个笑话一样,你听说过显性成本和隐性成本吗?一个项目做下来肯定不会赚那么多,而且还有后期的维护呢?维护的工资谁来出呀,不发你工资你来维护你肯不? 

     如果你有脑子,你肯定会算的
     如果算通了,就换位思考一下,我们在抱怨的同时,想一下如果你是老板的话,再想想你所做的工作,以及工作中的那些态度,也许你会感恩其实老板对你已经很仁慈啦。。
     想拿更高的薪水,就再多努力些吧。

     所以就这一个问题进行总结就是:以上面项目为例,还是理想状态下的假设,如果三个月你正常做完并顺利交付,老板不发你5千的奖金,是老板的错,如果你两个月做完,不发你一万的奖金,是老板的错,如果你一个月做完,不发你两万的奖金,是老板的问题。如果前面这些情况都没出现,我觉得你没有任何资格报怨什么你的待遇不公平,要报怨也应该是老板来报怨,做得不好的,超过时间的,老板反过来喊你贴钱,你肯不?所以凡事要学会换位思考才行。。

     5、咱们换位思考一下,如果你是老板。

     自己思考吧,如果你是老板,只有你想不到的,也有你做不到的,因为你不是老板,大家现在开始想吧。

 

     以下是我从个人角度说出的话:如果你是我员工,我希望你是一个好学,而且有一点智慧的人,我希望你有责任心,心中对项目的重视程序和我一样,尽力去做好,滴水之恩,定当涌泉相报,我肯定能做到这一点的。不管是以前的、还是现在的、所有用过的员工,我都可以拍着胸脯说,我发的工资,不管多少(任何人,不管你在我这里领过1千8,两千,两千二,两千五,三千,4千,4千五,五千,5千五,6千五,8千五,1万,1万+),我可以说没有对不起任何一人在我这里创造的价值,即便在我最困难的时候,我透支信用卡都要发工资。我是从程序员出身做创业的人,虽然不像大公司给你足够好的待遇,但我说过这里没有黑老板,你的工资多少由你创造的价值决定,到目前为止没有出现让大家闲着没有项目做的时候,只有不停地做,三个月的项目做个六七个月都没有做完的,你告诉我项目奖从何来,而且我把奖金都还全发了的呢,但凡你能做到工作中不用我说,工作没做完时,你自己加班或自己家都会偶尔熬夜去完成,把多出的三五个月的时间省下来,我不发你两个月的奖金你可以把我电话号码和姓名拿到大街小巷去贴,到处去骂都可以的。
 

     如果你再做我员工,或即将做我员工,你一定要有个心态,尽力去做好吧,你的收入肯定是由你创造的价值决定,这里没有黑老板。而且你也要提升自己服务意识,一定要具备“客户虐我千百遍,我待客户如初恋”的心态和能耐,如果有一天我喊你改一些需求,不管是什么原因造成,哪怕是重复,还要让我看你脸色的话,你就可以滚蛋了。

   2014年,我会做个很干脆的人,也意味着不惨杂个人情感在人员管理上, 该咋调整咋调整,该咋改变咋改变。。如果我不变,企业就只有死。