十年的程序员:最危害程序员职业生涯的三大观念

蓦然回首自己做软件开发这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!

路其实一直都在那里,只是我们看不到而已!

以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话(观念)。

今天,就为大家指出这几个重要的可能是你已经习以为常的观念,希望大家深入的思考一下这些观念对你的危害。如果你还年轻,刚从事软件开发这行没多久,也希望指出这些问题能让你跳过一些误区,不要像我一样多浪费五年时间。

观念一: “别管我,我只想一个人安静地写代码!”

是不是每天想安安静静地写代码时,IM窗口或者Email总会不合时宜地弹出各种提示,一会要开会啦一会要讨论需求了,再一会测试又来和你理论Bug了。世界这么喧嚣,还让不让人安静地写代码了?“别管我,我只想一个人安静地写代码”,这句话道出了多少程序员的心声啊,我们都想“静静”!不过今天我要告诉你,这种想法是多么的错误,并且严重影响了你职来生涯的发展。

如果你觉得自己的工作就是写写代码,那你最好三思。在软件开领域,我们大多数时候是与人而不是与计算机打交道。我们所写的代码首先是供人使用的,其次才是让计算机可以理解的,如果你只想和机器打交道,那写二进制的代码机器才能理解你。仔细想想自己一天的工作中有多少时间用在了与人互动上,收发邮件、会议、讨论(扯皮)等等,作为一个软件开发人员,你的工作就是与人打交道(其实几乎所有的职业都是这样)。

所以,虽然你是一个码代码的码农,看似你工作的重心是在码代码上,但其实你自己统计一下也会发现:你真正写代码的时间占你工作时间的比例并不高甚至有些人非常低。即使没有人打扰你,你仍然需要花很多的时间去设计(思考)怎么写你的代码,或者花很长的时间去看懂别人的代码然后找到Bug产生的原理,这个过程中看似你面对的是代码是机器,但其实你面对的是人(写代码的人和读你代码的人)。这还没有谈论怎么把业务的需求变成代码,你仍然需要了解一定的业务知识,当然最好的方式是先和业务、需求设计人员进行沟通,而不是闷头写代码。

所以认为做程序员可以不讲究沟通和谈话技巧,可以恰当地掩饰自己这方面的不足,那么你就太错特错了。如果你是因为自己与人交流的能力不足而觉得程序员是一个很合适的职业的话,那么你很难成为一个优秀的程序员。正如前面所说的一样,程序员写的代码仍然是需要和人交流的,如果只是一味的逃避自己不足的地方,写某方面代码的能力有可能可以大幅提高,但软件设计和开发的能力并不会轻易地提高。最后的软件开发,除了需要你有专业知识并懂得业务外,更重要的是需要你能和相互关系的系统和人进行有效的沟通。

所以,对程序员来说人际交往能力远比你想象的要重要!学会如何与人打交道,是你通向优秀程序员的第一步。

观念二:“这不关我的事!”

常常在工作中听到程序员在抱怨“测试又来找我了”、“需求又来找我了”,“客户又来找我了”等等,这些事都和自己的编码没有直接的关系,咋一看从职能分功上确实不关程序员的事。然而,这也是一个很严重的错误观念,它让你损失了很多成长的机会,而且也是你工作几年后走入程序员困境的主要原因。

大多数程序员(当然包括笔者)从职业生涯一开始就犯了几个严重的错误。截至目前,最大的错识就是没有把自己的软件开发事业当作一桩生意来看待。当你为了谋生一头扎进写代码的世界时,其实你和在建筑工地上搬砖的民工并没有多大的区别。

你职业生涯中必须要做的第一要务:转变你的心态,从被一纸“卖身契”束缚住的仆人转变为一各拥有自己生意的商人。你需要学会像企业一样思考,思考一下“作为一个企业我能提供什么”,就会对你如何考量自己的职业生涯有深远的影响。企业需要持续不断地改进和完善自己的产品,你也应该这样做,你的产品就是你的编程技能和服务。换到这个角度后,你就不会再抱怨工作中总被很多莫名其妙的人和事打扰,因为那些事都和你息息相关,或者都和你的生意有关联。积极地承担责任,至少能让你建立起良好的个人品牌,最终你会发现这个品牌的价值比公司给你开的高工资有用得多!

而且处理一些你看似不相关的事情,也会让你得到某方面的锻炼,这些事情中也可能就有某些行业的痛点问题,如果你解决了,其实一个产品原型就出来了。虽然你的时间被打扰了,但获得的技能和生意却是自己的。

记住:你工作的公司、客户和同事都有可能是你的生意。

观念三:“等我有钱了,我就XXX”

“等我有钱了,我就顾几个越南程序员帮我写无聊的代码”,“等我有钱了,我就天天吃食堂的自助餐”等等,这类台词在公司里经常能听到吧,不过一般这样说的人都不会有钱的,或者说很难等到他有钱时。也许看到这里你会产生一些困惑,这个有没有钱和我们做程序员有什么关系呢?

好,请复习一下观念二!

财务问题是程序员群体不善处理的一大问题!其实不单是程序员群体,整个大学教育培养出来的学生一般都不具备正确的财务知识和观念。钱不是万能的,但有钱却能解决很多问题,“人穷志短”实在是太精辟了。当你没有钱的时候,你会看重很多你不应该看重的东西,很多东西你可以用钱买来(比如技术和别人的经历)但你不愿意,因为你手上钱不多所以要省省是吧。结果你只能花自己的时间去琢磨,而等你琢磨透时商机已去!

有句话叫:能用钱买来的就是捡便宜!

而且因为没有钱你会更看重钱,最终会为了某个公司一个月多给你几千块的涨薪就跳槽,而忽视了去比较真正对你未来有帮助的成长机会!

财务自由是很多程序员非常向往的一个目标,就是我们说的“有钱了”的状态,但如果你真正问一个人什么是财务自由,多少钱才够财务自由?可能很多人都回答不上来,而且对于钱的量级每个人的答案也可能不一样。

我比较赞成的财务自由的解释是:所谓的财务自由,指的是某人再也不用为了满足生活必需而出售自己的时间了。

最终我们会发现,财务自由并不是我们努力工作的终极目标,而是我们成长过程的一个重要的里程碑!最终你把财务自由看淡,并看到它身后更远的东西,你才真正有可能实现财务自由。

所以,不要等,而是要不停的成长,包括技术和为人处事等等各方面。只要你在不停的成长,你就会一直在为自己积累很多东西(技术、人脉资源等),等这些东西达到一定量级你自然会“有钱了”!

总结

除了一些高精尖的技术问题,我们一般开发遇到的技术问题其实最终都不是我们成功的关键,而且技术是会更新迭代或是交替的,代码之外的软技能才是我们成长为一个熟练工之后应该着重考虑的。但一些你认为(别人也都这样认为)正确的关念,其实一直影响你并最终把你变成和大多数人一样碌碌无为。每个人的性格和所处环境不同,我们没有必要要求所有人都一样,但如果你想改变或者觉得目前的状态很困惑,不妨思考一下哪些观念是有问题的,是时候来升级一下你的操作系统(你的大脑)了!

我们再总结一下这三大错误观念:

  1. 认为程序员的主要工作不需要和人交流,不重视人际交往能力;
  2. 认为和写代码不相关的事都不是自己的责任,没有把工作当成自己的生意来对待;
  3. 认为有钱是终极目标,只重薪水不重成长;

如果你能意识到他们是错误的,并且对自己的职业生涯有极大的危害,那么这篇文章的作用也就达到了,至于如何解决这些观念带来的问题,需要你自己去践行了!

套用发哥的广告词与大家共勉:“成功?我才刚上路咧!”

作者:goeasyway

来源:51CTO

时间: 2024-08-30 09:07:53

十年的程序员:最危害程序员职业生涯的三大观念的相关文章

大龄程序员没有年轻程序员脑瓜灵活

最近我过了40岁生日. 一个朋友开玩笑的对我说:"嘿,我想这个意味着你已经老的不适合再去编程了吧!",我表面上哈哈一笑,但心里却触动不少. 年龄歧视在我们这行里并不可笑. 就像今天用Java的兄弟沦落到这个地步一样,几年前,使用COBOL家伙被我们从心底里嘲笑其老旧的编码方式和缺乏新技术中的灵活性. 如今轮到我被他们嘲笑了. 也许你也是这样. 如果目前没有,我估计这一天也会很快到来. 你还会笑的出来吗? 是的,我想会跟我一样的. 我们这一行受年龄歧视体现在好几个方面. 大家都热衷于热门

C++程序员和Java程序员的差异

首先说明,这几年接触的最多的程序员就是C++程序员和Java程序员,这只是我自己的一点体会而已,一个人的眼光难免是浅薄的.不过,欢迎拍砖,也欢迎对号入座.   从对基础知识掌握的程度来说,例如数据结构和算法,C++程序员要比Java程序员牢靠得多.究其原因,大概是因为C++程序员需要经常自己实现那些项目基础设施,但是Java程序员大多拿来即用.公平地说,C++不是一门适合程序员初学者的语言,但是Java是.C++程序看起来确实要比Java 程序稍难懂一些,C++程序员往往思维更加严密.另一方面,

程序人生-一个程序员对学弟学妹建议

  程序人生-一个程序员对学弟学妹建议 基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能够显著的减少你在学习新技术时学习曲线的坡度.我把大二的所有时间花在了汇编,我始终认为,对一个初学者来说,IT界的技术风潮是不可追赶.我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心.而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑.

都说大家忍不了程序员,那么程序员有没有忍不了的事情

简评:都说大家忍不了程序员,什么程序员不善于和大家交流沟通,特立独行,每天穿着固定,不会撩妹还宅...其实程序员也有很多忍不了的事情,比方说产品跑来和你说,这个功能很简单,实现一下就行了,以及其他同学让你帮助他PS证件照,我是软件工程师,不是PS大师好哇? 栈和队列的区别是啥? 吃多了拉就是队列:吃多了吐就是栈. 世界上最遥远的距离不是生与死,而是你亲手制造的Bug就在你眼前,你却怎么都找不到她. <C++程序设计语言>比<C程序设计语言>厚了几倍...果然有了对象就麻烦很多. 怎

男程序员和女程序员的待遇差别

问题描述 我想问一哈 在你们公司 男程序员和女程序员待遇有没得差别? 差别大不? 大概是多少?? 解决方案 待遇和等级都不分男女的 但是男程序员毕竟是多数混到PM级别的 男的也会多一点..待遇没差别 女的会好一点,放假多一点 最好的待遇就是有很多男同胞爱戴着 ....解决方案二:按能力来,不分男女.......解决方案三:我们公司待遇是按照等级来分的,公司所有部门都按照六级划分,我个人是初级软件工程师,工资是4K,中级大概6K,高级的话8K以上:和性别没有什么关系吧解决方案四:按职位来给钱,同工

Windows Phone 8初级教程(十)数据绑定应用程序和透视应用程序项目模板

原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-10-Overview-of-the-Databound-App-and-Pivot-App-Project-Templates 源代码:  http://aka.ms/absbeginnerdevwp8 PDF版本:http://aka.ms/absbeginnerdevwp8pdf 我们花了9节课来学习Wi

不想用C#了,就是因为它太慢了,开发IDE要求的也高,只能开发些WEB程序,做其它的程序,好象没有那个公司在用

问题描述 不想用C#了,就是因为它太慢了,开发IDE要求的也高,只能开发些WEB程序,做其它的程序,好象没有那个公司在用Delphi支持原生代码开发,RAD,性能高,IDE硬件要求不高,还可以象C++一样嵌入汇编,做图像,数据库,硬件控制太好了大家给个建议! 解决方案 解决方案二:为后五年做准备.解决方案三:不管是啥程序员,我个人认为C#必须详细了解,不一定要用它来开发东西,但是C#有一些思想比先出来的语种先进,学着在其他程序实现,也许会有很大好处.解决方案四:还有就是很多人学Java半途而废,

.NET 程序,调用其它程序

程序 .NET 程序,调用其它程序 using System;using System.Diagnostics; namespace Jmv_Demo{ /// <summary> /// CmdUtility 的摘要说明. /// </summary> public class CmdUtility { /// <summary> /// 执行cmd.exe命令 /// </summary> /// <param name="command

.NET客户端应用程序:.NET应用程序更新组件(6)

程序|客户端 (接上篇) 按需求安装 通过利用.NET框架可伸缩的本质,.NET应用程序更新组件能够使得另一种特性----按需求安装可行.通过使用按需求安装,只有主可执行程序被显式安装到客户机上.应用程序剩下的部分可以根据基本需要自动下载和安装. 通过.NET应用程序更新组件的AutoFileLoad属性来使得按需求安装可用或禁用.你必须仔细考虑在你的应用程序中程序集边界所处的位置以及什么动作会引起程序集被下载.由于程序集的下载涉及到网络输入输出,因此下载所花费的时间是可变的.在程序集下载期间,