zoukankan      html  css  js  c++  java
  • 一名优秀的开发人员,空闲时间会敲代码吗

    Photo by Joshua Earle on Unsplash

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

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

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

    我的答案是不。


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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


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

    本文由实验楼进行翻译,原网页:Do I Need to Code in My Free Time to Be a Good Developer?
    作者:Maxim Chechenev

  • 相关阅读:
    MySql常用函数积累
    常用的linux命令
    Java replace和replaceAll
    json常用操作
    import { Subject } from 'rxjs/Subject';
    applicationCache
    mongo
    Mongodb更新数组$sort操作符
    Mongodb更新数组$pull修饰符
    使用forever运行nodejs应用
  • 原文地址:https://www.cnblogs.com/shiyanlou/p/13344041.html
Copyright © 2011-2022 走看看