首页 程序人生 创造型职业程序员的无奈

创造型职业程序员的无奈

编程是为数不多的一种既能满足个人爱好,又能赚钱的职业之一。烹饪是另一个这样的例子。在一般情况下,大多数职业要么不可能让你待在家里(例如医生和电工),要么你没有兴趣在家里做(例如清洁)。同样的,大多数好玩的活动是没人愿意付你钱的。

软件开发则横跨两个阵营:对有些人来说这是一个令人愉快的职业生涯,对其他人来说,这是一个激动人心的兴趣爱好。前者是我所谓的“职业程序员”,后者则是“创造型程序员”,当然这并不是说,前者缺乏创造力,而后者不赚钱。这么解释吧,你也可以分别称他们为“代码优先”的程序员以及“问题优先”的程序员,因为前者喜欢用代码解决问题,而后者更倾向于使用代码作为他们的工具来创建具体的东西。

还有第三类程序员,这一类很容易成为最沮丧的群体:既以编程为职业,又有强烈的创作冲动来制作软件。如果你愿意的话,不妨称呼他们为“创造型职业程序员”(虽然很没有创意)。职业程序员可以在工作中解决令他们感兴趣的问题,然后回家去做其他重要的事情;而来自于另一个领域的业余程序员可以享受编码作为晚上的业余爱好。创造型职业程序员白天的时间都在编码,去创造一个他自己也不甚在意的产品(换言之主要是为了钱钱,而且没有冒犯女程序员的意思),然后当他回到家之后,就没有时间和精力去创造那些他真正热爱的东西。

拿到CS学位,他以为他将会收获一份梦寐以求的工作。从一开始编码就令他激动不已:只要一台电脑和一些诀窍,就可以创建游戏来愉悦和挑战别人,创建工具来帮助他人和改变世界,以及创建完全不同于之前已经存的应用程序。为了能有一份高薪的工作,仅仅如此似乎太过异想天开了。

在进入这一行业几年之后,不幸的乌云开始慢慢拢聚。这并不是说他对工作不感兴趣了,也不是产品没有意义,只是因为……他手头有十几个项目像线团一样缠绕在着他,以致于他没有足够的时间来完成所有这些项目,即使他将一整天的时间都放在工作上。这感觉像是一个世界难题,但是从另一个角度,人们看到的是这样的:他热爱编程,并且有一笔可观的收入支付给他让他编程,他有充足的个人时间用于锻炼、与朋友建立联系和实现自己的兴趣爱好,他过着一种令人倾羡不已的美好生活。

上面这些片面化的观点会群起而攻之,在编程社区中出现沮丧的声音时。因为有太多的压力,所以你很难在自己的时间继续对编程工作保持激情:在工作时编程,然后累成狗一样地回家。你需要平衡你的生活,培养一些编程以外的其他爱好。你可以兼职其他公司,赚多一点钱,也可以做任何你喜欢做的事情,只赚取很少一点钱或根本不赚钱:然后抱怨和牢骚随之而来。

关键要说明的是,所有这些言论都没错:只是都没有戳中关键点。我认为,没有那么多的程序员在工作之外编码是出于他们想更有竞争力这个原因。同样的,我认为大多数程序员也不会相信为了保持竞争力你应该每天投入10小时以上到编程上的观点。

这类程序员的无奈之处在于,他每天只能投入有限的合理编码时间,然而他花费了大部分时间去创造的一些东西,最终对他而言是没有意义的。关键不在于编程,而在于创造。他不是那种脑袋钻到钱眼里的生意人,下班之后狂热地带着工作回家:他是一个绘画艺术家,将整天的时间都用在设计公交车车身广告,但当他回家的时候,却不能携带走任何风景片段。这是艺术家中已经有着几个世纪历史的冲突:这不是一个新的问题。和以往不同的是,据我所知,没有一种创造性的努力像软件开发一样有着很好地伪装、易于分享和有着极高的利润。

你还能想出其他的技能,既能创造和管理价值数十亿美元股票交易一样的利润,又能如创造游戏,例如GAME OF THE YEAR 420BLAZEIT,那样有趣又荒诞,并且还能将结果通过互联网分享到世界各地吗?这真的令人难以置信。编程是一种艺术形式,而且是一个强大的工具:可以理解的是,它对于不同的人意味着不同的东西。

这使得那些有着强大创作意愿,并将这些创作意愿置之于软件开发职业之上的程序员处于两难的境地。他能在工作中和家里都花费10+小时编码吗?他会放弃这一行,另谋职业,这样回家的时候就可以致力于自己的项目吗?或者他宁愿过着一种穷困潦倒的艺术家生活,完全献身于他的项目(例如软件世界里的Tarn Adams),省吃俭用希望能从中赚到足够的钱?还是说他只是像牙膏一样地挤时间,或者采取灵活的合同工作,虽然酬劳少了,但可以有更多的时间投入到编程中去?亦或是他依靠他的配偶提供财政支持,俗称吃软饭的?

我认为,这里的关键在于,这些不是支付账单的人提出的问题:这些是艺术家提出的问题。虽然尚在苦苦挣扎中的艺术家总是不能得到很多尊重,而且在我的印象中,创造型程序员得到的嘲讽甚至更多,这可能是因为他们原本完全可以轻易地利用他们的技能去赚钱,但却选择了一条艰难的道路。如果,因为艺术家他们渴望创造的强烈欲望而嘲笑他们是一种残酷,那么出于同样的原因而嘲笑程序员是否是另一种残酷呢?

我认为自己也是创造型职业程序员中的一员。虽然我在一个很有意思的领域有一份很好的工作,但我的大脑中有一百万个点子在爆炸:我想开发自己的游戏到能真正让人去玩的程度;我想建立一个基于标签的文件系统,用于标签和搜索媒体,类似gif动画和个人照片;我想制作一个移动app,让大家能够轻松输入数据(例如在你吃棒棒糖,或头痛的时候),然后展示相关性以便于你进行调查;我想构建一些不平凡的东西用来知道从属类型能有(或不能)多实用。

直到最近,我才想明白如何平衡生活中的编码,于是,现在的我是这样的:平时大概业余编码2小时,然后周末会有4到6小时的编码时间。这和我心里想要制作的东西相比,绝对是蜗牛速度,但因为接下来我会有一笔很大的开支,所以我需要保证一定的工作时间,而如果我妥协生活中的其他部分(人际交往、运动、休闲时间、家务琐事等)用于写代码,那么我的整体情况就会变糟。

这是一种牺牲,但我并没有觉得对不起自己,没有丝毫遗憾:毕竟每个人都需要有所牺牲,有所取舍。当然,如果能在和别人谈论时,别人不认为我的问题是将业余项目放在首位就好了。我认识一个厨师,他不喜欢累得一塌糊涂地回到家里,以致于没有精力去做一顿豪华大餐,他对此矛盾不已,但没有人为他指出,他真正问题在于对食物寄予了太多的激情。

如果我们能够认识到,创建东西这个愿望对于某些程序员而言是一种基本的动力,那么我们不仅可以通过,消除对那些不喜欢在家编码的程序员的蔑视,来帮助职业程序员,我们还可以帮助创造型程序员找到适合他们的生活方式。让我们一起来试一试吧。

站心网

编程是为数不多的一种既能满足个人爱好,又能赚钱的职业之一。烹饪是另一个这样的例子。在一般情况下,大多..

为您推荐

程序员职业发展与技能要求

程序员是从事计算机程序开发、维护和优化的专业人员。他们通过编写代码,设计软件系统,解决技术问题,推动技术创新。以下是程序员的一些关键信息:核心技能编程语言:掌握如Python、Java、C++、JavaScript等语言。..

程序员离职时删除代码注释算违法吗?

程序员离职前删除代码注释是否违法,取决于多个因素,包括雇佣合同、公司规定、法律条款以及删除行为的动机。以下是几个关键分析点:1. 合同与公司规定劳动合同或保密协议:如果合同或公司规定明确要求代码的完整性..

程序员副业探索之电商

目录一、小程序化妆品1.1 小程序准备(营业执照&微信支付&小程序appId)1.2 小程序开发二、拼多多电商三、跨境电商四、总结在腾讯广告工作期间,我主要负责小程序电商与广告业务,见证了互联网电商行业的剧变,特别..

谈程序员如何做好业务

前言技术能做两种事情,通过技术实现业务和通过技术支持技术。我们大部分时候做的是前者,养活我们的大部分也是业务。 近两个月,作为项目负责人角色从0到1经历了新项目的几个版本迭代,跨入了部分新领域,也有一定..

程序员增加收入的几种方法

在这个互联网飞速发展的社会,学会如何make money很重要。咱们是个俗人,赚钱才是社会生存的头等大事。这不是高山流水的世界,而是能力创造财富,对于程序员来说,更是如此。作为程序员,我们有更多挣钱的姿势,注意..

程序员跳槽到对手公司,被前老板设计陷害

这件事发生在2007年,我就职的第一家公司。今天把它整理写出来,希望它对程序员有一个警醒的作用。永远要记住,程序员的世界除了有代码,还有被套路。资深工程师的苦恼第一天到公司,是浩子带着我办理了入职手续。浩..

程序员如何提一个好问题

提出好的问题是在编写软件时的一个非常重要的技能。这么多年来我对此也算略有小成。这里有一些我用着觉得很棒的指导方针!开始我实际上是那种总是会问出愚蠢问题或“不好”问题的大信徒。我一直在问人们一些愚蠢并且..

我是李玉宝,我是个程序员!

听说今天我的名字很火,那我也来凑个热闹。在2015年的时候,我做过一次人生总结,当时写了:为了理想,我放弃了一切! 转眼到了2019年,说说最近一年多的一些事情吧!做的好的!坚持把权限管理框架OpenAuth.Net做了..

程序员失业日记1:工作五年,交接半天

最近发现越来越多的小伙伴被公司裁员,有的是因为公司业绩不景气被裁员,有的是因为压力太大离职。很多公司都在裁人、减员。找工作也比之前难。刚好去年我也被上家裁员了,正好做一个系列的日志,希望能帮到在找工作..

改善程序员生活质量的 3+10 习惯

一封离职邮件2017年的一天,代码伴随着手指极具节奏感地输出在IDE上,突然某Chrome插件弹出一封邮件提示:“今天是我在ThoughtWorks的最后一天”。遇到这种离职邮件,我都会点进去,一来看看是否是自己曾经共事的小..

倾听程序员的心声真的很重要

说到开发产品,没有人比程序员更了解产品。程序员知道产品的优点、缺陷、用途和潜在用途。说起这些,程序员了如指掌,如数家珍。在这个似乎无所不在的数字时代,倾听程序员必须要说的内容非常重要,而且也许比以往任..

助力程序员成功的几个好习惯

老实说,如果你google搜索“程序员的好习惯”这方面的内容,那么就会有很多大同小异的文章映入你的眼帘。但是今天我想从一个略有不同的角度来探讨这个主题。不是关于如何更擅长编程,而是如何使程序员更有市场竞争力..

倔强的程序员

对于程序员来说,大多数人公司都有技术和管理两条发展路线,通常在同一家公司,管理路线的发展可能性,要相对广阔一些;但是技术路线也有技术路线的好处,比如相对而言更依赖于硬实力,因而工作机会丰富。我相信有不..

程序员如何在当今就业市场中让自己脱颖而出

俗话说,钱不是万能的,但没有钱是万万不能的。可见钱对于生活的重要性。不管你从事什么职业,实现财务自由才能让你无所畏惧地应对挑战。但是还有一点是值得开发人员所关注的:如何脱颖而出与众不同。毫无疑问,软件..

领域驱动设计,让程序员心中有码(七)

-设计原则和设计模式,互联网开发者们共同的追求 前言多年来,笔者一直从事传统软件企业的软件开发和项目管理工作。笔者发现在众多的传统软件企业中,评判优秀开发者的标准往往是技能的熟练程度,基本上都是以梭代码..

如何成为一名成功的程序员

编程是一个仅靠兴趣仍不足以抵达成功彼岸的领域。你必须充满激情,并且持之以恒地不断汲取更多有关编程的知识。只是对编程感兴趣还不足以功成名就——众所周知,我们工作起来像疯子。编程是一个没有极限的职业,所以..

写作路上的这些小成绩,铸就了一个不平庸的程序员

01 好的写作平台可以加速我们的成长“路漫漫其修远兮,吾将上下而求索”,在写作这条漫漫长路上,我已经求索了将近5年的时间;在这5年时间里,有过兴奋,有过迷茫,但幸好,我未曾放弃。2014年的4月初,我在ITeye(..

程序员如何讲清楚技术方案

最近在评审技术方案,和代码review的时候,遇到刚入行的同学们,很多都讲不清楚技术方案。具体表现是:上来不说需求,直接说算法实现。台下一头雾水,根本不知道设计方案是否合理。描述完需求后,又直接看代码,看表..

排除万难,我终于入了程序员的坑

“恭喜你,成功的避过了所有的正确答案,选择了错误答案”。没错,我是一个数学专业的普通大学生,排除万难,我终于还是入了程序员的坑。1. 生活爆锤了我一顿我是一个平凡的人,人生也一直都是平淡且稀里糊涂的!像..

如何处理前任程序员留下的代码

作为软件工程师不可避免会遇到的一个场景是:我们在改变或添加一个功能到不是我们创建的、我们不熟悉的、与我们负责的系统部分无关的代码中时,会遇到麻烦。虽然这可能会是一个繁琐而艰巨的任务,但是由于使用其他开..

发表回复

返回顶部