一名优秀的开发人员,空闲时间会敲代码吗

原网页:Do I Need to Code in My Free Time to Be a Good Developer?
作者:Maxim Chechenev

Photo by Joshua Earle on Unsplash

“只有在空闲时间也敲代码,才能成为优秀的开发人员”——我常常听到周围有人这样说。在最初开始做开发的时候,就听到这样的说法。如今我已工作了将近十年,仍然会听到。看一些 CEO 的访谈,他们说:“我永远不会雇用在空闲时间不敲代码的开发人员”;我曾拜访过一些公司,他们说:“和我说说你的 side projects”。

真实情况是,大部分开发人员并不会在空闲时间敲代码,与此同时,又因此陷入焦虑和自我怀疑。

“空闲时间敲代码真的很有必要吗?身边的人都期待着我这样做吗?为成为优秀的开发人员,我真的需要在空闲时间敲代码吗?”

我的答案是不。


有人说:“我就是喜欢写代码”

不要误会我的意思。我不是说空闲时间编写代码不好。比如说,对于显然需要学习和实践的初级开发人员;或者是需要学习新语言或新技术;或者在准备面试(尤其是对于大公司);或者就只是享受敲代码的感觉;再或者是在处理自己的 side project …… 这些情况和原因都是很棒的,值得学习和推荐。

我的问题有点不同:即便我没有上述的那些情况和原因,为什么依旧有人希望我在空闲时间主动去敲代码?

在这里说一些我的个人信息,碰巧我并不热衷于敲代码,尽管我喜欢它并且写代码的水平还算不错。当看到自己的工作成果时,我会非常享受。看到人们如何与我构建的界面进行交互,真的让我很有成就感,即便产品是8年前开发的,我现在看着依旧很喜欢它。

但是我每天要花八小时上班、八小时睡觉,已经没有太多时间去做别的事情了。如果空闲时间我依旧选择敲代码,那我又该在什么时候去兼顾家庭、朋友和我的爱好呢?这些我需要时间,我需要一个平衡点。当我的妻子叫我吃晚饭时,我不想说:“好的,我处理完这个小 bug 就来”。因为我知道,长期在这种情况下,最后我将独自一人吃已经没有热气的晚餐。我不想错过这个对于我来说十分重要的时刻。

我的爱好与计算机毫不沾边。我喜欢瑜伽,单车,还有不太擅长的烘烤,最近,我正在学习如何吹口琴。我热衷于尝试新的事物和爱好,乐于感受计算机之外的生活。而当我晚上只有很少的时间时,又该如何为所有这些爱好找到足够的时间?


兴趣爱好并没有让我成为不怎么样的开发者

这些与 IT 行业无关的爱好和兴趣,使我的大脑活跃,让我越来越富有想象力,思考得也更广泛了,同时也让我的空闲时间变得更丰富精彩。这些与工作无关的事情,实际上和工作也有恀相似性,有很多方法同样可以运用在工作当中。

此外,在电脑前度过一整天的工作的后我需要休息。然而,我的祖母始终认为这是我为了休息而胡说八道:“只是坐在座位上按几个键,怎么会感到疲倦呢?而且就这样坐一坐,你就可以拿到很不错的薪酬”。我很清楚,她希望我能找到一份真正的工作——需要大量体力劳动的工作,也只有这样,我才有权说我累了。

不管怎么说,也许我的身体并不那么累,但是我的大脑却很累。我们不是机器人,我无法再多花一两个小时来敲代码。我的工作效率很低,可能一个小时只是打开IDE新建了一个空白项目文件夹。我知道我想通过做一些不同的事情来休息,而在做这些不同于工作的事情时,我能够突然想到某个问题的解决方案的频率是多少?很多次!

在我还年轻的时候,我始终认为“倦怠”这个词是假的,只不过是为了带薪休假而已。我不明白与工作有关的压力怎么会影响任何人。但是后来我看到很多开发人员,他们将大量的精力投入到编码中,除此之外再无其他,繁忙却又空虚。

需要休息这一正常的需求怎么会让我变成一个糟糕的开发商呢?事实并非如此,永远不会。


“适时的休息,这听起来很棒,但什么时候学习新技术和语言呢”

我认为这些应该在工作时间内完成。这是因为开发者和雇主双方都对此有需求:您想学习新知识并变得更好,您的雇主希望拥有一个经验丰富且乐于了解最新技术的开发人员。

在很多情况下,都可以在工作中尝试。比如某次新产品发布讨论会上,表现出一些主动性,并就为什么应该尝试新技术提出自己的观点。也许它将改善产品性能,或者可能对开发人员更具吸引力,便于公司的招聘。

当然,并不是所有公司都有这种机会。我曾经在一家很大的银行工作,这个银行拥有大量特定遗留代码,不过当时我对如何处理类似的情况没有很好的建议。虽然后面我离开了那家公司,但仍然学到了很多东西。


“我感觉到自己已经脱离新趋势了,我想要追赶上去”

在我看来,感觉到跟不上时代步伐,是很正常的。因为我们做不到永远和时代同一频率前进——这个时代进步的速度远比我们了解新知识的速度快得多。我们只是人类,我们不可能什么都知道。我越是努力就越明白,我所获得的报酬主要来自于我搞开发的好几年工作经验,而不是我对最新技术的了解。就像每一批最新出炉的毕业生,或许他们熟悉现有的最新技术,但他们没有真实生产场景的工作经验。

我只想再提一次:我并不反对在业余时间敲代码这个行为,也完全没有让正在这样做的人停止的意思。每个人的际遇、性格各有不同,只需要做自己喜欢做的、应该做的事就好。

我想说,没有人需要为不同的责任和梦想而感到难过或羞愧。

也许我的这种心态会让我失去一些很重要的东西,比如说,应聘时有 HR 和我说:“很抱歉,Maxim,我们不能雇用您。我们希望应聘者愿意在晚上继续加班敲代码。”

也许我不是很聪明。但是我相信我的知识和工作经验。我的心态、灵活性、学习能力和阅历,远比在晚上写代码这一行为更有意义。

当然,我并不是说这些公司不好,只不过我们的观点不一致罢了。而且,事实上,非正常上班时间写代码,几乎是业内默认的潜规则。更何况,让所有人都认同我的观点,这也是很不现实的。很多公司认为我不是一个好的开发人员,认为我一无是处,这完全没问题,毕竟,也有很多公司的价值观与我的价值观保持一致。

这里想说一句大家都知道的话:人生苦短。

人的一生没有太多时间,我想要把更多时间用在能使我更快乐的事情上。在我做了脑部手术之后我才意识到这一点,这很可悲(当然,现在的我很健康)。不过能意识到,就很好了,我很高兴现在我不再纠结于在空闲时间敲代码了。


所以,请追随你的梦想,跟着你的本心,做你想做的、热爱的事,不要让自己为此感到难过。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值