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

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

然而,因为我之前在开源我的项目上的工作,我可能克服硕士学位的要求。这项工作帮忙我建设了技能、信用和业余网络,最终成为进入工作的 "后门"。

我置信,志愿者工作和开源我的项目对于任何人来说都是一种不堪设想的资源,能够绕过科技公司 "前门 "上列出的通常要求,来增强他们的教训。

在这篇文章中,我将介绍领导我的过程的两个要害准则。

成长。我一直倒退本人的技能,通过被迫加入一些我还不晓得怎么做的我的项目。

服务:我通过提供我的业余服务来建设我的业余网络。我通过向人们提供服务来建设我的业余网络,而不冀望任何回报。

我将通过五个我的项目来阐明这些主题。我将介绍我是如何接触人们,聆听他们的需要,向他们提供服务,并在这个过程中逐步建设起本人的技能。

## 前提是 理解你的 "幻想工作"

你真的应该承受一份工作,如果你是独立的富人,你会承受这份工作--巴菲特。

我将要阐明的准则要求我付出大量的急躁和精力,而且往往没有任何间接的回报。我之所以可能做到这一点,是因为我对我认为有意义的工作有明确的愿景。

我热衷于改善社会流动性。我想发明一个世界,让每个人都能取得集体导师的帮忙,无论他们是谁,也无论他们生存在哪里。我做这件事的形式是帮忙来自世界上代表性有余的地区的人学习代码。

我深深地感到本人被号召来做这项工作,以至于我曾经付了钱来做这件事。我以付费学生的身份加入了编码训练营(Dev Bootcamp),只管我曾经在几家公司负责过网络开发人员。我的指标不是学习如何编码,而是学习如何教学。

起初我开始为一些组织做志愿者,比方Code Tenderloin和freeCodeCamp,我感觉这些组织和我的愿景是统一的。

有什么工作是你十分酷爱的,以至于你违心花钱去做,或者至多是收费的?我挑战你给出具体的愿景,比 "软件开发者 "要更具体。在软件开发中,你具体喜爱什么,为什么?

## 侦察工作。理解问题

当我晓得了本人的 "幻想工作 "之后,我的下一步就是钻研其余曾经在这个畛域发展乏味工作的组织。

除了以学生身份加入旧金山的Dev Bootcamp之外,我还参观了密歇根州底特律的The Grand Circus编码训练营。我对The Grand Circus很好奇,因为他们找到了一种在非传统技术核心的区域传授编码的办法。

我有很多问题。学生们只学了8周的编码,他们的技能是什么?在底特律这样的非科技核心地区传授编码有什么挑战?他们的学生在哪里找到工作?

为了答复这样的问题,我安顿了与许多不同组织的人会面。

看看我是如何安顿这些会议的,可能会很有启发,所以我将剖析一下我发给底特律的守业孵化器Bizdom的一封冷邮件。

  1. 红色的。这表明我花了工夫浏览他们的网站 并理解他们的工作。这使我与个别的垃圾邮件发送者不同。
  2. 蓝色的:这表明我花了工夫浏览他们的网站并理解他们的工作。这是 "我的故事"。我是谁,为什么我是可信的,是什么在驱动我?我的起因是什么?
  3. 绿色的:这是 "咱们的故事"。这是 "咱们的故事" 我如何对待Bizdom和我本人有意义的关系?
  4. 黄色的。这是 "当初的故事" 当初产生了什么口头,会让Bizdom和我当初一起做一些事件?

这个公式在安顿与我从未见过面的人会面方面有超过50%的成功率。以下是我在5天底特律之行中所有会议的记录。请留神,这个公式尽管无效,但的确须要做大量的功课。我首先须要对本人的幻想工作有一个清晰的愿景,能力有一个令人信服的 "我的故事"。我须要对其余组织进行钻研,以便有一个令人信服的 "咱们的故事"。我须要曾经打算好去底特律的旅行,以便有一个令人信服的 "当初的故事"。

## 我的项目一:我被迫帮忙一个人。

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

我的底特律之行真正的成绩并不是来自于我当时安顿的任何一次会面。

在我来到Grand Cirrus编码学校的时候,我有幸和一个刚从他们我的项目毕业的学生--权且叫他 "Robert"--共乘一部电梯。在我给Robert口头讲述了我的故事、咱们的故事、当初的故事之后,他批准和我共进午餐,让我能听到更多对于他的经验。

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

起初我被迫成为他的编码导师,因为他建设了这个应用程序。只管我做这项工作没有任何支出,但我还是做了,因为这离我幻想的工作又近了一步。我从仅仅是和那些正在做有意义工作的组织聊天,变成了本人真正和一个实在的人一起做工作。我很冲动。

我也很胆怯,因为我素来没有教过他人编码。在我看来,这是我学习的机会。

我和Robert一起工作了几个月,在这期间,我会为他创立像上面这样的模块。

  1. 最终没有和罗伯特长期单干,这让过后的我十分悲观。然而,这其中却结出了几个意想不到的果实。
  2. 罗伯特已经对我为他制作的视频拍案叫绝。于是,我理解到我的一个强项是制作教学视频,这激励我持续制作更多的视频,这个习惯对我当前的倒退很有帮忙。
  3. 我开始意识到本人的一个弱点:不足组织性。我没有能够追随的长期的构造或课程,这可能对罗伯特的士气并不很好。
  4. 我为Robert创立的所有模块都让我开始为freeCodeCamp的课程做出奉献,这成为我的下一个大我的项目。

## 我的项目2:为FreeCodeCamp创立课程。

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

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

如果你仔细观察,你会发现我沟通形式的通常元素:我的故事,咱们的故事,当初的故事。

还有一个额定的元素,那就是我为Robert创作的先前作品的链接。这是一个例子,阐明以前的志愿者工作如何逐步建设起我的技能,使我能够从事更大和更简单的我的项目。

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

这多酷啊?我过后很冲动。

同时,我又很胆怯,因为过后OOJS不是我最强的课题。但在我看来,这是我学习它的机会。我做好了筹备,疯狂地耗费这本书。

我也决定寻求其他人的帮忙,于是我在Dev Bootcamp Facebook群里用以下帖子分割了大家。

这个帖子招募了5个热心的志愿者,他们和我一起单干实现了面向对象的javascript课程,当初在freeCodeCamp的测试版上能够看到。

请留神,这个我的项目的成绩利用了我之前在Dev Bootcamp做的侦察工作。我过后相对不会预料到,我在DBC遇到的人有一天会和我单干。这阐明了采取行动而不冀望任何回报的暗藏力量。

## 我的项目3:对于高级开发人员的案例钻研

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

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

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

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

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

采访中的次要观点。

Xavier的第一指标(红色): "从高级开发者转为中级开发者"。

如何解决问题(蓝色):他询问公司的高级开发人员是如何得出特定论断的。

博客文章的想法(绿色):采访高级开发人员,并走访他们面临的具体挑战,以更好地理解他们的思维过程。

我分割了我意识的比拟资深的开发者,包含FrontRowEd的CTO Alexandr Kurlin,这是一家为K-12学生创立自适应学习软件的守业公司。以下是我发给他的邮件,以安顿采访。

留神我形容影响的形式(绿色)。我发现,激励人们采取行动的最无力的办法是强调他们的奉献的更深层次的意义。对于激励的钻研将 "对别人的影响 "和 "把握 "列为两种弱小的意义模式--这可能会让你想起前言中列出的两个领导准则,我也是用这两个准则来激励我本人的。

我与Alex单干制作了以下案例钻研,并公布到freeCodeCamp的Youtube频道。

我从这个我的项目中学到了很多货色。我敢打赌,我集体从采访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上给我留言。**