网络上的许多博客和建议似乎都表明,要成为一名出色的开发人员,仅仅做日常工作是不够的。例如,您应该在业余时间为开放源代码项目做出贡献,编写智能手机应用程序等。实际上,很多建议似乎表明,如果您不喜欢整日编写程序,那么可能是在错误的职业中。

这对我来说并不正确。我很喜欢我的工作,但是当我从办公室回到家时,我并没有心情直接跳回计算机并开始编码,直到就寝为止。我每天只有几个小时的空闲时间,我宁愿将它们花在其他爱好,见朋友或出门旅行上,而不是在电脑前。编程,偶尔会在工作之外四处乱窜。我致力于个人发展,并花时间阅读技术博客和书籍,以此来保持学习和不断进步。但这还不至于让我想用自己的全部业余时间进行编码。不用做额外的工作就能成为一名优秀的软件开发人员吗?我很想听听您的想法。

更新:谢谢大家的评论和回答。很多好的想法和建议!

评论

我认为这只会使您更加正常,您可能会与我们极客所说的“现实生活”有更多联系。重视那个。

@Orbling你在说什么“现实生活”?与魔兽世界相似吗?它可以在64位操作系统上运行吗?

@biziclop-就像WOW一样,具有更好的图形和更好玩的游戏。

@ChaosPandion:任务吸引了很多时间,沉闷,沉闷,并且掠夺绝对不是史诗般的。
为了提高效率,我建议您在尝试工作时尝试新事物并从事个人项目。这样,您仍有有限的空闲时间。 :-)

#1 楼

IMO的这种态度来自具有可怕的吸吮性工作的人,并结合了可怜的时间管理技能。如果您基本上整天都在键入Web表单,请出去找一份更具挑战性的工作,或者自己开始。

这是东西。一位音乐会音乐家(大提琴手/钢琴师/随便什么),每天最多练习6个小时。大多数人每天只练习几个小时。在最高级别上

人们说更多的程序是因为您了解更多,但这只是烟幕。每天8个小时足够。

进度不是线性的。这是对数的:



音乐家练习超过3个小时的唯一原因是,他们需要挤出那些小时所提供的额外1%。如果您认为适用于您,重新解决了20年前CS解决的问题,那么您就有了从表面到表面的复杂性。

我以前在压力锅公司工作过,请相信我,这些人实际完成的工作量并不比像37signals这样对工作量有限制的公司更好:http://37signals.com/svn/posts/996-why-i-love-working-with-family-people

最终发生的事情是,可以肯定的是,您可能在一台计算机10到12个小时,在办公室里还有2个小时,但这不包括您所花费的90分钟午餐,浏览讨论论坛所花的2个小时以及您必须玩的许多时间在办公室布置的游戏(桌上足球,游泳池,yada ...)。

回头看一下这张图。现在回到我身边。

如果您参与其他活动,您的思想实际上就有机会扩展得多:学习演奏乐器。学习一门外语。最好还是出去运动,与真实的人交流。

关于生产力的对数性质:


在1993年著名的年轻人研究中
小提琴家,演奏研究员
Anders Ericsson发现,最好的
都以相同的方式进行练习:在
早晨,以三个增量,每次不超过90分钟,
之间每个间隔一个
。埃里克森发现
其他音乐家,运动员,国际象棋手和
作家中也有相同的模式。

为了真正的生产力,少就是多/>
这实际上是商业世界中众所周知的原理,令我惊讶的是更多的程序员没有听说过它。

更新:有关爱立信研究的更多信息。

整个过程需要10,000小时/ 10年才能熟练掌握的整个概念实际上来自爱立信所做的研究,而不是Malcom的研究格拉德威尔。

众所周知,您可以将1年的经验重复10次...因此,仅将屁股坐了10年就没有资格。符合条件的是爱立信所谓的故意实践。

他发现这项原则在田径,音乐,写作,国际象棋和数学中都适用。他进一步将刻意练习定义为非常努力,以至于即使在最高级别下,您每天也只能花费大约4个小时。否则,您将遭受过度训练或倦怠的痛苦。再次,他认识到故意练习的报酬递减,最长约4个小时。

关于没有很好的工作/具有挑战性的工作:

洗漱。要么找到更好的工作,要么有一个主意:至少将当前的工作变成不是现在的工作。

我认识的最好的程序员之一进入了一个由数十个程序和成千上万行代码组成的旧系统的维护程序员。多年来,其中大多数已经被黑客入侵,以至于您不得不说已经没有任何一致的设计了。

这几乎是无用的,死胡同的工作。管理层希望您保持警惕,并修复这些臭虫。优秀的开发人员正在从事未开发的项目。人们要么来这里休息直到退休,要么就积累了几年的经验,然后再进行新的应用程序开发。尽管大多数程序员会抱怨缺乏职业发展,或者没有机会学习新事物,或者没有令人兴奋的项目来开展工作,或者更笼统地说,只是无聊中没有人让他们这样做,但这个人只是坐下来并着手做需要完成的工作。

在2年的时间里,他将系统从原来的意大利面条代码变成了漂亮的东西,并像瑞士手表一样运转。如此彻底的变革使该部门的副总裁开始越来越重视现有项目,并开始质疑未开发项目的价值。尽管他没有头衔,但运营人员还是以他作为事实上的组长来找他。当我离开时,副总裁正在谈论为他担任系统架构师的角色。重要的教训:


您的工作就是您的工作,并且有很多有趣的问题需要解决。如果您不喜欢编写CRUD屏幕,请通过自动生成屏幕来解决问题。
不要坐在附近等待机会来找你。他们永远不会。


评论


评论员:评论旨在寻求澄清,而不是进行扩展讨论。如果您有解决方案,请留下答案。如果您的解决方案已经发布,请对其进行投票。如果您想与他人讨论此问题,请使用聊天。有关更多信息,请参见FAQ。

–user8
2011年6月18日22:41

这个以及许多其他答案都过于强调编程为“实践”。要继续进行音乐家的比较,信不信由你,但他们实际上也乐在其中。面试官寻找的是业余时间编程的人,并不是那些始终需要不断练习的人。他们正在寻找一个充满激情并真正喜欢他们所做的事情的人。如果您对工作充满热情,通常也会将它变成一种爱好,并且很难摆脱它。这与拾起其他爱好没有什么不同。

–user37718
2011-10-13 17:51

音乐家的榜样并不是很好。当音乐家达到高技能水平时,当他学习了所有理论之后,便可以闭眼合成歌曲,同时可以演奏9000多种乐器,而已无事可做。程序员或计算机工程师需要终身学习新技术。总是有新的东西要学习。因此,回答这个问题,一个整日编程,没有社交生活的人比一个在业余时间不编程的人要好得多。

–user49943
2012年3月18日14:54

@GabrielLlamas音乐理论是基础知识,例如我们在大学学习的算法基础,分布式计算和操作系统。这些基本知识不会改变加班时间。大约20年前,我们已经有了客户端和服务器的模型,现在我们仍然拥有客户端和服务器的模型。因此,客户端和服务器的基础知识仍然适用,只是高层事物在快速变化。您可以将不同的工具视为诸如HTML,Javascript之类的不同技术。但是,如果您能够应用基础知识,那么事情将是相似的。

–高大卫
2012年8月29日在3:30



另一个例子是,一旦您知道如何使用c进行编程,学习c ++就不会困难了。我记得我在不知道任何Scheme的情况下使用Scheme解决了室友的编程问题。学习计划对我来说一点都不难,因为我在高水平上知道什么是功能语言。

–高大卫
2012年8月29日,下午3:34

#2 楼

此消息中还有更多隐藏的内容。 >通常,您不会在工作时间内关注自己的兴趣。您只要做被告知要做的事情就可以了。我们中只有极少数人幸运地在工作中完成了即使不支付薪水也可以亲自完成的工作。

因此,如果您不做任何额外的工作,就无法发挥自己的潜力。这就是问题所在。

评论


哇,这真是令人欣慰,因为有时我觉得我对学习编程的其他方面很感兴趣,但是这项工作使一切都变得很艰难。

– Melaos
2011-2-17在1:06

真正。要注意的一件事是您在摄入期间可能签署的任何发明协议。我们没有使用这些语言,但是我与我的程序员达成了口头协议:如果在工作时间以外并且不直接与公司竞争,那么请度过美好的时光。我什至不介意他们是否使用公司的设备,尽管人们普遍认为将其放在家里可以“清洁”。

– Peter Rowell
2011-2-17在1:49

几个小时后保持好奇心很好。那可能就是如何在一夜之间在整个公司中自动部署下一版Windows(Mwah hah hah)。也可能是摄影,啤酒酿造或划船。外部利益使您更全面。它与您的日常工作没有关系。

–quickly_now
2011年2月17日在8:00

-1正如其他人在其他答案和评论中指出的那样,这意味着您实际上无法获得一份好,好玩且富有挑战性的工作。以我的个人经验,这是不正确的。到目前为止,我在大多数工作中都学到了很多新东西。恕我直言,这至少与公司文化一样,是个人态度的问题。

–彼得·托克(PéterTörök)
2011-02-17 10:40



如果您喜欢编程并且不喜欢自己的工作,则应该花些时间寻找更好的工作。

–尼基
2011-2-17在11:53

#3 楼

它并不能使您成为一个糟糕的开发人员,但是不幸的是,您仍然必须与做这些的人竞争。 />不合理

下雪天,学校取消后起床,将停机时间变成一个额外的学分物理实验室的六个小时的工作是不合理的。 br />推出将开发曲线缩短九个月的技术产品是不合理的,从而使下一代产品比更合理的竞争对手更早推出。

对于货运公司来说,接听电话是不合理的。第一圈。

在没有保证金的情况下成立新公司是不合理的。员工。

即使您想做一些勇敢而新颖的事情,在当今的经济环境中放弃出色的演出也是不合理的。

r老师期望我们可以让处于劣势的内城区孩子在高中取得好成绩。

鉴于您所承受的压力,对待您的同事和竞争对手是不合理的。

不能指望一个伟大的女人,一个既有干劲又有优势的人,除了一个伟大的女人之外,在世界上与普通百姓抗争的世界上,能做任何重要的事情都是不合理的。创造出大多数人永远不会欣赏的产品。

幸运的是,世界上充满了不合理的人。不幸的是,您需要与他们竞争。

评论


是的,每天工作8小时,然后回家再工作一些,这也是不合理的。你在找谁又为什么呢您需要回答这些问题(谁在付款?为什么?得到什么?)。如果您在一天结束之前精神疲惫,那么您可以为自己做的最好的事情就是-其他!

–quickly_now
2011-2-17在8:04

您假设开发人员在工作中不会受到挑战,也不喜欢他们的工作。这不是真的。只在工作中编程的人不会在家中编程,因为他们已经完全满意

–没人
2011-2-17在10:24

-1是因为a)引号与该问题没有直接关系,b)IMO(大多数)这些东西完全没有道理。许多有理智的人可以考虑长期和短期。 OTOH我们大多数人在发明关于懒惰/无能/粗心的好(和假)理性解释方面经验丰富:

–彼得·托克(PéterTörök)
2011-2-17在10:34



-1称很多合理的事情不合理是不合理的。它没有增加任何问题,而且听起来还不错,大部分就像塞思·戈丁(Seth Godin)写的很多东西。

–Vitor Py
2011-02-17 13:29

“期望医生办公室有一个愉快而乐于助人的前台人员是不合理的。”不,这不对。不合理的是医生收取他们的工作费用,然后使我们受到粗鲁的办公室工作人员的欢迎,在他们的办公室候诊室中漫长的等待,以及对人格的不敬。

– GreenMatt
2011-02-17 14:47

#4 楼

要回答提出的问题:不利用业余时间进行编程并不能使您成为不良的开发人员,但是,利用业余时间进行编程可以使您成为更好的开发人员。伤害了您的技能,但您不应因此而去做。编程似乎是一个相对独特的领域,因为对于许多人来说,编程既是他们的工作,也是他们的业余爱好,因此他们在业余时间喜欢编程。

评论


编程并非既是职业又是业余爱好。有两个例子:我曾经知道几位航空公司的飞行员有他们自己的小型飞机,他们为娱乐而飞行。我知道有专业的天文学家在一边凝视。

– GreenMatt
2011-02-17 14:43

“相对独特”是指它是少数之一,但肯定不是唯一的。我知道还有更多人,尽管他们可能会喜欢他们的工作,但在没有报酬的时候不会花时间去做。做一份自己热衷的事情通常很困难。

–shortkaik
2011-2-18在21:06

1:技术,语言和技术变化如此频繁且如此迅速。程序员必须花一些时间不停地磨练自己的技巧。 //相关问题:您对不阅读医学期刊的PCP感到满意吗?

– Jim G.
2011年6月17日11:54



我认为这个答案最能概括这种情况。但这完全取决于一个人的情况。如果您的工作满足了您所有的编程需求,如推动自己,与时俱进,等等,那么在您自己的时间进行工作的需求就会大大减少。但是,如果您的工作很简单,并且使用较旧的技术,则应该花一些时间在自己的时间内提高技能和知识。

– Nellius
2011年12月15日的15:00

@shortkaik“利用业余时间进行编程可以使您成为更好的开发人员”-并非总是如此。如果您在工作中遇到挑战,那么,如果您还在家里编程,那不仅会使您精疲力尽,而且会比职业技能更疲惫,这也会损害您的工作效率。另一方面,如果您对工作给您(以及从您那里获得的收入)不满意,那么在这之后再进行编码可能是一个不错的决定。

–user1449
2012年6月21日14:19

#5 楼

不,这不会使您成为不良的程序员。从长远来看,根据您的操作,它可能使您成为更好的程序员。在您职业生涯的早期,这可能会影响您学习所需各种技能的速度。但是,您可能会获得长期有用的技能和信息。做些运动也不会有伤害。虽然我们可以长时间生产,但从长远来看,我们会降低效率。我看到的研究表明,每周工作80个小时的人的生产率与每周工作40个小时的人的生产率差不多。好:


你在做什么?你能做得更好吗?您需要这样做吗?
您正在学习什么?您需要学习什么?
您遇到什么问题?谁是最好的解决方案?你能做什么?


评论


业余爱好编程并不意味着在工作几个小时后就可以工作-这绝对不能扩展。但是在ObjC中将iPhone上的游戏编程为业余爱好可以提高您的技能并提高工作效率(如果工作是例如用Java EE编写金融应用程序)

–Heiko Rupp
2011-2-17在12:10

@Heiko True,但是除了编程以外,还有许多其他技能可以使您成为更好的程序员。优秀的开发人员除编程外还具有许多技能。

–BillThor
2011-2-17 14:41

当然:)我特别提到的是“ 40h时的最高生产率”-这听起来像是如果您进行5h业余爱好编程,那么您只能在工作中进行35h。我认为这是不对的

–Heiko Rupp
2011-02-17 15:24

@Heiko这项工作与众不同,您可能可以两者都做。毕业后的头几年,我每周经常超过40个小时,但运用了各种各样的技能。学到了很多东西,并且似乎没有碰到性能障碍。值得庆幸的是,我有一个朋友晚上会把我拖出办公室。在另一个项目中,当我意识到自从上午10点以来没有完成任何工作时,我在下午2点回家。仍需支付4个小时的费用。

–BillThor
2011-2-17在15:40



#6 楼


不用做额外的事情就可以成为一名优秀的软件开发人员吗?

花费的时间可能比花费额外的时间来磨练技能要花费更长的时间。我还发现,如果我全职工作并且在工作时间以外很少做编程,那么就很难投入足够的时间进行自我完善。比我现在更学习。在这一点上,我每天使用的概念已经根深蒂固,在我的带领下,借助这种经验似乎似乎更容易获得更多的知识。他们天生痴迷,倾向于反社会,真正享受编程和解决问题的整个周期。

#7 楼

在大型方案中,关键在于找到正确的生活平衡。

重要的是,无论您处于何种水平,您是否喜欢编程以及是否继续学习。无论您是否在户外工作,都不会自动使您成为“好”或“坏”的程序员。

从个人角度来说,我从事编程已有25年了(从小开始) ,然后是专业人士)。我绝对喜欢。

但是,我几乎从不对外部工作进行编程。这与几件事有关:


我很幸运,在工作中,我每天都能整天做自己喜欢的事。生活中还有其他事情,一天只有几个小时。


评论


-1:是的,生活中还有其他事情,但这并不能回答问题。您只是想让自己相信自己正在选择最佳路径。

– Jim G.
2011年6月17日12:00

#8 楼

您可以仅在工作期间进行编码就可以成为一名优秀的程序员,尤其是如果您能够很好地管理自己的职业。但是,最出色的程序员也会在下班时间进行编码。话虽这么说,一个能找到很多学习机会的好工作,善于利用工作时间的人,等等,比起在家编写代码的人来说,它会是一个更好的程序员,因为他找不到在工作中遇到有趣挑战的工作。工作日。

虽然在家编写代码很有价值,但我想说,最大化工作环境的价值(通过向同事学习,挑选好工作,积极管理职业生涯)通常更有价值。最优秀的程序员会同时做这件事,并且对学习和指导他人也怀有很高的态度。

评论


“但是,最出色的程序员也会在下班时间进行编码。”您对此没有任何证据。

–djechlin
2014年3月17日13:48

#9 楼

真正的问题是,新开发人员是否能够编写足够的代码(应对足够多的问题),以通过数十万行实践代码并成为一名体面的程序员。 ,或按您自己的时间,或两者兼有。实践必须一定是自我指导的,因此您可以学习需要学习的东西。这意味着工作要灵活一些。

很多时候,入门级工作都是大量的错误修复或其他工作,这些工作都不会教你变得更好。您需要做的是从头开始编写许多代码,而这些代码可能很糟糕。雇主很难为此付出代价。这就是为什么人们最终会在一边进行开源项目或启动一家创业公司之类的原因。经过多年的有意义的实践。您必须尽一切努力来进行练习,并学习从头开始编写和维护大型代码库。如果没有人付钱让您从头开始编写可能是灾难性的系列项目,那么只有空闲时间是您的选择。认为如果以后再保持9比5的水平,您将失去基本技能。后来更多的是要跟上不是很费时的新技术。本身首先要成为一名优秀的程序员。新开发人员需要主动学习,而不仅仅是在从事入门级任务的入门级工作中闲逛。

如果您已经有一个家庭并且非常强调工作与生活之间的平衡,那么从头开始成为一名优秀的程序员真的很难。就像在这种情况下要成为一名医生,成为一名熟练的音乐家或其他任何人一样,真的很困难。人们倾向于在年轻时而不是年长时经历数千小时的练习。

#10 楼

如果我在接下来的六个月中花时间在业余时间开发一款基础游戏,而您却没有,并且假设其他所有条件都是平等的(他们从来都不是),那么我们当中谁会知道更多?我们当中哪个人会拥有更多的技能和经验?

这种影响将是累积性的,因为更早的下班时间知识将融入新工作和新的下班时间知识中。

据我所知,这就是为什么人们建议在业余时间进行编程。

#11 楼

在好与坏之间,有许多不同的层次。您一天仅做8个小时左右的工作就不能成为一名优秀的开发人员,可能会解决非常有限的领域中的问题。

如果您的工作变化很大,那么您可以变得“体面”或“成就”或您喜欢的任何形容词,但恐怕要成为一名出色的开发人员,您必须要有一点头脑。

进行业余编程的另一个原因是,在工作中您通常必须遵守次优标准并做出一般性的让步,即使您确实学到新东西,也可能不被允许使用它。

还有一个甚至更平淡的是,您在工作中编写的任何代码均归您的雇主所有。当您为其他人工作时,您无法回到过去并从多年的错误中吸取教训。

#12 楼

成为任何专家都需要10,000个小时的努力。 [Michael Gladwell,“局外人”]

因此,在达到该水平之前进行额外的工作将使您加速迈向真正的专家身份。这样的水平,那么花更多的时间将获得很小的/逐渐减少的回报。

评论


但是,什么是“物”? “编程”是单个“事物”,还是“ haskell”,“ lisp”,“ java”,“ python”等事物?还是“功能性编程”,“ GUI编程”,“低级编程”等?就其本身而言,这什么也告诉不了我们。

–AndréParamés
2011年6月17日上午10:09

#13 楼

您不应该将其视为“它使我成为一个糟糕的程序员吗”,因为像每一项技能一样,多练习只会使一种更好。您的工作所不允许的领域,这是额外的精力和时间所需要的。

但是,花费额外的时间编码(只是为了向某人证明您编码得更多)并不一定意味着您成为一名优秀的程序员,除非您了解自己的工作并做一些不同的事情或改进已经知道的知识,而不是盲目地剪切/复制/粘贴和整理内容。我认为延长工作时间并一遍又一遍地做同样的事情,我认为这不会对您有所改善。

评论


我认为OP的观点是,一些程序员散布着这样的思想:如果您不在工作之外进行编程,那么您就是一个糟糕的程序员。我记不清在SO,这里和其他地方看到过帖子的次数,其中有人说,在采访潜在的新员工时,他们问被访者进行了哪些方面的计划,答案是否为“ ”,那么受访者对编程的热情就不如对工作的热情高。

– GreenMatt
2011-2-17 14:52

+1-如果您所做的只是您在工作中所做的事情,那就没有多大用处。

–扣篮
2011-2-17在15:35

仅仅练习一项并不能使您变得更好,您必须练习正确的事情,否则实际上您会变得根深蒂固的不良习惯变得更糟。

–HLGEM
2011年6月20日22:07

#14 楼

白天,您的编程是短期选择。有钱可赚,您确切知道要赚多少钱,而且除了薪水以外,您没有其他收益。

晚上,您需要进行长时间的下注-疯狂的想法基本上根本不会起作用。这些项目会使您脱颖而出。这就是您成为PHP的发明者而不是使用它的代码猴子的方式。真是罕见。

尽管我会这样说:有一次,一个在工作时间之外做了很多很酷的事情的家伙竟然完全是雇人。我仍然被那个家伙迷住了。

#15 楼

作为一名优秀的软件开发人员,内心真正取决于您的内心。您可以尝试成为一名出色的音乐家,并花大量时间在音乐上,但那仍然不能使您成为一名优秀的音乐家。您需要享受自己所做的努力才能成为一名优秀的音乐家。曾经有过,但现在由于我的喜欢,我开始在软件上进行除正常工作以外的其他工作,这改善了我在正常工作中的表现,也使我有很多时间参与与软件无关的其他活动。因此,基线就是享受您所做的事情,您最终将做所需的事情。

#16 楼

真正的问题是你整天在做什么。通常无法正确应用与运动员和音乐家的类比。除非您有明确的能力将部分工作时间花在真正的“练习”上,否则您的日常工作不是练习,而是表现。你怎么知道的?如果您没有时间做任何“正确的事”或彻底学习新的语言/技术/框架/等知识,那么您就没有在练习,而是在练习。职业运动员和音乐家在比赛或音乐会中并没有进步,而在专注练习中会变得更好。因此,如果您像大多数人一样,只有真正的编码“实践”才是户外工作。话虽如此,只有集中精力才值得。如果您整天黑客攻击,然后整夜黑客攻击,您只会感到疲倦,而不是更好。

例如,您需要在工作中优化一段代码,然后将常用的分析工具扔给它,可以将速度提高50%并继续执行下一个任务,但是您认为您可能会做其他事情会有所帮助,但是您没有时间尝试这些操作。如果您将这段代码带回家,并花了几个小时才真正拧干代码,那么您正在学习的技术将使您下次优化某些内容时变得更好。您在家中所要做的与在工作中所要做的不同。

实践是关于增加技能和磨练技能的,而这些活动必须以人工方式完成(就像在健身房中隔离肌肉群,没有人在正常的体育锻炼中这样做)。在家构建应用程序不会自动练习。在家工作应侧重于技术和过程,而不是最终产品。如果最终产品是您需要激发的动力,那就太好了。只是不要陷入以与工作时相同的方式进行开发的陷阱。​​

kata编码运动就是实践的全部内容的一个例子。

#17 楼

要回答您的问题:不,这不会使您成为不好的开发人员。如果您有一份工作在不断学习可以帮助您进一步发展职业的新技术(无论是当前职位的晋升还是其他公司的新职位),那么您就定下了职业。 >
但是,如果您目前在一家公司中使用的技术很少发生变化,那么在2或5到10年内,您可能会很难找到下一份工作。如果您要在家中使用新技术进行编码并且要展示一些东西(应用程序,网站,开源项目等),那么您会发现获得下一份工作要容易得多。

当然,在接下来的40年里,您可能完全乐于做同样的事情,只要您的公司和技术继续存在,那么您就定了!

#18 楼

在我的生活中,有时候我会在工作之外进行很多编码,有时又因为我在做其他事情而没有做任何事情。您应该一直在学习,但这并不意味着您总是必须在业余时间学习编程。如果您想在业余时间从事其他技能的工作,例如木工,针尖,园艺等,它将帮助您成长为一个人。

别陷入认为自己了解编程所需的全部知识的陷阱,从而可以停止学习。

#19 楼

这确实是一个有趣的帖子。我已经为pas开发了10年的软件,并且热爱我的工作!我也有很多爱好,并尝试适当地管理它们。但是我确实可以尝试在睡觉前花一两个小时在电脑前尝试新事物。就我而言,我沉迷于学习和编写游戏代码。我并不总是有时间玩游戏,但是我喜欢阅读有关游戏的代码。老实说,我认为我见过的最好的代码来自游戏,我将这些技能应用于我的工作代码中。我每天都在不断学习,所以IMO,如果您是一名开发人员,您将永远无法达到顶峰,总有一种更好的方法来做某事....

#20 楼

这是一个很棒的帖子。

我会说,不,这不会使您成为一个不好的程序员。如果您的评论很好,并且您按时完成了任务,那么您就完全相反了。老实说,我很羡慕您在工作时就可以编写代码。

我在业余时间进行编程的主要原因是,我并不真正在意工作,而是利用业余时间做自己喜欢的事情。我喜欢做的是视频游戏编程。没有有效的游戏公司在我的住所工作(我现在在这里有一个家庭),所以我会尽可能帮忙开发独立游戏。这是治愈瘙痒的唯一方法。如果我一整天都做着自己喜欢的事情,那么很可能我不会在业余时间去做。

#21 楼

我的建议是:利用通勤时间学习知识,使您了解最新信息:阅读IT书籍,听Dev播客等。否则,你会变得无聊。

#22 楼

它并不会使您成为不良的开发人员,甚至可能不会使您成为一种“好的”开发人员,而只会使您成为现实。但我认为,您会发现大多数真正优秀的黑客往往都喜欢尝试新事物。在任何给定的时间,我都会研究许多不同的语言,数据库,Web框架,机器人技术等。我有两个小孩,一个妻子,抵押贷款,所有这些东西-但我期待能获得2或3的时代几个小时来闲逛。当然,C#和.NET都能很好地赚取薪水,而我确实很喜欢我的工作,但是在过去的几个月中,与Scala和Lift混在一起对我来说是真正的冲击。有些开发人员会将自己归类为“充满激情”,而那些只是“渐行渐远”。我倾向于发现不断挑战自己的开发人员往往比不挑战自己的开发人员进步更快。

#23 楼


这是否意味着我不是一个真正的“真正”软件开发人员?


绝对不是。这只是意味着您喜欢做除编码之外的事情。没什么不对的,它不会使您比其他任何人都好或不坏,无论您是开发者与否。你的工作吗?


当然。其中一些取决于您的工作环境。如果您的工作无聊,令人soul目结舌,然后又花一些时间进行无聊的维护工作,那么利用工作时间来发展自己的技能将非常有限。如果您有一个可以自由探索和学习的环境,那么可以利用这个机会来开发新技能,这些新技能也可以帮助您的雇主或同事们。

如果您发现一些有趣的东西想要了解更多,而又没有时间或可能性在工作中使用,那么您就必须权衡其他时间需求,例如家人,朋友或爱好。

评论


+1。是的,这实际上取决于工作环境。在一个聪明(最好是比自己聪明)的地方,作为一个团队,他们关心自己的工作并不断努力改善一切(最终产品,底层代码,工具,工作环境等),您就有机会成为优秀的开发人员的想法,即使您喜欢将空闲时间花在其他地方而不是花在计算机前。

– Jonik
2011-2-17在16:43

#24 楼

我最近参加了许多采访,以聘请程序员。我发现,无论是程序员还是我不介意与之打交道的人都给我印象最深的是那些花费大量时间从事非编程工作的人(尤其是音乐,还有纯数学,哲学和文学)。可以肯定的是,大多数人也会做一些业余爱好编程,但是他们也有平衡的利益。

评论


现在,如果我只能说服音乐人……他们似乎认为您不能擅长于一件事。音乐和编程非常相似。

– Michael K
2011-2-17在19:57

您回答了一个完全不同的问题。您希望与之共事的人的类型可能与优秀的程序员所处的人的类型完全不同。如果您想和您一起工作的人开心,并在社交中度过一段快乐的时光,那么超级程序员也许不是最合适的选择。但是,如果您的典型工作量是2-3个月才能完成12个月的项目,那么当您发现uber程序员会让您在工作之外生活时,个性就不会那么重要做更多的编程。

–扣篮
2011-2-18在16:30

顺便提一句:我发现,在面试中给我留下最深刻印象的人是我最关心的人。在我的早期职业生涯中,我推荐的唯一聘用的技术能力不强的人也恰巧是面试中最具社交能力和说服力的人。

–扣篮
2011-2-18在16:35



#25 楼

如果拥有一份可以为您提供完全引人入胜的知识体验的工作,那么这很有可能会成为您的心理生活-外面的工作是为了释放动力。如果您的工作没有吸引您,那么下班后您很有可能会获得智力上的满足。在任何业务中都是如此,而不仅仅是编码。

在办公室编码可以节省您的创造力和时间。每天至少需要8个小时,您的大脑才能代表他人持续冲刺。出现这种情况是正常的,而不想回到计算机上。当我在办公室工作时,情况对我来说是一样的-我会回家,只想做饭,或者去看电影,和朋友一起闲逛,或者只是坐在电视前。然后从2001年至2004年左右,在我为油罐车工作的公司工作后,我开了车,然后退学,开了辆出租车,等待餐桌。那是我真正开始在下班时间进行编码的时间。

事实是,我认为没有人每天有超过8个小时的高质量编码时间。许多编码器只有2-3个,但他们可能是那里最有效率的人。就是您如何使用它,如何将其散布开来。

评论


您从未与OSS开发人员见过面,对吗?当编码成为一种激情时,您有时可能想要一整天都坚持24小时。

–马丁·彼得斯(Martijn Pieters)
2012年11月19日上午11:36

#26 楼


不做额外的工作就可以成为一名优秀的软件开发人员吗?


这取决于您从事的行业。
有些人比其他人更具竞争性。这可能就足够了……或不是。

这与奉献的时间无关,与好奇心有关,对知识和掌握的渴望。显然,它与保持最新状态无关,它与基础知识(通常是硬汉)无关:编译器,monad,内存体系结构等。这些东西会扩展并扩展您的大脑。在家编写代码只是一个重要的副作用。
但不要小看它,不这样做,学习往往很肤浅。

我所知道的所有最好的开发人员都具有这些特征。

#27 楼

不,它不会比其他任何人都使您成为程序员。您更加社交。老实说,我很羡慕。

您不必花费所有的业余时间来编写代码。我的工作很简单:服务器管理。我写了很多代码,因为我不必做很多工作。这并没有使我比任何人更好或更坏。如果您对编程充满热情,为什么不做一些自由职业呢?我经常在我的服务中投放Craigslist广告,并从中获利颇丰。这也是一种很棒的学习体验,因为您将与初创公司甚至有时与大型网站合作。希望这可以帮助。 :)

评论


爱好编程使您固有地“更加社交”。您可以单独进行编程,非常好。

–Mufasa
2011-10-12 19:23

#28 楼

我几天后问了一个类似的问题。似乎人们似乎对我们的工作更加热情,如果我们不仅将一整天的时间都投入到工作上,而且还要花时间将所有时间用于个人生活。

我偶尔写我会在业余时间使用一些代码,但我这样做只是为了好玩,而不是因为我打算获得专业发展或认可。我为有能力为此付出努力的人鼓掌,但您更愿意因工作更长的时间和从事额外的项目而精疲力尽,而不是实际上变得更精通任何事物。 ,最重要的是您学习新事物的能力(尤其是在工作中),良好的沟通能力以及良好的时间管理技能。使您成为一名优秀的专业人员。

评论


我认为您已达到关键点。如果在家进行编程就像要做额外的工作,那将无济于事,甚至可能有害。但是,我知道大多数(如果不是全部)在家的人都这样做,因为这对他们来说很有趣。碰巧的是,这些人正是我在项目中想要的人,因为他们比没有的人要熟练得多。在家编程是他们更熟练(也许不是)的原因,但我倾向于这样认为,因为他们在做自己喜欢的事情。另外,如果不花时间,要保持自己的技能水平非常困难。

–扣篮
2011-2-17在15:23

#29 楼


不用做额外的工作就能成为一名优秀的软件开发人员吗?


对我来说,一切都与平衡有关。

尽管我喜欢编程只是我的另一面,我还有其他兴趣。
当我看到自己是否很高兴(做自己喜欢做的​​其他事情)并且发现自己的工作有趣,成就感(我做的)比,从长远来看,我正在成为一个更好的软件开发人员。

PS
我承认我没有阅读过此页面上的所有先前文章。

评论


为什么为-1?这是一个非常合理的答案。+ 1

– zzzzz
13年8月28日在8:58