2018-11-27 17:19:57 +0000 2018-11-27 17:19:57 +0000
270
270

为什么软件开发人员在业余时间做自己的项目会被人 "期待"?

我在过去五年里一直从事软件开发工作,在这段时间里,我有过很多工作—大部分都是定期合同,但我也有过固定的工作,有几个月是自雇的(有几个客户)。

这些年来,我在参加面试时注意到,我经常会被问到我是否有自己的项目可以谈一谈—-而这个问题经常被问到时,我就会被问到我将会详细描述我自己开发的一些应用。

虽然我很喜欢我所做的事情–主要是因为我喜欢逻辑和解决问题,但我并不倾向于在自己的时间里做任何软件开发,主要是因为我有其他的兴趣爱好,而这些兴趣爱好占据了我工作之外的大部分业余时间(体育、青年工作、其他志愿工作、社交等)。我发现,虽然我很享受作为一名软件开发人员所做的逻辑和解决问题的工作,但我完全没有兴趣在上班时间以外的时间去做这些工作–我宁愿通过做我上面列举的事情来休息,或者只是放松一下。

我明白,如果一个应聘者在自己的时间里有一些令人印象深刻的工作,可能会让他更容易脱颖而出,但如果我是在招聘软件开发人员,我想我会看重那些喜欢其他爱好和兴趣的人,因为这可能意味着他们会是一个更全面的人。

在面试的时候被问到这个问题的时候,我都是按照上面我给出的不做这个问题的理由来回答的。我想说的是,我在面试的时候,对这个问题的回答一般都是60/40,也就是说,有些面试官似乎很欣赏我的观点,但大多数人似乎都不太在意–我的印象是,他们希望我在工作之外有自己的项目。这并不是招聘广告上的要求,但在应聘后,公司的人给我打了一个电话,要求我提供GitHub的链接,我提供了这个链接,但我说我在GitHub上没有自己的项目,而且我在GitHub上的所有项目都是我的专利,是以前的雇主所拥有的,所以我不能给他们看源代码。

那么,为什么大家似乎都认为软件开发人员在工作之外的工作或曾在自己的项目上工作过,或者说在工作之外的项目上工作过,这似乎是可以接受的呢?

答案 (18)

204
204
204
2018-11-27 17:30:27 +0000

负面的观点是,他们希望你沉迷于创造事物,以至于你每周为他们工作80个小时,而不顾自己的健康和幸福。

积极的观点是,他们希望看到代码样本,不知道如何只是要求一些

雇主希望看到激情和动力。有些公司称这些东西为领导力素质。

一个有激情的人,应该对任何事情都有激情。

当心那些想榨取你的价值,直到你成为一个空心的柠檬的公司。外面有很多这样的公司。

114
114
114
2018-11-27 17:50:09 +0000

正如其他答案已经触及到的,这是一个能够提供代码样本的途径,而且不受任何限制(没有NDA或其他任何需要担心的事情)。而那些后来成为专业软件开发人员的人,往往都是从业余爱好者开始的,并在成长过程中保留了自己的爱好。因为人们一般不会做他们讨厌做的爱好(至少这不是A计划!),而那些喜欢做自己的工作的人也不可能整天半途而废,整天看时间。

我个人在15年的开发者工作中,有相当多的时间是用来管理和雇佣其他开发者,我从来没有看到过任何有力的指标表明,那些有自己的项目的人比没有的人更 “优秀"。对于每一个爱写代码的开发者来说,他们每天花12个小时在办公室里做公司的事情,直到清洁人员把他们赶走,但也有另一个人迫不及待地想回家做他们想做的事情,而不是公司要求他们做的事情,而不是公司要求他们做的事情,这不是一个把自己的A-game带到办公室的人!当然,现在找工作的方式意味着很多开发者做外面的项目更多的是为了简历,而不是为了好玩。当然,这只会再次强化了你在面试的时候,对外部项目的 "需求"。

92
92
92
2018-11-27 20:22:50 +0000

作为一个同样做SW招聘和面试的研发SW工程师(而且问的正是这个问题)……

  1. SW往往涉及到荒谬的复杂程度和培训。**如果SW只是一个进入公司内部的垫脚石,然后离开公司去做销售(RL的例子),那么所有花在培训你的时间和你所有的SW特有的遗留信息都是白费了,我的时间也就白费了

  2. 同理,人生太短,做自己讨厌的事情(甚至不喜欢的事情),我见过很多人了五年、十年后就了,

  3. 经验很重要,如果你是大三学生,那么你从大学开始就有X量的接触。如果你从高中就开始做,那么你有X+Y。如果你从高中就开始做这个,也是作为爱好来做的,那么就是X+Y+Z。一个好的SW人和一个坏的SW人的工作效率相差好像是10倍以上.你是哪一个,在面试的时候很难挑剔出来。课业对我来说是没有用的,原因是多方面的。4.兴趣爱好往往是几个月或几年的工作(课业往往是几周),能让人更清楚地知道自己的成就。

5.人们喜欢谈论自己的兴趣爱好,这是一种联系和放松的方式。我倾向于对所有的面试都一视同仁,我做的学生很多。很多/大部分学生的简历都很恐怖,他们会在FIRST机器人大赛上有很多有用的经验,但是因为没有拿到工资,就把这些经验从简历上忘了,转而说起他们的最低工资的工作是修剪草坪或者是伺候桌子。

7.这是个很好的方法,让别人有机会跟我扯淡………或者说让我眼花缭乱。我也是做这个行业的,大概会知道其中的区别

建议。如果你在业余时间喜欢玩脑力/逻辑游戏,把SW看成是那种东西,那就提一下吧,

42
42
42
2018-11-28 12:46:35 +0000

我要把这个问题重新理解为:

为什么软件开发人员在工作之余要****做继续教育?

所以,当我把这个问题重新构架后,就更有意义了。大多数专业人士都需要接受继续教育。医生是一个很好的例子,但他们并不是唯一的例子。事实上,软件开发是个例外,因为它不需要接受继续教育,也不需要颁发执照,如果你想一想,这就有点令人震惊了。医生被要求接受继续教育,护士被要求接受继续教育,但软件开发人员却不需要…..

所以,虽然可能是这样,公司试图从个人身上榨取更多的工作,但真正发生的事情是,行业正在慢慢地了解到,也许我们需要强制要求接受继续教育。

我不是一个人,罗伯特-C-马丁(Bob叔叔),我们行业的权威之一,建议每周大约20个小时(视频中大约3分钟)的继续教育。所以平均来说,你每周要花60个小时左右的时间来编码或学习开发。对于Bob叔叔来说,这是成为一名优秀的程序员的前提条件。事实上,他甚至更进一步,建议你每年都要学习一门新的语言。

软件开发,是知识经济的核心。如果你不积极地学习和提高自己的技能,你就不可能成为一名优秀的软件开发人员。所以,你需要在工作之外,创造条件让你去磨砺和练习那些在工作中没有用到的技能部分。

通常情况下,最好的学习方式是建立东西。因此,推动了个人项目的工作。但实际上,这一切都归结为学习高层次的东西(设计模式、架构)和低层次的东西(通用性、语言),并关注这个行业并与之一起成长,因为事情发展很快。

16
16
16
2018-11-27 17:56:55 +0000

我的回答是,这些经理和面试官去参加会议的假设。

我参加过各种开发者会议,其中一个主题就是社区。他们推崇这样的理念,即一个扎实的开发者是对整个产品基础有贡献的人。在我的情况下,我去参加php的会议,他们大力推动人们致力于开源项目。促使人们投入到实际的php源代码库中去并不是他们的首要议程,但是推动进入框架之类的项目确实是他们在各种会议上的一个重要议程。他们是框架社区的一员,所以保持框架的生命力,让人们使用框架是他们的一大看点。

在参会嘉宾方面,我认为很多人都会把它放在心上,而不考虑演讲者的背景。在我的上一家公司,我们去了好几个这样的会议,回来之后,我们每个人都开始为开源项目做贡献,这也是一件大事。他们甚至有自己的内部会议,推崇的也是这样的理念:一个好的开发者就是一个为开源做贡献的人。甚至在他们发布的招聘广告上都会说,投入是一个巨大的加分项。

所以我觉得这就是为什么 “预期的"。推广这些框架的人,让人觉得你应该提交和贡献。这也落入了过去Unix的老观念。这就是Unix之所以会如此流行,要感谢开源和社区的贡献。

16
16
16
2018-11-27 17:33:36 +0000

很简单,软件开发可以是一个成本极低但回报率极高的爱好。

另一个原因是雇主希望看到你的技能证明,要求你写的代码是一种方法,是一种懒惰的方法。另外,做兼职编程也意味着你很容易被说服加班,因为你已经喜欢上了。

我想说,你并不是因为不能展示个人项目而得不到offer,而是因为你没有得到offer。面试是一个两面性的过程,你自然会过滤掉那些文化不适合你的公司,因为你似乎希望工作与生活平衡。

11
11
11
2018-11-28 19:35:29 +0000

我承认,我是个老生常谈的人,态度已经改变了。然而,当我还是大三的时候,同样的问题在面试中会被问到,作为不合格,而不是作为应聘者的资格。在我刚出道的时候,在自己的时间里跑副业项目,会被认为是对自己的目标更感兴趣,而不是对团队更感兴趣的人,很可能不会专注于团队的工作。那时候的电竞也是这样看的。另一种担心是,如果一个人每天在办公室工作8,10,12个小时,然后回家做更多的事情,那么他们是一个很好的候选人。我当然要求过,也被要求当场生成显示风格的短样本。作为一个老派的人,当申请者提供git或类似的样本访问权限时,实际上让我措手不及,而我对这种访问权限并不感兴趣。我总觉得我学到的东西比声称拥有预写代码的所有权要多得多。

一般来说,我的心态和我听到的OP的问题类似。我的空闲时间是为了从工作中理清思路,刷新思路,而不是参与更多的相同的事情,说实话。

10
10
10
2018-11-27 17:53:32 +0000

我同意RibaldEddie回答的基本点,但它包含了足够多的负面价值判断,我认为这是个误区。

有些有激情、有才华的工程师即使在没有报酬的情况下,也会被驱动着去建造和创造。问及课外项目,就是给应聘者提供了一个炫耀自己选择的项目的舞台,从而探寻这种激情和才华的方式。

作为一个有激情、有才华的工程师,是否需要课外工作?当然不是。但是,那些靠自己的时间工作的人可能会在别人身上寻找同样的特质。

6
6
6
2018-11-28 14:40:30 +0000

在我的日常工作中,我对软件开发人员进行培训,主要是培训一些不太受欢迎的技术。当我们雇用新的初级或见习开发人员时,我们会要求他们提供Github或Stack Overflow的资料。我们明确表示,并不要求你必须有。我们雇佣的是有一般STEM背景的人,他们想成为软件开发者。

关于不是每个人都想或能有自己的副业项目,或以有意义的方式为开源做出贡献的各种原因,在其他答案中已经多次提到。时间是最主要的一个原因。通常情况下,这需要家庭。

然而,看到有人在Github(或Bitbucket或Gitlab或其他任何地方)上有了自己的东西,这是很有用的。这表明他们真的很想成为一名开发者。就像有人对烹饪一无所知,却觉得成为一名厨师是他们的召唤,我相信一个想成为软件开发者的年轻人,自然会被吸引到家里去尝试。你会一边在家做饭,一边找第一份厨房工作。当然你会在家里做教程,

不这样做,说明了一个人的认真程度,或者说上进心有多强?假设他们有生物学学位(我随意选了这个),而且他们根本没写过任何代码。但他们却试图说服你去录用他们,而不是其他200多个应聘的人。50多个软件开发或计算机科学专业的毕业生都会在github上有他们的课件,但大部分都只是每个项目的一个提交,以及大量的复制和粘贴。

但如果有一两个应聘者在正式培训之前就已经对编码有了适当的兴趣,而且他们在github上展示了这一点,那就会让他们脱颖而出。一个有经验的开发人员看了这些代码,就会分辨出一个项目是在大学里完成的,还是仅仅是为了简历而做的,或者是一个真正有激情和修修补补的项目。这就是我想看到的那种项目。这告诉我这个人是认真的。

但如果你没有,因为你没有时间去做,那也没关系。这只是我看的众多东西中的一个,你可以用其他的方式来说服我。


以上是针对初级的人。我个人是做一些开源的。我在自己的语言库里有模块,也给很多其他的模块做过贡献。我在简历中提到这一点,是因为它让我脱颖而出。我喜欢认为它对我有帮助,但我发现很多公司并不在意,因为很多时候负责招聘的人并不知道它是什么意思。

我因此得出的结论是,它并不是真正需要的。但它还是有帮助的。就像好的成绩或名牌大学不是真的需要,但有帮助一样。

6
6
6
2018-11-28 14:13:00 +0000

至少在我看来,那些自己写代码的开发人员,更有可能走在曲线的前面,寻找新的/更好的做事方法,他们可以带回去和公司一起工作,让公司受益。

3
3
3
2018-11-27 23:15:04 +0000

我认为软件开发的特殊之处在于,它能解决广泛的日常问题。 这些也是非常多样化的应用技能的方式–不受专业背景下的许多限制。

如果我看到一个没有任何个人项目的应用,这让我有点怀疑。这意味着我更难评估应聘者的技能–但我当然会努力。无论好坏—-不管是好是坏—-在软件开发人员中,有兴趣爱好的软件项目是很常见的。这当然会让人产生一些期待。

3
3
3
2018-11-28 15:11:32 +0000

我看到很多 “雇主希望你每周工作一千小时",我认为这些答案都是错误的。

虽然有_些雇主希望有 "自由劳动 "的前景(假设你是工资,只是在一件事上痴迷地工作)。

激情!!!!!!*

雇主希望看到的一件事就是激情!

如果我是经理招聘汽车维修工,我会问同样的问题–告诉我你改造过的汽车。

或者是雇佣一个木匠–告诉我你在空闲时间做的任何事情。

你是否很喜欢做你所做的事情,以至于你在工作之外的事情?

你自己的项目*

如果你有你在工作之外的代码,你就会问我

–它不是隐藏在 "协议 "和 "拥有 "的背后,而是你的代码,是你的代码,是你的代码,是你的工作之外的事情。这是你的代码,你可以分享它。 - 这是你做过的额外的东西—大概还会继续做。如果有可执行的合同说 "你的业余时间的代码是我们的"("可执行",因为不是所有的地方都允许这些合同)–这意味着这个代码大概不是新的MegaCorp的免费工作。这不是你要分享的代码。我数不清我个人不能展示的项目有多少个,因为要么我在网络之外无法访问,要么我被法律禁止分享,因为它不是我的。有公开的项目,你可以深入讨论的项目被 "私人项目 "所覆盖,因为你可以实际分享基础代码。

他们可以看到代码,看到想法(OOP,IoC,选择的算法,使用的库等)。他们可以_听你描述他们能看到的代码。他们可以询问你所做的选择。他们实际上可以知道你除了学位和一个没有多少话语权的职称之外,还可以知道你有足够的知识。

家公司想要免费工作,也有家公司滥用你的想法,让你多干活………但请不要以为 "给我看你能给我看的东西 "只是因为这一点。

汽车人可以谈论在自己的车库里重建发动机,木匠可以谈论建造他们晚上睡觉的卧室。

2
2
2
2018-11-29 23:13:36 +0000

有几个可能的原因,公司可能会问到个人项目,更喜欢和他们一起的候选人。

–我的工作对象大多是小企业。它是一个非常有创意,有创业精神的氛围。你有创意、有创业精神吗?如果你是,你有副业项目和和实际创造的东西。这可能不仅仅是编程相关的,但很有可能是。

—你能不能独立完成一个项目(或达到一个目标岗位)?也就是说,你能不能主动出击,实际完成?

–经验的广度。我无法告诉你有多少次我在一个与工作项目完全无关的副项目上学到的东西对工作项目有帮助。接触到各种技术和行业,会让你受益匪浅。你是那种能带出(我们的)框框思维的人吗?

说到这里,我的经验是,就像很多公司不想要花大量时间在自己的项目上的候选人一样,很多公司也不想要。

2
2
2
2018-11-28 02:16:46 +0000

只有当你对程序员这个顶级的工作充满期待的时候,才会对你抱有期待。因为需求量大于可用职位的数量,所以他们才会奢侈地挑剔。而挑剔,你为什么不希望一个如此热爱代码的人在业余时间也会写代码呢?意思是说他也会挑战自己的新事物,基本上学习的速度和知识的更新速度都比大多数人要快。

2
2
2
2018-11-28 09:43:32 +0000

这就是原因。雇主希望你每周工作40或45个小时以上,所以如果你不能在工作时间以外的时间里花更多的时间,他们想知道你是否能在工作时间以外的时间里做到这一点。有一个简单的例子,Elon Musk(特斯拉CEO)说:https://www.telegraph.co.uk/technology/2018/11/27/elon-musk-workers-should-put-80-hours-week-change-world/

好的问题!

2
2
2
2018-11-28 11:39:47 +0000

我的回答不是我对这件事的全部看法,而是限制了这个网站的主题。

有的公司更希望他们的开发者有爱好的项目。

我觉得无论如何,你应该避开那些在这件事上太过坚持的公司,不管是哪个方向的公司,都应该避开。毕竟,这是**你自己的事,你的业余时间是怎么度过的。

否则,我想你应该是没有问题的,如果你只是说你不做业余编程。只要让你对那些选择做业余编程的人保持尊重就可以了。

0
0
0
2018-11-29 22:49:03 +0000

很多关于面试官为什么要问某件事情的问题,只要回顾一下,几乎所有的求职面试都是比赛,而不是资格赛,就可以回答。什么叫资格赛?

—在资格赛中,要根据一堆人的素质来评判,看他们能不能通过。根据参赛者的不同,他们可能全部通过,也可能一个都不通过。所有通过的人都是 “足够好的",即达到了资格赛的要求。 - 在一个比赛中,有很多人参加比赛,但只有一个冠军。他是冠军,不代表他就一定优秀。也许其他参加比赛的人都是失败者。而且,你厉害,不代表你一定会赢–也许还有另外一个参赛的人也很厉害。赢了的人就是 "最棒的人"。

资格赛的结果是不知道有多少人通过,而企业在招聘的时候,他们的目标通常是为了填补一定数量的职位。即使你确实收到了5个真正优秀的工程师的简历,但如果你只想填补一个职位,把他们都录用了也没有意义。毕竟,你只需要一个。所以,在应聘职位的时候,人们都会对人进行排名,看谁是最优秀的,很多重要的问题都是为了获得数据来进行排名。

软件类职位的面试官会问你的兴趣爱好项目,原因很简单,很多应聘这类职位的人确实有很多兴趣爱好项目,这似乎是一个重要的比较依据。如果你有两个原本完全相同的应聘者,但其中一个人除了有大量的github项目外,是不是比另一个人更适合呢?也许是,也许不是,但问题的关键是,不问这样的事情是很傻的,因此很多人都会这样做。仅仅是要求,并不代表就一定要你具备,从这个意义上说,不具备就会立刻被取消录用资格。通常情况下,用人决策是全盘考虑的。但是,从这个意义上说是被期望的,因为招聘者期望很多应聘者有自己的兴趣爱好项目,所以他们要求每个人都要确保自己有机会提出来。


当然,当你发现一些东西是你到现在为止一直忽略的,对你的事业成功有重要影响的时候,当然不是一件开心的事情。一个人自然希望构建一个优雅的论点,说这并不重要,告诉全世界,并沉浸在自己的自豪感中,因为自己已经把一个不舒服的圈圈圈给争论掉了,而不是直接跳过它。唉,这不是建功立业的方式。你不大可能在面试阶段就能说服你的潜在雇主不再关心兴趣爱好项目(他们很可能已经在脑海里想好了填补这个空缺的系统,在已经开始面试的时候,他们会很抗拒做出改变)。你可以找那些不问这个问题的,或者说消极看待他们,但他们会是少数,因为这种想法在软件行业很常见。

但是,如果你想知道一些可能的理由,为什么说求职者有个人项目组合是一件好事。

  • 这表明他们对自己的工作真正有热情,因为即使在没有工资的情况下,他们也做过这样的工作
  • 这可以让他们炫耀他们所拥有的技能,尽管他们没有在雇佣他们的岗位上工作过(比如说你知道Haskell,但没有雇主让你使用它)
  • 许多人考虑的是学历,甚至是过去的经验。一个不可靠的衡量编程技能的标准,所以项目能让他们更好地了解你的工作是什么样的 –有一个爱好,可能会让你在他们眼里是一个很酷的、有独创性的人,会更适合社交

这些不一定是真的,只要面试官相信就足够了。寻找最适合的求职者终究是一个主观的事情,不是一门准确的科学。作为求职者,爱好项目也不是一个普遍有趣,甚至可以说是正面的东西。有的人认为做技术性的工作不拿工资会降低你的技能价值,有的人认为这说明你心不在焉或者太有野心,有的人可能有公司政策禁止用它作为标准,不管是什么原因等等。虽然我想说的是,平均来说,在软件领域,如果你有一个好的个人项目组合,可能比没有好的项目组合要稍微好一点。

你可以说,你可以问,为什么大多数人甚至有一个值得注意的项目组合,这样的面试官会费心去问。这很简单:软件是非常民主的,只要有电脑的人都可以写程序(至少理论上是这样………..),你不需要任何特殊的设备或基础设施来做(实际上,严格来说,你甚至不需要电脑)。所以大多数对这个专业感兴趣的人,最后都是靠自己发展,然后再找工作。但这并不是唯一的职业,这也不是唯一的职业。艺术家、音乐家、摄影师、作家和许多其他这样的专业人士往往有广泛的投资组合,他们在自己的时间,他们做了大量的投资组合,他们被问到他们。

-2
-2
-2
2018-11-28 06:50:35 +0000

“就是经常有人问我是否有自己的项目可以谈一谈………..”

我从来没有问过别人这个问题(当然也没有被问过)。

“为什么大家似乎都认为软件开发者应该是在做[业余爱好者的废话]”

也许这是地区性的事情,但我不认为这是公认的,也不太正常。

谁会在乎业余爱好者的事情呢?

也许是你的**领域的怪癖,OP?

我认为好在,如果你有过这样的经历,那就是 “运气不好"。我就忘了它吧。