likes
comments
collection
share

译 - 拿到理想的工作

作者站长头像
站长
· 阅读数 1

我经常从我的编码学生那里听到的一个顾虑是:"我没有计算机科学学位,如何找到一份开发人员的工作?"

这是一个可以理解的顾虑,最近我自己在申请成为加州州立大学(蒙特利湾)计算机科学讲师时也面临着这个问题。这种职位的通常要求是硕士学位,而我没有。

然而,由于我之前在开源项目上的工作,我能够克服硕士学位的要求。这项工作帮助我建立了技能、信誉和专业网络,最终成为进入工作的 "后门"。

我相信,志愿者工作和开源项目对于任何人来说都是一种不可思议的资源,可以绕过科技公司 "前门 "上列出的通常要求,来加强他们的经验。在这篇文章中,我将介绍指导我的过程的两个关键原则。

  • 成长。我不断发展自己的技能,通过自愿参加一些我还不知道怎么做的项目。
  • 服务:我通过提供我的专业服务来建立我的专业网络。我通过向人们提供服务来建立我的专业网络,而不期望任何回报。 我将通过五个项目来说明这些主题。我将介绍我是如何接触人们,倾听他们的需求,向他们提供服务,并在这个过程中逐渐建立起自己的技能。

前提是 了解你的 "梦想工作"

我将要说明的原则要求我付出大量的耐心和精力,而且往往没有任何直接的回报。

我之所以能够做到这一点,是因为我对我认为有意义的工作有明确的愿景。

我热衷于改善社会流动性。我想创造一个世界,让每个人都能获得个人导师的帮助,无论他们是谁,也无论他们生活在哪里。我做这件事的方式是帮助来自世界上代表性不足的地区的人学习代码。

我深深地感到自己被召唤来做这项工作,以至于我已经付了钱来做这件事。我以付费学生的身份参加了编码训练营(Dev Bootcamp),尽管我已经在几家公司担任过网络开发人员。我的目标不是学习如何编码,而是学习如何教学。

后来我开始为一些组织做志愿者,比如Code Tenderloin和freeCodeCamp,我觉得这些组织和我的愿景是一致的。 有什么工作是你非常热爱的,以至于你愿意花钱去做,或者至少是免费的?我挑战你给出具体的愿景,比 "软件开发者 "要更具体。在软件开发中,你具体喜欢什么,为什么?

侦察工作。了解问题

当我知道了自己的 "梦想工作 "之后,我的下一步就是研究其他已经在这个领域开展有趣工作的组织。 除了以学生身份参加旧金山的Dev Bootcamp之外,我还参观了密歇根州底特律的The Grand Circus编码训练营。我对The Grand Circus很好奇,因为他们找到了一种在非传统技术中心的区域教授编码的方法。 我有很多问题。学生们只学了8周的编码,他们的技能是什么?在底特律这样的非科技中心地区教授编码有什么挑战?他们的学生在哪里找到工作? 为了回答这样的问题,我安排了与许多不同组织的人会面。 看看我是如何安排这些会议的,可能会很有启发,所以我将分析一下我发给底特律的创业孵化器Bizdom的一封冷邮件。

译 - 拿到理想的工作

红色的。这表明我花了时间阅读他们的网站 并了解他们的工作。这使我与一般的垃圾邮件发送者不同。 蓝色的:这是 "我的故事"。我是谁,为什么我是可信的,是什么在驱动我?我的原因是什么? 绿色的:这是 "我们的故事"。这是 "我们的故事" 我如何看待Bizdom和我自己有意义的关系? 黄色的。这是 "现在的故事" 现在发生了什么行动,会让Bizdom和我现在一起做一些事情?

这个公式在安排与我从未见过面的人会面方面有超过50%的成功率。

以下是我在5天底特律之行中所有会议的记录。请注意,这个公式虽然有效,但确实需要做大量的功课。我首先需要对自己的梦想工作有一个清晰的愿景,才能有一个令人信服的 "我的故事"。我需要对其他组织进行研究,以便有一个令人信服的 "我们的故事"。我需要已经计划好去底特律的旅行,以便有一个令人信服的 "现在的故事"。

项目一:我自愿帮助一个人。

给我六个小时去砍一棵树,我会用前四个小时去磨斧头--林肯。

我的底特律之行真正的成果并不是来自于我事先安排的任何一次会面。

在我离开Grand Cirrus编码学校的时候,我有幸和一个刚从他们项目毕业的学生--姑且叫他 "Robert"--共乘一部电梯。在我给Robert口头讲述了我的故事、我们的故事、现在的故事之后,他同意和我共进午餐,让我能听到更多关于他的经历。

在我们的午餐中,我听了罗伯特的故事。我了解到,促使他参加编码训练营的原因,是他想抛开在福特汽车的蓝领工作。我了解到,他面临的主要挑战之一是为他3岁的女儿找一个保姆,以便他能参加编码训练营。我了解到他的梦想是为女儿制作一个有趣的教育性手机应用。我了解到他的挫败感,因为编码训练营实际上并没有让他做好准备去开发这样一个应用程序。

后来我自愿成为他的编码导师,因为他建立了这个应用程序。尽管我做这项工作没有任何收入,但我还是做了,因为这离我梦想的工作又近了一步。我从仅仅是和那些正在做有意义工作的组织聊天,变成了自己真正和一个真实的人一起做工作。我很激动。

我也很害怕,因为我从来没有教过别人编码。在我看来,这是我学习的机会。 我和Robert一起工作了几个月,在这期间,我会为他创建像下面这样的模块。

译 - 拿到理想的工作

最终没有和罗伯特长期合作,这让当时的我非常失望。然而,这其中却结出了几个意想不到的果实。 罗伯特曾经对我为他制作的视频赞不绝口。于是,我了解到我的一个强项是制作教学视频,这激励我继续制作更多的视频,这个习惯对我以后的发展很有帮助。 我开始意识到自己的一个弱点:缺乏组织性。我没有可以跟随的长期的结构或课程,这可能对罗伯特的士气并不很好。 我为Robert创建的所有模块都让我开始为freeCodeCamp的课程做出贡献,这成为我的下一个大项目。

项目2:为FreeCodeCamp创建课程。

如果说我比别人看得更远,那就是站在巨人的肩膀上。- 艾萨克-牛顿

freeCodeCamp 在很大程度上解决了我缺乏组织的问题。他们的现成项目正是我所需要的,以使我作为一个编码教师更有条理。当我发现它是全部开源的时候,我想这太好了,不可能是真的。我想一定有什么陷阱。所以我给 freeCodeCamp 的创始人 Quincy Larson 发了邮件,问他我是否真的可以使用他们的课程来教我自己的学生。他说是的。没有任何条件。我被freeCodeCamp的理念所激励,所以我自愿帮忙。

译 - 拿到理想的工作 如果你仔细观察,你会发现我沟通方式的通常元素:我的故事,我们的故事,现在的故事。

还有一个额外的元素,那就是我为Robert创作的先前作品的链接。这是一个例子,说明以前的志愿者工作如何逐渐建立起我的技能,使我可以从事更大和更复杂的项目。

在与Quincy的几封邮件中,我从为一个人创建模块,到为freeCodeCamp的100多万用户创建模块!

译 - 拿到理想的工作 这多酷啊?我当时很激动。 同时,我又很害怕,因为当时OOJS不是我最强的课题。但在我看来,这是我学习它的机会。我做好了准备,疯狂地消耗这本书。 我也决定寻求其他人的帮助,于是我在Dev Bootcamp Facebook群里用以下帖子联系了大家。

这个帖子招募了5个热心的志愿者,他们和我一起合作完成了面向对象的javascript课程,现在在freeCodeCamp的测试版上可以看到。

译 - 拿到理想的工作

请注意,这个项目的成果利用了我之前在Dev Bootcamp做的侦察工作。我当时绝对不会预料到,我在DBC(Dev Bootcamp Facebook)遇到的人有一天会和我合作。这说明了采取行动而不期望任何回报的隐藏力量。

项目3:关于高级开发人员的案例研究

"找到一个值得解决的问题,一个很好的黑客就是让自己完全沉
浸在一个你所热衷的垂直领域,并与其他热衷的人一起围绕着你。人难免会有问题。" 
- 奔跑的精益》作者Ash Maurya

当我和五位 Dev Bootcamp 毕业生一起工作以创建 freeCodeCamp 课程时,我很荣幸地听到了关于编码训练营后生活的起伏的第一手证词。

他们的首要愿望之一是成长为高级别的开发人员,但他们觉得他们在公司的日常工作并没有为这样的成长做好准备。他们想做更有挑战性的工作,以便继续发展他们的技能。

我很好奇更多的编码训练营毕业生是否也是如此,所以我采访了我在Dev Bootcamp时期的几个朋友,询问他们。我按照《奔跑的精益》第七章所定义的 "问题访谈 "结构来进行这些对话。

从高层次上讲,"问题访谈 "的目标是了解你的受众的第一大目标,并了解他们今天是如何解决问题的。下面是一个例子。(显示Xavier的访谈链接)

译 - 拿到理想的工作 采访中的主要观点。 Xavier的第一目标(红色): "从初级开发者转为中级开发者"。 如何解决问题(蓝色):他询问公司的高级开发人员是如何得出特定结论的。 博客文章的想法(绿色):采访高级开发人员,并走访他们面临的具体挑战,以更好地了解他们的思维过程。 我联系了我认识的比较资深的开发者,包括FrontRowEd的CTO Alexandr Kurlin,这是一家为K-12学生创建自适应学习软件的创业公司。以下是我发给他的邮件,以安排采访。

译 - 拿到理想的工作

注意我描述影响的方式(绿色)。我发现,激励人们采取行动的最有力的方法是强调他们的贡献的更深层次的意义。关于激励的研究将 "对他人的影响 "和 "掌握 "列为两种强大的意义形式--这可能会让你想起前言中列出的两个指导原则,我也是用这两个原则来激励我自己的。

我与Alex合作制作了以下案例研究,并发布到freeCodeCamp的Youtube频道。

youtu.be/xe1yllE3mFE

我从这个项目中学到了很多东西。我敢打赌,我个人从采访Alex的过程中学到的东西比任何观看视频的人都多。

项目#4: 为freeCodeCamp构建一个课堂模式功能。

"成功是通过付出而不记账获得的。" - "基思-费拉齐

我在视频的最后和Alex一起放置了一个行动号召,为FreeCodeCamp的开源仓库建立一个功能,作为将视频中的技能付诸实践的方式。

Quincy Larson建议创建一个 "课堂模式 "功能。越来越多的老师在课堂上使用freeCodeCamp进行教学。然而,freeCodeCamp并没有考虑到这个用例。我们能解决这个问题吗?

我招募了以下团队来帮助我们。

  • Udie Chima 成为了我们的用户体验设计师。
  • 谢淑贞成为我们的项目经理
  • Tom Lee、Priyanka Saigal和我自己成为了开发者。

这些人几乎都是我在考察其他编码训练营时的侦察工作中认识的。

作为一名用户体验设计师,Udie很想和其他会使用课堂模式功能的人直接聊天。所以我们要求Quincy代表我们做任何他能做的介绍。Quincy代表我们发出了以下推文。

译 - 拿到理想的工作

这条推特引发了大约10个来自世界各地的教师的用户访谈。基于这些访谈的见解,Udie创造了以下互动线框。

译 - 拿到理想的工作

由于昆西的推特,我们认识了一个人,他是加州州立大学(蒙特利湾)的教授Sathya Narayanan博士。

项目5: 志愿服务,帮助在夏季训练营

在我与Sathya在zoom会议上的初次交谈中,我被他使妇女和少数群体更容易获得大学体验的愿景所鼓舞。他的实验性群体模式旨在解决布里奇特-伯恩斯的研究所揭示的高等教育中的许多设计缺陷,这些缺陷导致少数族裔的毕业率较低。我对他们专注于教授超越传统学术知识的软技能特别感兴趣。

他提到,他正在为即将到来的数据结构暑期训练营做速记,后来我给他发了邮件,表示愿意提供帮助。

译 - 拿到理想的工作

"我的工作实例 "链接到我为freeCodeCamp的Youtube频道制作的一个高级开发者视频。 在那个夏天帮助Sathya是一次很充实的经历。CSUMB的同批项目原来就像他所说的那样创新和活跃。

在训练营结束时,Sathya提到CSUMB有一个开放的讲师职位,他正在招聘。这份工作通常需要硕士学位的要求,但他说他会想办法免除我的要求。我就去了。

结论

我终于得到了报酬,可以做我前两年一直免费做的工作,这种感觉真是太奇妙了!我特别感谢来自底特律的学生罗伯特,几年前我在电梯里认识他。 我特别感谢罗伯特,这位来自底特律的学生,几年前我在电梯里遇到他。感谢你给我一个机会,成为我的第一个学生。 作为对读者的一个号召,如果你想参与一个开源项目,我可以帮你把你的第一次提交到我们正在为freeCodeCamp构建的课堂模式功能中。欢迎在linkedin上给我留言。

medium.com/free-code-c…