我想知道,业余时间编程有多重要?是否有必要以9-5的程序员身份工作,然后回到家并按自己的爱好工作以成为更好的程序员?

这就是说,我知道您只能通过编程才能更好地进行编程。

准雇主在面试中是否将业余编程考虑在内?出于好奇吗?

我没有一个业余项目而感到内gui,但是我能想到的一切都已经完成了。因此,我对此有两种想法,开始做一些已经完成的事情,或者让它离开,直到我提出原始的东西?

评论

在“不开始已经完成的事情”部分上-如果这是一个FOSS项目,则总是有可能加入团队并共同努力。

“您不会停止比赛,因为您会变老;你变老了,因为你不再玩了。” —本·富兰克林。

你为什么没有一个爱好项目? (我认真地问。)

我相信,拥有一个爱好项目自然会使您成为更好的程序员。如果您没有这份工作,您只会将编程视为平凡的工作,而不是有趣,具有挑战性和有趣的事情。
雇主之所以问,是因为他们想了解您热衷的事情。有些东西与特定的工作环境相吻合,而有些则不然。我怀疑大多数公司都会因为没有业余爱好项目而责备您。但是,如果您在工作之余对某些事物充满热情,那么他们也对它充满热情,这可能表明它很合适。

#1 楼


我没有一个业余项目而感到内<。


感到内gui是开始进行编程项目的疯狂原因。也可能是开始讨厌编程的好方法。做某事是因为您想要,而不是因为您认为应该做。


但是我能想到的所有事情都已经完成。
B!谁在乎它是否已经完成?再来一遍!做的更好!或者,接受您可能无法做得更好并且仍然无法做到的事情。如果微软说“很好,有人已经创建了数据库/电子表格/文字处理器/操作系统/ IDE /项目经理/资金经理/基于C的单继承动态面向对象的语言/ Web浏览器/ Web服务器,那么微软在哪里呢? / music player /移动平台/搜索引擎,因此我们将寻找其他事情来做...”?

严重的是,如果您编写一个Web服务器,它可能不会表现出色Apache,但是您肯定会在此过程中学到宝贵的经验。您不太可能会卖掉《愤怒的小鸟》,但是写一个简单的小视频游戏也会对您有很多帮助。

评论


项目可以像孔雀鱼一样-刚开始时一对夫妇,在不知不觉中已经有35只。其中一些孔雀鱼可能变成了沙土大小的宠物,其中一两个可能变成了猫或狗大小的宠物。 。但是,从孔雀鱼开始,不要犹豫,冲洗不起作用的孔雀鱼。

–卡莱布
2011年8月10日在6:18

+1是!仅仅因为它已经完成过,并不意味着您不应该这样做。只需做您想做的事情,您就会从自己做的事情中学到很多东西。

–说话
2011年8月10日下午6:55

学习爵士即兴演奏的最好方法之一是模仿伟大音乐家的独奏。编程是完全相同的方法-构建已经存在的东西,您将学习如何创建新东西。

– derekerdmann
2011年8月10日12:34

“如果一件事情值得去做,那就值得去做不好。” (切斯特顿(G.K. Chesterton)),您在制作不良的博客引擎或不良的电子邮件客户端中所学到的东西将无价之宝-尤其是如果您有报酬来制作出色的博客。

–埃里克·威尔逊(Eric Wilson)
2011年8月10日14:34

+1“ B!谁在乎它是否已经完成?再做一次!做得更好!” -重新发明轮子可能对企业不利,但在家中做很多有趣的事情。最酷的部分是它不必变得更好。

–SoylentGray
2011年8月10日17:00

#2 楼

我认为业余爱好项目很重要

我使用业余爱好项目测试理论,设计实践,新框架,而这在我的9-5中是不可行的。例如,函数式编程,算法,设计模式,新框架,新语言等。

这可能意味着我在处理工作中的新项目的速度和效率上的差异,甚至意味着选择方面的差异从客户那里提出一个新项目,或者由于我对问题域的了解不足而错过了。事物或新想法。对我来说,从事业余项目是达到使我成为更好,更聪明,更高效的开发人员的目的的一种手段。您已经在雇主当前正在使用或正在“看着”使用的相关技术中完成了一项业余项目。您已经对相关技术已经熟悉,因此会获得额外的荣誉。这对于刚刚进入主流的新技术尤其重要,因为新技术在技术体验方面是公平的。

评论


为“只有每天进行9-5次磨削才能使您停滞不前成为开发人员”的+1。

– Bobby Tables
2011年8月10日下午5:54

@鲍比:“可以”是这里的代名词。碰巧我的9-5“磨碎”不允许我停滞……我想我很幸运:-))

– Marjan Venema
2011年8月10日下午6:41

+1 IMO业余爱好是您真正可以学习其他框架的唯一方法,除非您当然不忙9-5。我倾向于发现业余爱好也对面试有所帮助,但前提是您确实有一些要展示的东西,而不仅仅是我玩过。

– DBlackborough
2011年8月10日在9:30

+1面试,我对编写android应用程序的修修补补直接导致我获得了当前职位,即使我在这个职位上没有做任何移动编程。

– Biff MaGriff
2011年8月10日19:26

@Marjan Venema:绝对。我已经做了一些。但这也可能有点“您得到了投入”。在我以前的几份工作中,我绝对不能充分利用它们。

– Bobby Tables
2011年8月10日20:40

#3 楼

当前工作的问题在于,您可能只需要有限的一组技能即可执行工作。编程领域是如此之广,以至于年复一年地陷入困境是很容易的。通过业余爱好编程,您可以分支出手并为其他技术做好准备,直到机会在您当前的位置或其他地方出现。

但重要的是要认识到业余爱好程序员不仅仅是编程。 />

他们阅读博客
他们安装工具
他们阅读源代码
他们调试开源程序
他们提交补丁
他们参与在StackExchange编程网站上

,但有时他们会受到启发来编写满足自己特定需求的程序;程序员的罪恶感,因为它恰好具有他们想要的功能。然后他们厌倦了并扔掉了。那是一种嗜好!

评论


我同意这不仅仅与编程有关。我和我相信大多数程序员每天都会做清单上几乎所有的工作。

–Pieter van Niekerk
2011年8月10日在12:29

+1如此多的“编程”包括将新代码添加到编辑器中的活动。

– StevenV
2011年8月10日在16:33

#4 楼

恕我直言,不一定是业余爱好项目本身会使您变得更好(尽管它们肯定不会受到伤害),但保持开放并花时间在一般上学习新知识。正如@Rick所指出的,除了实际编码之外,它还可以采取许多其他形式。您可以例如阅读书籍-但如果您有手提电脑甚至是代码-在上下班上下班的路上。

还请注意,绝对需要保持平衡。


如果您不花任何时间(免费)学习,就会停滞不前,并且在某些时候可能会完全厌倦您的职业,无法接受新的挑战。
如果您花费过多的时间业余时间学习,您将没有时间去学习那些奇怪但重要的事物,即生活,因此从长远来看,您可能会精疲力尽和/或遇到健康问题。 (建议)在一个年轻单身的时候从事业余爱好项目。在以后的阶段,您可能会拥有一个家庭,这将消除您多年的大部分闲暇时间(至少如果您想做得好,那还有什么意义呢?)。因此,您将不得不更有效地管理时间,以节省一些宝贵的学习时间。

评论


+1拥有生命。我不在一家典型的公司里工作,但是我认为学习和保持最新是我工作的一部分。我的很多学习都发生在工作中。当然,我不会在工作中从事全面的业余爱好项目,但是我确实找到了在我的各种工作项目中“因为”而使用新事物的机会。因此对我来说,拥有生活比拥有业余爱好更重要。

–菲尔
2011年8月10日12:45



终身+1!保持工作与生活之间的平衡至关重要。如果不这样做,您将很快地筋疲力尽!

–史蒂文·斯特里加(Steven Striga)
2011年8月10日15:15

+1现在我很难过。我有两个年幼的女儿(6,11),需要我的照顾,我的日间工作(50个小时),然后再进行8到16个小时的合同工作。有一阵子通过做6-5点来解决这个问题,花时间陪家人直到9点左右上床睡觉,然后安排工作直到任何时候。它奏效了,但我真的很疲倦。只是还没有决定要怎么做。

– Ominus
2011年8月10日17:17



#5 楼

做辅助项目!不要以为它带来了网络上的新事物,而把它当作是练习技能,学习/掌握技术和方法的沙盒。

作为雇主,我一直在问自己的潜力同事是否正在做任何有趣的附带项目。即使这些想法不是引人注目的,但他们的作者对此却感到兴奋-它始终是一个大职业。

评论


我在采访中问。如果某人不做业余编程,我不会反对他们,因为生活还有很多,而与家人在一起的时间会更少(我的项目在我有孩子的时候就停滞了)-但是认为这是奖金,因为它表明他们有真正的兴趣和主动性。我不能告诉你,如果必须从“ main()”开始,有多少人会阻止作家。

– phkahler
2011年8月10日17:01

#6 楼

我遇到的那些很难跟上新技术的程序员就是把它当作工作的人。他们的同行-那些跟上新事物的人就是在家做事的人。

评论


+1是一个简洁的答案。但是要小心不要假设因果关系。

–卡莱布
2011年8月11日,下午2:22

您为什么不能跟上工作中的新事物?看来这里的问题是一个坏的,胸襟狭窄的雇主,而不是缺乏业余项目。

–user29079
2011年8月12日13:40

#7 楼

您说您能想到的一切都已经完成,但是您使用的每个工具是否都按您希望的方式工作?我经常发现工具几乎可以完成我想做的所有事情,但不能完全做到,我的爱好项目源于试图填补空白。我并不总是成功,但我喜欢尝试,作为最终用户,我在动机或规格方面没有任何问题

#8 楼

如果您真的对那些项目有兴趣和精力,那么一定要去做。但是我不会说任何认真的程序员都必须这样做。如果您全职从事编程工作,那么也可以在业余时间进行编程,不一定会增加您对编程的兴趣,这可能会产生相反的效果。我个人曾经做过业余爱好项目,但是我已经停下来了。我已经每周编程5天,对我来说,在空闲时间做一些完全不同的事情似乎更健康。 ,不断学习和改进,那么您可能应该寻找一份新工作,而不是在空闲时间做这些事情。一个好的雇主会意识到,保持自己的技能的更新,改进和扩展符合自己的利益。

从雇主的角度(我就是其中之一),业余爱好项目将是一个优点。如果您没有实际工作经验。那么所有的业余爱好和学校项目都将非常重要,以便在面试时作为参考。可能同时表明您有点书呆子。从我的亲身经历来看,我并没有真正发现业余爱好项目与好/坏候选人之间的任何联系,除非您刚从学校毕业申请第一份工作,否则我认为它们并没有特别的意义。

评论


+1是说业余爱好不一定是一件好事的唯一答案之一(需要时间和精力)。就个人而言,在我不在工作的时候,我有很多事情要做,而且我很少有时间进行编程(浏览SO并不需要那么多的实际编程)。这些事情包括做家务,有社交生活,休息,这样当我周一回到工作岗位时(我经常睡觉; o),我可以提高工作效率。等等。这并不是说不好,那些人可能比(可能)比我是雇主,但我更希望个人生活更加平衡。

– n1ckp
11年8月13日在13:07

#9 楼

与全面的项目相比,我更喜欢测验和类似的小代码块(尽管如果有时间,可以尝试在某些OSS项目上工作)。所以对我来说,没有太多借口说我对一个项目没有好主意。只需编写一些Sudoku解算器,然后尝试实现诸如“跳舞链接”之类的功能即可使其更快。

它们对于您成为一名更好的开发人员的重要性可能取决于您的工作。如果已经非常苛刻,则可以获取所需的所有培训。否则,选择正确的项目(或测验解决)将教会您许多新事物,并使您与许多工作无法提供的广泛专业知识保持联系,因为您通常只能使用一小部分用于明确定义领域的工具。

是的,有些公司对您的项目非常感兴趣。如果没有别的,他们会给您很多机会在面试中谈论您非常了解的事情。

评论


关于测验等,我从事诸如欧拉计画之类的难题的研究。

–Pieter van Niekerk
2011年8月10日在6:14

#10 楼

在大多数采访中,业余爱好项目本身并不重要。有几个人在乎您是否将编码作为一种爱好,但大多数人并不在意。但是,您从业余编程中学到的技能在面试中可能很重要!

额外的编程肯定会在编程中占优势,直到您精疲力尽... ,即使是精疲力尽之外,您还需要考虑的是,雇主通常会在编程之外寻找其他技能。如果您是24/7全天候编程,则不是在开发其他技能!平衡... :-)

评论


在最后一轮采访中,我期望进行一些代码测试。相反,这家公司要求查看我发布的一些代码。好吧,我唯一能合法显示给他们的东西就是我的业余爱好项目(这是一个定时事件,我并没有使其健壮和整洁)。该项目也在其他采访中提出。人们关心。但是从某种意义上来说,你是对的,没有人在乎你上大学,他们在乎你在那学到的东西。

–菲利普
2011年8月10日15:06

#11 楼

我认为,业余爱好项目很重要,因为否则您将停滞不前并失去乐趣。

我建议找到一个新的业余爱好项目:

学习一种新的编程语言来做你的爱好项目。例如。一个不错的目标是尝试每年学习一种新语言(了解越多越容易)

最好的选择似乎对您来说完全是一种困惑。因为它看起来越陌生,就越能扩展您的视野。它只是语法树的顺序表示,并不重要。这样可以提高您对在实践中更有用的语义的关注。

您是否尝试过函数式编程语言?您是否尝试过分布式编程语言?模式匹配语言?

推荐使用小型项目在Euler项目上工作。

评论


我会稍微改一下-使用一种新的语言来完成您的爱好项目。那么项目是动机,而不是学习。

– phkahler
2011年8月10日17:06

好建议,做到了

– Peer Stritzinger
2011年8月10日21:34

#12 楼

我是一名业余Web开发人员,没有大学文凭(尚未)从事我自己的个人项目。几周前,我被邀请参加编程工作的第一次面试,因为我当时在从事自己的个人项目。

考虑到这些轶事证据,从事个人“爱好”项目一直是进入大学后,我为发展事业所做的最好的事情。跟我说话。

评论


对于没有工作经验并正在寻找程序员的第一份工作的人,这确实是一个很好的建议。

–user29079
2011年8月12日13:34

#13 楼

其他人已经介绍了很多,但是我想重点介绍这一部分:


我没有一个业余项目而感到内,但是我能想到的一切都已经完成了。因此,我对此有两种想法,开始做一些已经完成的事情,或者让它离开,直到我提出一些原创的东西为止。


一个“爱好项目”。的确,许多业余爱好项目是为他人创建的,或者至少是在考虑公共消费的情况下进行的-这些项目随着时间的流逝需要一定量的一致工作,因此可能会令人生畏。毕竟,谁想要制作又一个受支持不足,质量低劣的东西,或者几个月后最终被放弃?做任何对任何人都有用的事情。例如,我最近开始学习Haskell,纯粹是因为它与我习惯的命令式语言有很大的不同,而且设置起来真的很容易。我也刚刚出于好奇而开始学习用于编程游戏《核大战》的Redcode汇编语言。 Redcode具有更好的语法突出显示功能,这使我考虑学习一些C ++。利用对.NET的比较熟悉,我现在正在考虑让自己使用Visual C ++。

问题是,这些都不是真正的“问题”,至少不是作为一个项目。地狱,我不确定你甚至可以把它称为一个项目,就好像它引起了我的注意一样,我有点儿搞砸了。我的意思是,您需要一点时间和组织才能确保您确实能从中学到一些东西,但是没有人会在学校开学后是否停止为Haskell工作的机会。而且没有人会在乎是否发现Notepad ++的插件开发比我预期的要难,并且我放弃了—的确,我在研究Redcode之前就研究了Perl,并且由于无法获得它而很快放弃了它。环境设置正确。这表明缺乏持久性吗?是的但是没有人在乎,因为这是我的业余爱好,这意味着我可以随心所欲地玩。

因此,您不需要选择一些业余爱好项目来教您可交易技能- -那只是将您的空闲时间变成更多的无薪工作时间。这些技能是您做事的结果,但这不是原因。我现在更好地了解了声明式编程,并了解汇编语言如何工作以及程序如何使用DLL。而且我已经学到了很多有关Windows命令提示符的知识,以及到目前为止您还没有想到的其他东西。全新,看看它看起来是否有趣。如果是,那么很好,如果不是,那么继续前进。您是否曾经对编译器或解释器有丝毫好奇?去看看LOLCODE。如果它使您和我一样快乐,那么该开始学习编译器了。嘿,也许您应该回过头来考虑语法高亮。实际上,这可能是我开始的下一个项目。

如果这不是您的事,请尝试一些比您惯用的低级的东西。或更高级别。没关系唯一重要的是,当您看着它时,您会觉得“有趣!”

#14 楼

对于认真的程序员来说,这些项目是必须的,特别是如果您是自由职业者。

您可以每周工作5天,每天测试1天,而不是每周工作6天,每天休息1天。

似乎测试日是在浪费时间,但是当您有机会在那段日子中已经测试过的编程语言中实现一项新功能时,您就会意识到它的好处。 。

#15 楼

我正在我的商店里面试和雇用。一项“爱好项目”对我们总是有利的。

拥有一个或多或少完成的个人项目,表明您真的很喜欢创建软件,并且表明您有学习新知识和提高技能的动力。

如果您想在面试中给人留下深刻的印象,请携带一台笔记本电脑进行个人项目。向访问者展示它,告诉他在构建它时遇到的挑战,让他们看到您的代码。提前告诉他们毛病的边缘在哪里,以及您对该项目的未来计划可能是什么。

#16 楼

我发现业余时间进行编程有两个目的:

1)它使我能够完成个人有益的事情,而不受工作项目的限制。当我一直在处理工作项目中的棘手问题时,这一点尤其重要。

2)它使我有机会扩大和提高我的编程技能,因为我可以自由地创建任何东西我希望。

都一样,我认为将这与一些非计算机爱好平衡起来也很重要。对我来说,它保持着我家后方的小溪和小路。

#17 楼

拥有宠物应用程序是强迫自己学习当前平台中您可能没有想到的部分的好方法。例如,您可能是一位出色的C#开发人员,正在使用ASP.Net应用程序。但是,如果您的团队中有一个专门研究CSS的人,那么您可能永远不会正确地学习它。但是,如果您有一个宠物网站项目,则必须学习如何使用CSS。如果您有自己的项目,并且自己是唯一的开发人员,那么对于您将要使用的全部技术,这都是正确的。

有关宠物应用程序的所有优点的详尽记录,请查阅这篇文章。