我前几天发了篇文章,“月薪3万的程序员都避开了哪些坑”,有很多朋友看了,反馈很多,我汇总了一下,有两方面的意见比较突出:

  • 文中说的都是大道理,妇幼皆知,知易行难
  • 不喜欢开发,怎么去找自己热爱的事业

感谢所有反馈的朋友,让我加深了对这些问题的认识,我决定再写几篇文章来谈相关的问题。这篇文章要谈的,是怎样判断你是否喜欢软件开发以及怎么去找自己热爱的事业

庄子与惠子游于濠梁之上。
庄子曰:“儵鱼出游从容,是鱼之乐也。”
惠子曰:“子非鱼,安知鱼之乐?”
庄子曰:“子非我,安知我不知鱼之乐?”
惠子曰:“我非子,固不知之矣;子固非鱼也,子之不知鱼之乐,全矣。”
庄子曰:“请循其本。子曰‘汝安知鱼之乐’云者,既已知吾知之而问我,我知之濠上也。”

庄子和惠子的这段话很多人都有印象,其中最广为人知的,可能是“子非鱼,安知鱼之乐”,大概意思是不要总是以自己的眼光看待他人。

其实我的理解和庄子类似,就软件开发而言,我认为可以从精神状态对应的外在表现看出一个人是否喜欢软件开发。但从另一方面来讲,我又支持惠子,我觉得我很难去揣测别人怎么判断他是否喜欢自己的工作。因为每个人的经历、学识、家庭背景等都是不同的,这决定了每个人看待问题的角度都不同,做事的方法也千差万别。我可以观察到一个人是否喜欢软件开发工作,但却不能臆测背后的原因,我能做的,只能是从我自己的经验出发来总结一些我认为可行的判断方法,抛砖引玉。

关注自己的感受

喜不喜欢是主观的,是感情、情绪方面的,是一种感受,要了解自己对一件事情的感受,可以通过各种问题问自己做这件事时的感觉,然后分析一下就能知道是否喜欢。下面是我总结的几个问题,通过问自己这些问题,我可以判断我是否真的喜欢软件开发工作。

  • 写代码让你觉得时光飞逝如箭还是一秒犹如一万年?
  • 看到代码是否有“似曾相识燕归来”的温暖?
  • 隔一段时间不写代码,是否会充满怀念,有想打开IDE写点什么的冲动?
  • 是否经常有这样的时刻:看着自己的代码,有种“相看两不厌,唯有敬亭山”的喜悦?
  • 有没有那么一些时候,你看着自己的代码,会不自觉地想:这里或那里改改是不是更好一些?
  • 当你看到令人眼前一亮的App或网站或其它软件,会不会发出“要是我来做该怎么做”之类的问题?
  • 你有没有想让别人阅读你代码的冲动?
  • 你有没有读别人代码的冲动(想看到更好的代码)?
  • 别人指出Bug、错误或设计瑕疵,你会生气、拒绝还是接纳感激?
  • 修复一个Bug,你是为这个Bug被解决掉高兴多一些还是为你的代码(软件)更完美而高兴多一些?
  • 听到新语言、新框架、新系统、开发者大会等相关的消息,你是很想了解还是懒得搭理?
  • 有技术大咖在你身边出现时,想去结交还是懒得理他?
  • 看见别人的烂代码,你是吐糟真TM烂然后绕过还是想怎么改好?
  • 看见别人的优秀代码,会不会羡慕,会不会“想要是我也能写出这么漂亮的代码就好了”?
  • 当你完成一个模块、功能、系统,解决一个问题时,是有“快感”、“成就感”还是有“终于交差了”的感觉?
  • 想到你开发的软件可以帮助别人解决问题带来好处你是否感到期待、兴奋?
  • 你是否想建立属于自己的软件资源(比如工具、类库)?
  • 你是不是像蜜蜂一样总是把看到的与软件相关的好东西收藏起来?

可能还有很多问题都能帮助我们发现自己是否喜欢编码,是否喜欢软件开发,不能一一列出,欢迎感兴趣的朋友补充。

也许有人觉得“我的每一行代码都是诗,哪怕它们不能Run”,觉得自己超喜欢真是好好喜欢啊,然而章鱼哥早已看透了一切:这厮不但是个自恋狂,还叶公好龙。

我们的问题,是针对已经变身为程序员的兄弟姐妹们的。对于准备从事软件开发工作还没进场的朋友们并不适用。这就好比“你问一个从来没kiss过的人喜不喜欢kiss,问一个从来没XXOO过的人喜不喜欢XXOO”一样,有些事必须得亲身体验了才能知道是否喜欢,理性的分析是木有毛用的。

怎么快速找到找自己热爱的事业

前面我提供了一些问题,用来测验是否喜欢软件开发工作。假如你不喜欢,那么接着往下看,必有所获。

我在我的微信订阅号“程序视界”的每周一书栏目里推荐过一本书,书名是《A Life At Work(这辈子,我最想做的事)》(订阅号内回复10007可查看)。这本书非常棒,从soul出发,系统地介绍了找到终身事业的理论和方法,推荐一看。

除了书,我这里提供一个非常简单快捷又相当有效的方法,也可以让你思索怎么找到自己热爱的事业。

从“不想要什么”开始

很多人会说,“我不知道自己想要什么”,OK,是这样,这很正常,我自己也是不断实践不断思考才慢慢知道自己想要什么想干什么。

你不知道自己想要什么,这没什么关系,这是很正常的事情。但假如你想知道自己想要什么,非常想,真的想,那可以从一个问题开始:我最不能忍受的是什么

OK,这是一个很好的开始:当你越清楚自己“不想要什么”的时候,就越能快速接近“想要什么”

现在,找两张白纸,一支笔,让我们开始。

两张纸顶端对齐放在书桌上,给左边的纸写上标题“不想要清单”,给右边的纸上写上标题“想要清单”。然后,我们先来完成“不想要清单”。

比如你是一个程序员,你的“不想要清单”可能是这样的:

  • 我不想天天困在电脑前
  • 我不想老是加夜班上线新系统
  • 我不想周末和节假日接工作电话
  • 我不想老重复做一个东西
  • 我不想一成不变地老看着这么几个队友
  • 我不想月月拿死工资
  • 我不想月光
  • 我不想被女朋友说我一辈子就这样了
  • 我不想被人指使
  • 我不想有Bug时被批评
  • 我不想产品经理老TM改需求
  • 我不想老是延期交付老是被老板说无能
  • 我不想和一帮没水平的家伙共事
  • 我不想在Level太Low的领导下干活
  • ……

也许还有其它的,嗯,必然还有其它的。自行脑补吧,每个人都不一样。你可以不看我上面列的单子,列你自己的,对,说你呢,别往下看了,拿张纸来列一列。

如何得出想要什么

现在我们要来完成“想要清单”,方法也很简单,对着“不想要清单”,一条一条来找下面的内容:

  • 对立面是什么
  • 你之所以不想要的背后原因
  • 这一条对应的情感诉求是什么

按照这些东西,一一找找看,然后大多数人就能完成“想要清单”。比如我们上面的不想要清单对应的想要清单可能是这样的:

  • 我想要接触更多的人
  • 我想要作息规律的工作
  • 我想要不断挑战新东西,想要成就感
  • 我想要未来越来越有希望,比如职位不断晋升、收入规模上升之类
  • 我想要更高的收入
  • 我想要更被尊重
  • 我想要和牛人一起工作
  • 我想要和高水平的领导共事
  • ……

“想要清单”可能很长,一个不想要可能衍生出多个想要;也可能很短,因为多个“不想要的东西”可能会指向同一个“想要的东西”。没关系,只管做下去

一旦你分析出了“想要清单”,就可以进行下一步了。

成就事件

再找一张白纸来,写上“成就事件”作为标题,然后把纸放到“想要清单”右边。好啦,现在来回忆你的工作生涯中那些让充满热情、真诚投入、感到愉悦的时刻吧。

每个人都会有一些因为有成就感而开心的时刻,比如你帮助客户解决问题后很开心,比如你给同事讲解了一门技术课程反馈不错你很开心,比如你卖出去了一部手机很开心,比如你写了篇文章很开心,比如你做了一道菜很高兴,比如你画了一幅画很自豪,比如你自己完成了一个App很高兴……很多,用心回忆,一定可以找出来。

在寻找成就事件时,重点关注那些“即便没有物质回报也愿意投入去做的事”。这些事就是你感兴趣的,能给你带来成就感的,能让你有归属感的,很可能它们当中就有某件事会成为你终身热爱的事业。另外也请特别关注“做好了给你带来愉悦和成就感的事”。

一旦你列出了那些成就事件,就停下来,把即便没有物质回报也愿意投入去做的事特别标注出来。现在可以休息一下了,待会还有更耗神的事儿做。

寻找你想做的事

好,现在把你的成就事件清单和“想要清单”来比对,看哪个成就事情与你的想要清单中的事项能联系起来。

如果没有能联系起来的,那好奇怪啊——那些曾让你感到有成就感的事、开心的事,居然和你“想要的什么”都没什么关系。如果是这种结果,那可能你分析得还不够,回头再分析一下不想要清单、想要清单、成就事件清单。

反复来,直到能建立联系。

噢天,如果你真的真的没办法建立联系,好了,改天再来试吧。

你到了这里,说明已经找到了你想要的什么与让你开心的事之间的联系了。太好了,把你找到的那些事件、那些时刻单独挑出来,仔细分析,看看哪些事可以作为你的事业来做。假如你找到的不是一个可以当做事业(职业、工作)来做的事情,那就进一步分析这个时刻:

  • 为什么那时我会喜悦?
  • 这样的时刻是或然的还是必然的?
  • 这样的时刻可能出现在哪些工作、职业、事业中?
  • 这样的时刻怎样才能重复?

通过不断的发问、分析,你可以找到一个热爱的、乐意做的事情、工作。假如找不到,你的工作也不会白费——找不到可能是由于你没有使用正确的方法、不了解其它职业或自我意识能力稍差,而不是没有适合你的事业。这个时候,你有两种选择:

  • 改天再重复这个过程,死磕自己
  • 找职业规划师聊聊

我的建议是等一段时间再重复,如果重复几次都不能找到自己想做什么,那就找职业规划师聊聊。职业规划师有很多方法论和分析工具,可以帮助你梳理自己,找到你想做的事。

去做你想做的事

然而,无论你自己找到方向,还是职业规划师帮你找到方向,这都仅仅是第一步:定位。接下来的事情更为重要:假如你的方向与你现在的工作不符,你能不能真的放弃现在的工作,去做你想做的事。因为离开现在的工作,很可能就会失去收入来源,生活质量会下降;并且你找到的事,真的去做了,可能也会遇到各种各样的不美好,可能最终又发现不是你想要的。然而,只有亲身去体验了,你才能验证你的分析,才能真的找到你想要的。

如果你犹疑不定,无法成行,还有一个测试可以帮助你思考,下结论。

诺,先看人们在考虑工作时会考虑的9种基本因素:

  • 工资高,福利好
  • 工作环境(物质方面)舒适
  • 人际关系良好
  • 工作稳定有保障
  • 能提供较好的受教育机会
  • 有较高的社会地位
  • 工作不太紧张、外部压力少
  • 能充分发挥自己的能力特长
  • 社会需要与社会贡献大

然后,从上面的九种因素里,分别挑出对你来讲最重要的、次重要的、最不重要、次不重要的。一定要挑出来,挑不出来你就使劲死磕自己,死磕死了还挑不出来就算了。

其实这样的测试是帮助你分析你最看重的东西。如果你说你真的挑不出来,那还是慢慢干你的软件开发吧,因为,很多时候产品经理也挑不出来哪个需求优先级最高,都重要,都紧急,对吧,是不是看起来和你很般配,你们再相互折磨折磨,也许到一定时候就能分析出你最看重的因素了。

言归正传再绕回来吧,离开现有工作做你想做的事,其实是相当难的,需要勇气,也需要家人和朋友的支持,祝你早日迈出这一步。

注:本文写于10月22日,文中的“成就事件”这种说法,原本我用的是“开心时刻”,周末参加了一个职业生涯的培训,10月26日早起做了一些修订,修改为更专业的说法。

接下来我还想写一篇设定目标的文章和一篇执行的文章,不定什么时候,也许明天,也许后天,也许没个准信儿,但,大约在冬季,就会完成这两篇文章。


更多精彩文章,参看“漫谈程序员”专栏。

困惑、发展、加薪、升职、找工作、增值,尽在微信订阅号“程序视界”:

如何快速定位自己热爱的工作相关推荐

  1. Python快速定位工作目录

    原文链接:http://www.cnblogs.com/wdong/archive/2010/08/19/1802951.html 常年奋斗在编码一线的同学,应该都深有体会,工作久了,很多项目文件.技 ...

  2. Excel——快速定位工作表到表格末尾、列尾、选择表格内容区域

    目的: 快速定位到表格末尾.快速定位到表格列尾.获取表格列数.快速选中表格内容区域的快捷键. 方法: 快速定位到表格部分内容的末尾(只能定位到表格当前内容区域的末尾,若表格中有多个内容区域,则使用方法 ...

  3. 90%的人会遇到性能问题,如何用1行代码快速定位?

    阿里妹导读:在<如何回答性能优化的问题,才能打动阿里面试官?>中,主要是介绍了应用常见性能瓶颈点的分布,及如何初判若干指标是否出现了异常. 今天,齐光将会基于之前列举的众多指标,给出一些常 ...

  4. 定位插件_微创新 | 开发PL/SQL插件,快速定位所需字段

    点击上方蓝字?加入我们吧!成果ID:96749项目简介 PL/SQL Developer是公司数据支撑人员常年使用的数据库操作软件,提供了众多便利的功能.但同时还有一些地方可以优化,使其更适合我们的使 ...

  5. 网络故障排除工具 | 快速定位网络故障

    网络故障排除对于网络技术专家和网络工程师是颇具挑战的工作.每当添加新的设备或网络发生变更时,新的问题就会出现,而且很难确定问题出在哪里.每一位网络工程师或专家都有自己的经验和必备工具,能让他们快速定位 ...

  6. 使用MAP文件快速定位程序崩溃代码行

    作为程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统 造成巨大的损失.但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现 ...

  7. 使用MAP文件快速定位程序崩溃代码行(转)

    作为程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统造成巨大的损失.但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现程 ...

  8. Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》尾末附下载地址

    一.前言 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 今天给 ...

  9. xtragrid 某个值 查找_二分查找(下):如何快速定位IP对应的省份地址?

    通过IP地址来查找IP归属地的功能,不知道你有没有用过?没用过也没关系,你现在可以打开百度,在搜索框里随便输一个IP地址,就会看到它的归属地. 这个功能并不复杂,它是通过维护一个很大的IP地址库来实现 ...

最新文章

  1. webpack4.0让编译速度飙升
  2. html保存blob,HTML文本图像并保存为Blob到数据库
  3. 电力管理信息系统数据库表总结
  4. jQuery的位置信息和事件
  5. Innodb存储引擎——非聚集索引
  6. pg批量插入_在PostgreSQL中批量/批量更新/提升
  7. java 缓存方法_Java实现一个简单的缓存方法
  8. 关于C# .net JavaScript跨域
  9. 基于Javaee的影视创作论坛的设计与实现(含源文件)
  10. 嵌入式Linux开发|点亮那颗LED灯
  11. 十分钟快速自制CMSIS_DAP仿真器~将ST-LINK-V2变身DAP仿真器~
  12. chrome os 安装java_Debian下chrome支持运行Java小程序
  13. 三维GIS引擎平台设计
  14. HDL4SE:软件工程师学习Verilog语言(七)
  15. OpenBSD5.2安装图形界面
  16. android自定义控件不显示,解决Android Studio Design界面不显示layout控件的问题
  17. 【报错】亲测有用,copytranslator只显示部分翻译结果
  18. 生命早期肠道微生物组和疫苗功效
  19. 需要知道的华为、锐捷、H3C交换机命令
  20. fast角点检测 java_米联客 ZYNQ/SOC 精品教程 S04-CH11 快速角点检测之硬件实现

热门文章

  1. 计算机教室灭火器配置标准,计算机教室与多媒体教室安装场地基本要求.doc
  2. 数字的世界——好神奇
  3. 再谈深度学习文本的表示
  4. ARP是什么?+ARP欺骗 MAC为ff:ff:ff:ff:ff:ff是什么意思
  5. go语言之time包的使用
  6. WordPress大前端乐动体育指出:主题博客模板新增9个功能,修复7个bug
  7. css引入第三方字体(等宽非衬线)
  8. 一个追风筝的人,追寻着什么
  9. mysql连接与嵌套查询_数据库之嵌套查询与连接查询
  10. 抱歉出现问题:关闭 windows hello,然后尝试再次运行安装程序