这是我在编码训练营700多个小时中学到的

我本周刚刚在Fullstack学院完成了Grace Hopper计划 。 气氛很激烈,充满了自我怀疑和焦虑的时刻。 但这也是我一生中最赋能和形成性的经历之一。 这是我从经验中学到的一些东西。

Johannes SchwaerzlerUnsplash拍摄的照片

1.如果有适当的指导,您可以在短时间内学习很多。

在加入该计划之前,我几个月来一直在学习如何自己编写代码。 我每天都会学习一些简短的信息,但是当工作或生活受到阻碍时,我就会失去动力。 然后,我将不得不追赶追赶,以回想一下在间隙中我忘记了什么。 我会为此大吃一惊,以为是我的懒惰阻止了我前进。

事实是,老师如此重要是有原因的。 学习编码非常困难,尤其是当您全职工作时,以及从免费的在线资源中为自己准备课程时。 Codecademy非常适合对HTML和CSS进行简要介绍,但是从他们的教程到构建和部署响应式网站是一个巨大的飞跃。 作为一个完整的新手,也很难知道您的学习重点和学习顺序。 我浪费了很多时间在教程之间切换,不确定什么是“最佳”资源。

本来夸张半

最终,使我步入正轨的是freeCodeCamp 。 他们课程的重点是建设项目,这正是我所需要的。 我终于开始以一种有趣而有趣的方式学习JavaScript。

FreeCodeCamp帮助我达到了准备离开工作岗位并致力于全职学习编程的地步。 我考虑继续独立学习,但最终我决定参加训练营,其原因有两个:1.加快学习速度,以便迅速开始自己的梦想职业生涯; 2.在志同道合的人组成的支持社区中。 当然,您可以通过自学来实现这些目标,但是同样,它更具挑战性。 多亏了格蕾丝·霍珀(Grace Hopper)延期的学费模式,我得以以有限的风险参加训练营。

Grace Hopper / Fullstack Academy课程的步调令人生畏,在第一周,我们就深入研究了JavaScript的原型继承,并在程序的中点使用了Express,PostgreSQL,Sequelize,React,react-redux,和webpack。 但这要归功于集中的课程和讲师的大力支持。 他们设定了较高的标准,但是帮助学生到达那里的每一步。

2.社区对于学习和成功至关重要。

在工作前后的早晨和晚上学习虽然很有意义但很孤独。 另一方面,在格蕾丝·霍珀(Grace Hopper)有点像书呆子训练营的极端版本​​。 每个人都对编程充满热情,定期牺牲晚上和周末进行学习,我们在一周5天,每天8个多小时的工作之后,彼此之间非常了解。

这正是我想要的—我可以与我分享挫折和胜利的人,拥有不同背景,希望改变生活的人,真正关心自己的工作以及对世界的影响的人们。 我很幸运地成为一群凶猛,有趣,怪异和真实的人的一部分,与他们一起学习使我有动力去更加努力地工作,并相信我可以成为一名程序员。 我建立了我将珍惜多年的友谊。

3.不要低估自我保健和工作与生活平衡的价值。

Lesly B. JuarezUnsplash拍摄的照片

我在程序中编写的最好的代码发生在我充分休息并充满活力的时候。 这听上去很简单,但是在所有的作业,测试以及我有时的痴迷完美主义中都容易忘记。 我是在教室里当A +学生的,所以很难接受,在计划期间,我可能要等到以后的几个工作坊(实际上只是几天到一周的时间—训练营中的万万岁!)之后才能完全理解一个概念。 。

最后,我必须学会信任该过程,并且将自己从代码中撬出来,以度过生活的其他部分。 长途散步,与朋友和家人共进晚餐以及玩视频游戏提供了急需的减压时间。 我无法数出我晚上在代码上苦苦挣扎的次数,只是第二天醒来并立即找出解决方案,这要归功于晚上睡个好觉。

4.如果您无法传达自己的想法,那么您就不能成为有效的程序员。

我知道,如果不参加训练营,我在谈论计算机编程概念方面将不会获得太多经验。 该课程要求学生几乎每天都进行配对编程,并在Fullstack Academy的Demo Day Live上进行三场演讲-技术讲座,对我们的黑客马拉松项目的简短介绍和对顶峰项目的小组介绍。

我记得在训练营的第一天,我遇到了最困难的时间对编程。 我以前从未明确表达过自己的思维过程,因此我努力地抓住正确的词汇来描述我想做的事情。 在我刚遇到的另一个人面前,我担心自己因具有“愚蠢”的想法而被审判。

但是最后,我开始喜欢结对编程。 与伴侣凝结时,这是最好的学习方法之一。 解决复杂问题时,您会提出更多想法,并且当您在驾驶员和导航员角色之间切换时,可以锻炼大脑的不同部位。 我从合作伙伴那里学到了很多东西,并且也与他人分享了我的知识,这是一个很大的信心提升。

我现在坚信,教学是最好的学习方法。 如果您无法向其他人解释一个概念,那么这是一个很好的指示,您自己还不能完全理解该概念。 成为一名程序员不仅仅是编写代码-如果您无法表达自己的想法,就不可能真正地参与开发人员社区。

5.不要对性别偏见不屑一顾-打架!

乔恩·泰森Jon Tyson)Unsplash拍摄

Grace Hopper和Fullstack Academy队列(遵循相同的时间表和课程)都对女性和少数族裔开发人员在当今行业中面临的挑战进行了多次演讲。 其中包括关于讲师的无意识偏见以及几位来宾分享经验的嘉宾演讲。

对于我和我所有的女性群体来说,这简直令人沮丧。 毕竟,我们所有人都决定过渡到新职业,并且正在努力完成要求苛刻的训练营课程,以面对一个严峻的现实,那就是在克服第一个障碍之后,我们可能将不得不面对更加艰巨的挑战。在整个职业生涯中,无意识的偏见是很难的。

但是我已经意识到,我不能承受沮丧或避免考虑这个问题。 我需要直面它,因为科技行业需要更多的女性发言,并为其他科技“团体”成功铺平道路。 在这种情况下进行我的个人旅行有助于激发我的动力和雄心。

我也感激不尽我的同学们。 这些才华横溢的女性成为了我的日常灵感,他们创造了一个安全,支持性的成长环境。 过去,我只是以为自己不够聪明或分析能力不足以从事类似计算机科学的工作。 但是,成为这一令人惊叹的班级的一员,发现自己的表现与完成相同课程的男人一样好,这永远改变了我对自己的潜力的思考方式。

6.冒名顶替综合症不会消失。

即使我知道如何从头开始构建Web应用程序,但标题“软件工程师”仍然感觉不对。 我中有一部分人担心人们会在我的名片上看到它,看着我和我所建造的东西,然后想到:“男孩,那真是牛逼。”

我的一部分知道这是不合理的。 我学习了一个周末如何在Phaser.js中构建2D平台器,如何在Elm中编写一个程序(也是一个周末)以及如何与我的队友在2.5周的地理位置内创建一个React Native + Firebase移动应用程序,但是我仍然质疑我学习新技术的能力。

我现在告诉自己的是,虽然那小小的na的声音可能永远不会消失,但我可以平息它,把事情做好。 我注意到当我感到自己一无所知时,每次进入新项目时,我的恐慌时刻都越来越短。 我尝试回顾一下上次感到不适的时间,并记住它总是比我想象的要好得多。 或者,您也可以重新观看以下视频:

不过,最大的安慰是,我知道我并不孤单。 我在新兵训练营和网上遇到的人都非常开放,友善且富有合作精神。 几乎每个人都可能与冒名顶替综合症有关,并且容易分享鼓励的话。 我开始学习编码以解决问题,但现在我意识到我想成为这个繁荣的创造者和学习者社区的一员。

希望本文对您有所帮助。 如果您是一个有抱负的开发人员并且想聊天,或者想与您保持联系,请随时在Twitter @stellasighs上给我发消息。 我现在正在寻找软件工程师方面的新机会。 谢谢阅读!

From: https://hackernoon.com/heres-what-i-learned-from-700-hours-in-a-coding-bootcamp-d92cb4e8afc1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 位置编码是通过训练模型时一同优化更新的,其更新方式与模型参数的更新方式相同。位置编码是一个定值,在模型训练过程,会将位置编码与输入的词向量进行相加或拼接等操作,使得模型能够更好地理解输入序列词语之间的顺序。因此,在每个训练迭代过程,位置编码的值也会被更新,以便更好地匹配当前的训练数据。 ### 回答2: 位置编码是一种用于表示序列每个元素位置信息的方法,常用于自然语言处理的Transformer模型。位置编码的作用是为模型提供序列元素的相对位置关系。 在训练过程,位置编码不被更新。这是因为位置编码的目的是为了向模型提供序列元素的位置信息,而不是为了习元素之间的关联关系。位置编码的值是根据序列长度和当前位置计算出来的,并在训练过程保持不变。 具体地说,位置编码通常使用三角函数来计算。通过以下公式可以计算到每个位置的编码: PE(pos, 2i) = sin(pos/10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos/10000^(2i/d_model)) 其pos表示位置,2i和2i+1表示两个维度,d_model是模型的维度。通过这种方式,每个位置都会有一个对应的位置编码。 由于位置编码的值是由公式计算得出的,因此在训练不需要更新它们。模型会根据输入序列和位置编码进行处理,并根据损失函数的反馈来更新模型的权重,而不是更新位置编码的值。 总结来说,位置编码训练是固定的,不会被更新。它的计算公式是根据位置和模型维度计算得到的,目的是为模型提供序列元素的位置信息。 ### 回答3: 位置编码是用于将输入序列的单词位置信息编码成向量形式。在训练,位置编码不需要更新。 位置编码采用的是一种固定的方式,主要有两种常用的编码方法:Sinusoidal Position Encoding和Learnable Position Encoding。 Sinusoidal Position Encoding是通过使用正弦和余弦函数来编码位置信息。对于序列的每个位置,都会生成一个唯一的位置向量。这些位置向量是固定的,不会在训练更新。因此,在训练过程,位置编码的值保持不变。 Learnable Position Encoding是通过使用神经网络习得到的位置编码。在这种方法,位置编码是可训练的参数,需要在训练过程进行更新。在每个训练迭代,神经网络会根据损失函数的反向传播,更新位置编码的参数值,使其能够更好地表示输入序列的位置信息。 总而言之,位置编码的更新方式取决于使用的编码方法。对于固定的编码方法如Sinusoidal Position Encoding,位置编码不需要更新。而对于可习的编码方法如Learnable Position Encoding,位置编码的参数会在训练过程进行更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值