我们和FreeCodeCamp的联合活动

freeCodeCamp 中文社区五月特别策划——邀请来自高校、公益组织、大型互联网企业、开源社区的五位嘉宾,直播分享自己的学习和工作经历:

– 从自学编程到进入阿里

– 从编程小白到获得 WWDC 奖学金的字节跳动 iOS 开发工程师

– 高校社团成功举办百人线上编程训练营

– 开源技术老兵讲解 Web 前端的“像素级还原”真相

– 电信学院副教授如何探索 [全人教育下资源受限的高中生的编程教育]

5 月 30 日,在 freeCodeCamp 举办的直播活动《学习编程和编程教学,如何更高效更有趣》中,来自高校、公益组织、大型互联网企业、开源社区的五位嘉宾,通过分享自己的经历、经验,给大家处理编程学习和开发工作中的问题提供思路。

我们通过视频和文章把嘉宾们的精彩演讲分享给更多人,点击文末“阅读原文”可观看视频。

刘朔言

北京信息科技大学计算机科学与技术专业大二学生,在学校 ifLab 社团担任导师和 freeCodeCamp 训练营营长,曾获得高校微信小程序全国三等奖。

大家好,我是北京信息科技大学 ifLab x FCC 训练营的营长,刘朔言。在上一个寒假期间,我们社团举办了 FCC 训练营活动。主要面向于在校大学生并兼顾一些非在校成员。我们已经连续举办了两期训练营活动。

下面我将从组织活动这方面,与大家分享一些经验。

首先,我来先简单地介绍一下我们的社团。北京信息科技大学创新联盟,简称 ifLab,是在信息科大具有一定影响力的社团。我们曾举办过编程马拉松、女子编程日、知识讲座、工作坊等活动。

ifLab 举办女子编程日活动

我们社团倡导多元化,这体现在社团积极接纳女生成员,帮助女生学习技术;还体现在热心参与公益活动上,比如鼓励社团成员参与女生编程、少儿编程相关的活动,给社会带来好的影响;还体现在社团交流的不只是知识和技术,还会交流哲学、职业发展、社会等话题。

欢迎访问 iflab.org,了解我们社团的运营方式、价值观、活动等内容。

我就读于北京信息科技大学计算机科学与技术专业,是一名大二的学生,今天作为 ifLab x FCC 训练营营长来分享。

我在初三暑假就开始接触 Web 开发,在高中期间曾获得过区级网页、程序设计的一二等奖。在大学期间,我获得过微信高校小程序大赛全国三等奖。

下面开始进入分享的正题。

我将通过以下四点进行分享:

– 组办训练营的初衷

– 探索和确定组织形式

– 训练营的前期准备

– 微信群运营

组办训练营的初衷

系统地学习 Web 开发

我个人认为 Web 开发的入门相较于其他还是比较容易的。我们学习任何一门语言或者技术,其实都应该去系统地学习,这样有助于我们形成完整的知识体系。

其实,学习基础的理论知识,类似于基础建设,它并不是立竿见影的,而是一个积累的过程。学习基础理论知识的过程中,可能会遇到一些问题,你会通过解决这些问题,形成一套自己的方法论,用于解决问题。

对于没有任何编程经验或者有很少编程经验的同学来说,选择一个较为舒适的学习坡度是很重要的,因此我们选择了 FCC 平台,帮助同学们从 HTML、CSS、JS 相关的基础知识入手,由浅至深地学习 Web 的相关知识,帮助同学形成完整的知识体系。

提供学习监督平台

“同辈压力”是指在同辈人相互比较中产生的心理压力,例如同辈人取得的成就会给自己造成一定心理压力。

这也同样适用于学习。比如说你有一个同学 A 这几天一直在学习某方面的知识,而你也在学习这方面,但你可能并不很上心,但这个同学 A 利用这些知识做出了一些有意思的作品并被人夸赞,当你听到时就会产生压力,从而促进你学习这方面的知识。

在训练营的组织过程中,我们可以提供学习监督平台,让成员通过某些方式,对自己今天的学习成果进行展示,并给予鼓励。有些成员可能会基于这种“同辈压力”来提升自己的学习效率。

帮助解决相关的问题

在学习的过程中,我们肯定会遇到很多问题。我们需要培养的是自己独立解决问题的能力,能不是坐在原地,等着别人把答案送到你的面前。

我举个例子。曾经有个学弟来问我一个关于 CSS 的问题,他是想给一个 h1 标签加一个底部边框,他直接把这个问题甩给我。我问他,你从网上搜过这方面的内容吗?他说没有。我就让他去搜这个问题,过了一会儿,他搜到了,跟我说,为什么按照网上说的,还不能解决这个问题?我让他把代码贴给我。我看了一下,他把 solid 拼成了 soild。我告诉他,你自己再看看拼写的问题。最后他把这个功能实现了。

通过这个例子,我们可以看出来,这个学弟一开始并没有自己尝试着去解决这个问题,而是等待问题的结果。

我们应该问问自己:是不是我们提出的每个问题都是自己无法独立解决的?

这个学弟其实自己可以解决问题,但是没有先尝试解决,而是想让别人去帮助他走完这个解决问题的过程。

所以,我们应该引导成员去独立解决问题,而不是将答案塞到他的手中。

提供经验分享

在社团和训练营中,不乏一些就职于大厂的同学。我们通过举办一些活动或者分享同学的文章,帮助成员学习到面试经验或刷题经验,了解一些相关的技巧和经验,少走弯路。

比如,近期我们的社团成员分享了自己学习 FCC 的经验,我们整理成文章,发布在了社团的公众号和网站上,并分享到社团和训练营的群里,让大家汲取他们的经验。

为什么要学习 Web 开发

Web 入门简单,前期只需要掌握基础的 HTML、CSS 就可以构建出一个简单的小型应用。Web 开发工具和框架极其丰富,囊括了 JS 框架、UI 框架和可视化组件等,利用这些工具和框架可以快速地构建大型应用。

并且 Web 很好地抹平了前期学习计算机基础知识的壁垒,每一行代码都能所写即所得,能够快速得到成果。对于计算机专业的新生、其他专业的同学或没有接触过计算机的人来说,可以通过学习 Web 基础知识,来进入计算机领域的学习,降低前期学习过程中的压力,提高自信,快速建立起正反馈渠道。

探索和确定组织形式

为了帮助大家方便、高效地学习 Web 相关的知识,我们开始探索训练营的组织形式。

我们确定了以下的组织要点:

– 学习应当与地点和时间无关,可以在一天内随时随地完成自己制定的学习计划

– 同学之间能够相互学习,相互监督,学习他人的优点,实现共同进步

– 通过训练营的学习活动,帮助成员养成学习的习惯

因此,我们决定采用“线上训练营”的方式组织学习活动。我们通过微信群 + 打卡小程序,实现交流知识、引导思考问题、相互监督学习。

训练营的前期准备

在训练营组办的初期,我们做了一些准备工作,来宣传和运营我们的训练营。

我们先建立了微信群,并且创建了打卡小程序。然后,我们写了一份关于 FCC 训练营的宣传文案,并且将文案制作成微信文章发布在我们社团的公众号上。

宣传文案要点

对于宣传文案,我总结了举办一个活动应该具有的要点:

– 首先是本次活动组织的目的是什么,你要交代清楚本次活动是为了什么

– 其次是告诉大家,参加这个活动有什么好处

– 然后,在文案中说明本次活动的特色是什么,这样能让大家了解,这一次活动在哪方面有侧重点

– 再然后是告诉大家本次活动的组织形式是什么

– 最后告诉大家,这个活动的参与方式是什么,对于活动的参与方式,我们一定要明确如何参与,让看到这篇文章的人,能够方便地参与活动

比如我们举办 FCC 训练营的目的就是帮助成员踏入 Web 世界的大门,通过 FCC 平台从 0 开始系统地学习 Web 开发,从前端布局到数据交互,由浅到深,由易到难,全面系统地学习 Web 相关知识架构。

参加这个的好处如前文所述,通过学习 Web 基础知识来进入计算机领域。

而对于训练营特色,可以根据每次活动的不同侧重点进行描述,例如:作为大四毕业生的你是否还在对面试题感到苦恼?想要刷题也没有小伙伴陪伴?那快来加入 ifLab x FCC 训练营 2004 期吧,这里有小伙伴与你一起刷前端相关的题目!同时欢迎有面试经验的同学来分享自己的面试经验~

学习活动的组织形式是通过“21 天打卡”小程序,提交每日的学习进度,并且将打卡小程序分享到群内,让参与的同学可以在打卡小程序中看到其他人的学习动态,有利于促进交流。

活动的参与方式是(1)注册并登陆 FCC(2)加入群(3)刷题并分享打卡小程序。

工具推荐

我在举办训练营过程中用到的工具:打卡小程序——21 天打卡,能够帮助训练营成员养成学习的习惯。文章编辑器——秀米,提供大量的微信文章模板。还有一个关于图片设计的网站——懒设计,能够快速设计出宣传海报、文章封面之类的。

微信群运营

微信群运营是训练营组织过程中很重要的一点,下面我们具体来说说群运营。

群运营的要点,一是活跃群气氛,可以适当引导成员自发性地讨论一些有关于技术的话题;二是学长学姐、群内大佬等经验较为丰富的人群来分享一些自己的面试、刷题的经验;三是在适当时间进行一个主题讨论活动,抛出一个主题,来引导大家自行讨论;四是设置固定的问答时间,在这个时间内可以积极地响应群内成员提到的有关问题。

我们看一下训练营群运营的例子。比如说,这个活跃气氛,由社团内成员引导到某个话题,引导大家自由发言。

由学长学姐分享自己的经验,整理成文章发布到公众号中,并分享到群内,让大家借鉴经验和技巧。

主题讨论的作用是通过自身参与和思考,深入了解相关问题并组织语言分享自己的观点。主题讨论,既可以从表面探讨问题,也可以将问题从表面引导至问题的内在,深度地探讨问题。

比如,FCC 广州社区的一位开发者兔纸在群里引导大家讨论在 IE6-8 时代是通过什么实现布局的,并且从更深的层次来讨论,为什么催生了 flex 和 grid 布局。成员通过主题讨论锁定了正确答案,并且分享到群内。

而对于答疑解惑,有成员提问是否可以通过参与开源项目,来提高自己的技术水平,然后翁培均学长回答并给了一些建议。

在群运营中,很重要的一点是提醒大家对今天所学的知识点进行打卡,并分享到群中。这样有助于大家相互监督学习,提升成员参与度。

最后,我们社团分别举办了 FCC 训练营和 LeetCode 训练营,欢迎感兴趣的小伙伴加入。大家可以扫描二维码关注我们的公众号,获取最新的训练营信息。

公众号 https://mp.weixin.qq.com/s/HDtPOk-ksJXO9_duKf9TqA

Bilibili视频 https://www.bilibili.com/video/BV16g4y1i7SP

社团导师Andy的教材推荐

笔者是双非一本大三学生,学校里用好多本校自编的、或者国内的教材,写得很不好,很难读,而且讲得不够透彻,不少学生深受其害。所以笔者整理了一下几本比较好的教材,推荐给大家。

大一

C语言

学校可能用谭浩强,建议书籍:《C primer plus》https://book.douban.com/subject/26792521/

C++

学校也有可能用谭浩强,建议书籍《C++ primer》https://book.douban.com/subject/25708312/ ,如果阔绰,可以再买一本《C++ primer plus》https://book.douban.com/subject/26792521/,这本有很多示例代码,比较友好,但是要学深入一点,一定要看《C++ primer》

大二

数据结构、算法这两门

学校算法可能用的是王晓东的《算法设计与分析》,数据结构用严蔚敏。
推荐书籍《算法》or《算法导论》,这两本书包含几乎所有常用的算法和数据结构了。《算法》相对来说好读一些,《算法导论》是很经典的书籍,相对难读一些,不过遇到具体的算法时可以翻翻,还是很不错的,解析写得很好。
《算法》(第四版 橙色封面):https://book.douban.com/subject/10432347/

《算法导论》:https://book.douban.com/subject/20432061/

计算机组成原理

我校用自编的教材
推荐书籍哈工版《计算机组成原理》:https://book.douban.com/subject/2994636/

大三

计算机网络

学校如果用谢希仁版的话,是要认真看看的,这本书写得很好。《计算机网络(谢希仁)》:https://book.douban.com/subject/26960678/
另外还有推荐教材《计算机网络 自顶向下方法》:https://book.douban.com/subject/26176870/,这本笔者没有看过,但是业界评价很高。

操作系统

我校用一本我校老师自己编的《操作系统》。
建议书籍《现代操作系统》:https://book.douban.com/subject/27096665/,更难一点的有《深入理解计算机系统》:https://book.douban.com/subject/5333562/
《现代操作系统》可读性很强,笔者最近也在读。
《深入理解计算机系统》也是很好的书籍,但是说实话笔者就看了第一章。。。

编译原理

是笔者这学期的课,还没有深究。不过也有一本《编译原理》https://book.douban.com/subject/3296317/,封面是一条龙,业界俗称龙书。之后笔者也会看。

FCC训练营经验分享 | 如何让自己快乐的养成习惯

导语

脱离学校环境后,同学们如何保持自主学习的状态,一直是一个很重要的话题。今天呢,这位在疫情期间完成自主学习,并成功找到实习的同学,在这里分享一下她的学习经验。让我们一起了解她的“快乐学习”秘诀吧。

学习始于疫情

Begin

我的学习跟疫情差不多同时开始的。22号宣布疫情戒严,24号武汉封城。

最开始还没有想着学习代码,当时是觉得放假无聊,就跟同学开始打卡云健身,健身是从腊月二十八开始,每天花15分钟健身,就在家里做一些动作啥的,因为这些动作还挺简单的,加上有【同辈压力】,所以健身慢慢坚持了20多天吧。

积极的事情改善精力

Just Do IT

这个时候发现,当生活开始做了一件积极的事情后,反而会让你更有能量和精力。因为我这个时候,觉得每天除了健身之外,我还可以做些其他的积极的事情,所以后来在我们社团的群里就主动提出了想要学习。然后群里的大佬翁学长就发来一个网站,说就学这个网站(FreeCodeCamp)的内容。

这个网站以做题的形式,用一道道题来学习知识点。然后我就开始在这个网站上又开始学习了。

如何克服厌学的情绪

How to

我其实也不是每天都特别愿意做,总有厌学的时候对吧,那厌学的时候有什么能坚持下去的技巧呢?

一是每日的最低目标小,每天只需要刷10道题。并不是很难。

二是可以想出其他方法让自己学习变得有乐趣,比如说你是在学不进去了,那你可以边玩边学,比如你可以跟自己商量,先做完这两题,然后玩会儿手机。然后再做两道,这样边玩边学,可以极大的减轻你的厌学情绪,而且你玩着玩着,就学完了,甚至还能学进去,学得更多。

坚持学习打卡,还有一个很重要的技巧就是,那个网站有打卡日程,如果你今天没做题,那今天的小方格就不会变黑,那你在群里分享打卡进度的时候,那一天就一定是缺格的。同辈压力+好胜心不允许我放弃哈哈哈哈。

养成习惯后的我

After

后来,那个网站的题该刷的就被我刷完了。我这个时候已经养成学习习惯了,所以虽然刷完了网站的题,但还是想每天学点儿什么,如果不学习就会很难受。那这个时候,我就想到了要去实习,找工作去了。我的方向为前端开发,我在b站上看了很多面试经验,然后就去面试了。本来面上了北京的公司,结果因为疫情,导员严令禁止回学校,于是拒掉了北京的offer,面了我家这边的公司,方向也是前端开发,想着积累一些实际经验也是好的。现在已经在我们这个公司实习将近一个月了。

经验总结

– Summary –

1. 习惯很重要,养成习惯后,习惯会推着你向前走。

2. 习惯的养成一开始绝对不能是每天定一个太大的目标,最好从比较简单的做起,这样容易坚持下来。

3. 同辈压力(peer pressure)是个很有意思的心里,我们在坚持一个习惯的时候,可以以适当的方式找同辈监督。比如群里打卡。

4. 在学习比较痛苦的时候,不要硬逼着自己学,那样会让你产生厌学情绪。可以边玩边学,找适当的方法让自己快乐的坚持下去。这样才会坚持的长久~

如何做好线上训练营

原则:

  • 选择好的学习内容
  • 形式简单
  • 有互动
  • 激励机制

流程:

  • 每个月为一周期,打卡21天
  • 每个月第一天管理者撰写文案发布公众号文章。
  • 参加者加入训练营微信群
  • 参加者每天完成学习后在打卡小程序打卡。每个月的打卡都重新开始新的。
  • 训练营管理者每天发布打卡摘要。(几个人打卡,点评其中有意思的部分)
  • 每周三和周六晚上17:30-18:00进行即时问答。
  • 每个月打卡结束后,训练营管理者撰写本期总结。(打卡情况总结,学习内容总结,组织方法总结)

生活与编程的并行线程

https://www.freecodecamp.org/news/the-parallel-threads-of-life-and-programming-2/

我坚信我们最深切的愿望是,通过花费时间来向人们展示有关宇宙的一些基本真理。听听它的耳语,并指出它的目的。

而且,如果您对这些课程足够认真,就会找到它们。无论它们是您的思想的体现还是可以握在手中,一旦您看到它们,它们就永远属于您。

编程为生活提供了重要的相似之处。我们的任务是创造一些出头其总和感觉比部分更显著。就像生活一样,它是对无限创造力的考验。有规则,我们必须遵守,一些我们应该遵循,以及其他一些我们可以随意忽略。编程让我们瞥见了关于我们所居住的世界的一些基本事实,无论它是多么短暂。

编程与生活之间的四个平行

迭代就是进步。

您是否知道,如果您以一个便士开始一个月,并且每天都翻一番,那么您在该月的15号会有163美元?当然,您认为,肯定有更好的方法可以在15天内赚到163美元。但是,如果再等15天,您将获得超过500万美元。

继续吧,我会等你做数学的。

在编程中,我们使用术语“ 迭代”来表示重复某件事。在更正式的定义中,它将重复地将一个过程应用于该过程的先前结果。例如,将数字1和1相加得到2,然后将数字1和2相加得到3,依此类推。

当我们进行迭代时,我们会寻找反馈。我们等待要满足一些条件,使我们可以停止迭代或调整如何,我们迭代。如果我们听不到这些反馈,就会陷入无限循环。

生活没有什么不同。我们经常期望我们可以从A点跳到B点,而无需定义A点或B点是什么。而且,即使我们确定了这些要点,我们也希望从头到尾立即采取行动。相反,通常是事实,那就是我们必须从头到尾逐步发展自己的道路。我们必须听取反馈,告诉我们我们在哪里,以便我们进行调整。

当我们有了目标时,通常在最初的几天,几周甚至几个月内都感觉不到进步。我们常常被引诱重新开始或重新开始。但是这样做时,我们未能意识到,虽然我们可能尚未到达目的地,但我们已经远远超出了开始的地方。无需完全重启,我们只需要进行一些小的调整即可。

停止重新开始。让迭代成为创造进度的力量。

最复杂的问题是已经解决的较小问题的集合。

即使是最引人入胜的应用程序,也可以使用一系列大多数平凡的解决方案来解决平凡的问题。实际上,程序中实现的大多数解决方案都不是唯一的。正是这些普通解决方案的结合创造了非凡的产品。

在编程中,有多种方法可以使用这些非常普通的解决方案。一种方法是通过称为抽象的术语。抽象某物就是将某物从另一物移开。

在计算机编程中,当我们抽象某些东西时,我们通常会在较低级别的技术之上构建较高级别的技术。这使得使用低级技术更容易。

例如,大多数编程语言都是神秘的二进制语言(0和1)的抽象。它们在我们与计算机之间一些更基本但又麻烦的交互级别之间建立了一层。这些高级语言使我们可以专注于高级问题。

我们可以更有效地解决问题的另一种方法是使用其他人的解决方案。您可能还听说过一词。而且,虽然我不是在谈论光线不足,灰尘多且安静的地方,但书本并不遥远。

一个,在编程术语,代码是别人写的,解决日常问题。它还抽象了那些对于解决您遇到的问题并非绝对重要的事情。

例如,如果您正在编写一个程序,要求某人登录才能使用您的应用程序,则可以编写代码来自己加密和解密密码,或者可以使用其他人编写的代码为您完成此操作。使用后一种选项,我们可以腾出时间专注于我们的应用程序试图解决的更重要的问题。

我们所有人都以某种形状或形式使用抽象和库。例如,杂货店是生产我们自己的食物的抽象。汽车是徒步旅行的抽象概念。烤箱是生火的抽象概念。这些是我们摆在我们面前的层次,可让我们将时间分配给更高级别的问题。

重新发明轮子只是为了学习如何制造轮子,而不是开车去商店。

如何定义问题就是解决问题的方式。

回想一下卡车在桥下行驶并被卡住的故事。工程师花费了数小时试图找出如何移动桥梁。一个小孩子站起来,与卡车的轮胎面对面,说道:“如果不让轮胎中的空气出来,那该怎么办?”

从孩子的角度出发,问题不是桥太短,而是卡车太高了。

大多数人都可以解决任何问题。实际上,大多数问题都指出了解决方案。例如,如果网桥是导致问题的原因,那么答案就是对网桥做些什么。但是,如果问题是卡车太高,则解决方案(几乎显而易见)是使卡车缩短。

零件的布置比零件本身重要得多。

Google Maps代码库,独立宣言,马丁·路德·金(Martin Luther King Jr.)的梦想演讲,史蒂夫·乔布斯(Steve Jobs)的2005年毕业典礼地址以及我的第一个应用程序“ Hello,World”有何共同之处?

访问相同的26个英文字母。

没有什么比书面文字更让我着迷了。书面文字是人类出现的最强大的技术之一。

是的,我使用技术一词,是因为它甚至被刻在洞穴的墙壁上,从根本上改变了我们保持信息的方式。数据不再局限于我们的思维范围内。

尽管最初将书面文字的目的与保存记录联系在一起,但它很快成为传播思想的一种方式。其中一些想法会激怒,另一些会启发。

通过书写或语音传输信息时,每种语言(包括计算机语言)都具有微妙之处。单词及其组成部分可能略有不同。但是,语言仍然是一组符号,可以将它们排列成似乎无穷无尽的思想。

例如,在英语中,大约有29个符号可用来代表几乎整个宇宙。我已经提到了26个字母,但是使用句点,逗号和问号也很有帮助。

我和您都可以使用这29个字符,史蒂夫·乔布斯也可以使用。然而,基于我们选择相信和说话而存在的字母的组合,我们每个人一生都会遵循不同的轨迹。

有趣的是,尽管我们经常在字典中添加单词,但通常不添加字母。这意味着,从最根本的层面上讲,所有可能存在的想法已经存在,它们的组成部分悄悄地等待着我们将它们改组为现实。

Les Brown通过这个思想实验很好地总结了这一点:

想象一下,如果您愿意的话,就躺在死亡床上。站在床旁–生活中赋予您的思想,梦想,能力和才华的幽灵。

而且无论出于何种原因,您都从未对这些想法采取任何行动。您从未追求过那个梦想。您从未使用过这些才能。我们从未见过您的领导。你从来没有用过你的声音。你从未写过那本书。

他们在那里,站在你的床周围,用愤怒的大眼睛看着你,说:“我们来找你。只有你能给我们生命!现在我们必须永远与你同死。”

问题是-如果您今天死了,您将死什么想法,什么梦想,什么能力,什么才能,什么礼物?

感谢您的阅读!

成为程序员不需要的10件事

https://www.freecodecamp.org/news/the-10-things-you-dont-need-to-become-a-programmer/

您有成为程序员的条件吗?很有可能,您的答案将基于一堆不真实的刻板印象和误解。这些都是有害的,因为它们阻止您尝试此职业道路。

让我们看一下成为一名程序员不需要的一些东西。

介绍

自从90年代末开始使用互联网以来,我一直对编程感到着迷。开发人员可以做的令人惊奇的事情让我着迷。当新网站和后来的应用程序开始从根本上改变我们周围的世界时,我的钦佩才增长。

但是,我从未尝试自己编程。从未尝试过看看它是如何工作的。但是我通常是一个好奇的人,喜欢研究事物并学习事物。那么那里发生了什么?几十年来怎么可能被编程迷住,甚至没有尝试呢?

就我而言,原因就是我所说的“好莱坞黑客”刻板印象。我们当中那些没有接触到该领域现实的人,只会经历媒体的刻板印象。我认为编程是精英(少数精英)的活动。上过独家大学并完成了非常昂贵的长期学位的人。那些拥有可以做数学天才的超人壮举的人的特权。

我现在知道这不是真的。它不是基于现实的。我希望我早一点知道。

我最终明白,这是比我最初想象的更容易获得的职业道路。我遵循了一些YouTube教程,并对编程感到非常兴奋。我认真地学习,并在10个月内从一个无关领域转变了职业。

这不是在公园散步,这是许多艰苦的工作。就像我们学习的任何技能一样,这需要时间和实践。但这并不需要特殊的权力。这是我如何进行切换的故事

现在,我正在作为前端开发人员,我想帮助其他人。我想鼓励那些正在考虑将编程作为一种可能的职业,但是不确定他们是否“具备所需的能力”的人,或者认为有些障碍实际上并不存在。

因此,让我们一起探讨成为一名程序员不需要的10件事。

先决条件

这些都是正确或错误地与我们流行为程序员的形象有关的事物。它们是很好的东西,它们可能会有用。

有抱负的开发人员可以花时间来获得其中的一些技能。但是,它们都不是开始,学习,找到工作或拥有出色的计算机编程职业所必需的。

成为天才。做一个数学家。

这是要消除的最重要的神话-特权人士的神话。要成为一名程序员,您的大脑没有什么特别的事情。

编程是一种技巧,例如弹吉他或参加马拉松比赛。通过这样做,您会变得更好。通过投入时间和精力。通过向他人学习。您做得越多,您投入和发展的技能就越多。

如果您看到有能力用计算机完成出色工作的程序员,那总是将时间和精力投入到他们的工作中的结果。这不是他们天生的天赋,也不是神圣的灵感。

另外,让我们谈谈数学。尽管数学是编程的核心,但您在日常工作中并不需要它。今天,大多数工作使用的大多数编程语言都是高级语言。它们比数字更接近人类语言,并且不需要任何数学方面的专门知识。

编程更像是写作而不是演算。如果您擅长数学,它将帮助您更快地解决某些问题。如果像我一样,您在学校没有爱上它,再也没有回头,这不会成为障碍。

成为计算机向导

编程要求您编写在计算机上运行的程序。您可以使用计算机进行操作。这是您工作的媒介。

但是,您无需成为一名程序员就可以从头开始构建计算机。您不需要能够理解计算机的内部工作原理。或是成为您的所有朋友都遇到计算机问题的那个人。

如果您使用汽车来完成工作是一回事,但实际上成为汽车修理工则是另一回事。当然,您对工具的了解越多,您解决问题和解决问题就越独立。但是您可以成为有效的程序员,而无需先学习如何修复姨妈的受病毒感染的机器!

拥有精英大学学位。拥有CS学位。有任何大学学历。

大学学位是一件很棒的事。它教您方法和调查。它教您自己的学习风格。

总的来说,如果你有幸进入大学,成为一名毕业生是一件好事。成为计算机科学专业的毕业生对于编程来说甚至更好。它为您提供了深度和广度的知识。一流的大学将打开大门,并与您联系。

但是,以上所有内容实际上都不是程序员的必要条件。这个领域挤满了没有CS学位或根本没有学位的优秀程序员。如果您全神贯注,那么您就可以成为一名优秀的程序员。

如今,有许多不同的途径成为开发人员。传统的大学路线只是其中之一。有一些训练营将基本知识浓缩为几个月的紧张工作。对于那些想走自我指导路线的人,有很多在线资源。对于需要在准备职业转变的同时继续工作的人们来说,这是一个不错的选择。并且有许多免费或廉价的选择也消除了经济障碍。

拥有最先进的计算机或昂贵的软件

这可能有点愚蠢。但是对于许多生活在困难的经济形势中的人来说,这意味着迈出第一步与不迈出第一步之间的区别。

我曾经以为程序员需要具有最高处理能力的最先进的计算机,因为他们是编写运行计算机的软件和应用程序的人。我以为要开发软件,您需要专用且昂贵的软件。有点像那些从事设计或视频工作的人所需要的工具包。

因此,当我按照我的第一个教程进行操作时,我感到很惊讶,而构建第一个网站所需的全部是Windows内置的记事本。记事本!!任何计算机上最简单,最无聊的软件。一个文本编辑器,它尽可能平淡而基本。

好吧,是的,您完全可以在一台旧机器上完成所有基本工作,而无需花哨。人们期望在专业工作时拥有一台好的机器。但是作为学习者,您可以通过互联网连接和可以运行文本编辑器的基本计算机走得很远。

此外,您在使用过程中需要使用的每种工具都有免费版本。

英文流利

与上述大多数情况一样,流利的英语会有所帮助。编程语言是在英语国家发明和发展起来的。因此,无论好坏,英语都占主导地位。

编程语言中使用的单词是英语。而且有关该主题的大多数文档,教程,文章和资源都是英文的。因此,如果您具有不错的理解水平,它将很有帮助。

但是,这不应该成为阻碍您进行编程的障碍。您可以学习并熟练掌握中级英语。许多人只能够阅读和理解英语。

刻板印象

在公众的想象中,有许多与程序员相关的刻板印象。现在让我们澄清一下,我并不是说这些刻板印象有时不是真实的,或者以任何方式都是负面的。只是您不需要那些适合的东西。

做个书呆子。成为玩家

让我重复一遍,书呆子很棒,游戏玩家很棒。但是您可以成为技术团队的一员,而不必成为上述任何一种。不是90年代-现在,各种风格的人都在行业中工作。

当您初次寻找工作时,与您合作的团队是您成功的最大因素之一。因此,找到一个气氛良好的支持团队至关重要。比您可能会或可能不会与其他程序员共享的兴趣更为重要。

内向

同上。没有特别适合该行业的个性类型。不要去寻找可能会告诉你这是否适合你的人格特质。您的态度要重要得多。

能够处理挫败感并坚持下去是关键因素。那是一种博学的技能,而不是固定性格的一部分。

多元化

以下各项不是刻板印象,而是统计数据。纵观行业现状,您可能看不到自己的代表。这可能会使您认为这不适合“像您这样的人”,但是您可以识别自己。

但是我们的态度应该相反。缺乏代表性是进入它并将自己摆在那儿的更多原因。业界对于团队多样性的重要性变得更加明智。许多公司和个人都在努力使行业更具包容性。

年轻

您无需年轻就可以从事技术工作。您无需从小就可以成为一名优秀的程序员。

我从39岁开始学习,到第一份工作时才40岁。每个年龄段的人都已经成功地完成了过渡。

学习永远不会太晚。永远不会改变职业。此外,一家只想雇用年轻人的公司可能不是一个工作的好地方。如果您需要更多灵感,请查看有关30、40和50年代获得第一份技术工作的开发人员的故事

做个男人

这应该很清楚。但这不得不说。您不必是一个男人就可以成为程序员。尽管人们仍然占程序员的大多数,但希望这种情况正在迅速改变。

任何具有领导才能的公司都了解性别多元化团队的重要性。这不仅有利于“平等”(这是足够的理由),而且性别多样化的团队可以做出更好的决策,并且不太可能受到偏见。

性别并不是决定您的程序员水平的因素。没有更适合的染色体或大脑结构。编程主要是解决问题。我们需要尽可能多的观点以最佳方式解决问题。

享有特权

当我刚开始学习编程时,我最喜欢的事情之一就是社区的民主,开放和包容性。

编程世界充满了优秀的人才。他们花时间帮助其他人成为更好的程序员。他们创建资源并维护使所有人受益的开源项目。

许多团体和集体仍然人数不足。特别是那些历来被边缘化或难以获得机会的人。但是社区本身比外面看起来更受欢迎和更具包容性。而且它还在不断变化。

您可能不会在受欢迎的图像或有关程序员的统计信息中看到自己。但这不应该成为能够成为程序员的因素。您的性取向,社会阶层,种族,残疾,是否不生活在工业化世界中,是否贫穷。这些都是因素,不是障碍,而是好处。出于与上述相同的原因。

团队的多样性越大,以超越偏见的方式解决问题的能力就越强。那总是一件好事。您可以成为这个行业不断变化的形象的一部分。

奥托罗

我希望本文能帮助您打破关于程序员的神话并消除入门障碍。我希望,如果您对编程感兴趣,可以尝试一下。而且,如果您对它感到兴奋,并且对追求职业感兴趣,那么您将尝试它。

忽略伪装成我们认为阻碍我们前进的障碍之一的自我怀疑。编程很复杂,需要艰苦的工作。但是有关它的一切都是由任何人坚持不懈可以学习的技能组成的。

生活可能很艰难,可能会阻碍我们前进。挑战是应对这些障碍并找到解决之道。因此,让我们至少从路径上消除实际上不是真正障碍的所有杂物。

如果您认识正在考虑编程的人,或者最近开始学习的人,请与他们分享这篇文章。

公开学习 最快的学习方式

https://www.swyx.io/writing/learn-in-public/

如果有一个黄金法则,那就是这条法则,所以我把它放在第一位。所有其他规则或多或少都是该规则#1的详细说明。

您已经知道,您将永远无法完成学习。但是大多数人“私下学习”,并且潜伏着。他们消费内容而不创建自己的内容。同样,这很好,但是我们在这里谈论进入前五分之一。您在这里要做的是养成学习精疲力尽的习惯

  • 撰写博客,教程和备忘单。
  • 在聚会和会议上发言。
  • 在Stackoverflow或Reddit上询问和回答问题。避开 Slack和Discord等有围墙的花园,它们不公开。
  • 制作YouTube视频或Twitch流。
  • 开始时事通讯。
  • 绘制卡通(人们 喜欢 卡通!)。

无论您什么,都要做自己希望在学习时发现的东西不要用“拍手”,转发,星号或赞誉来判断结果-只是从3个月前开始对自己说话。除了我,我几乎每天都写一个开发博客。

你猜怎么了?这不是要让您的内容吸引到尽可能多的人。如果可以的话,太好了,成名时记住我。但是迄今为止,试图帮助过去的最大受益者是未来的您。如果其他人受益,那就是锦上添花。

哦,你认为你完成了吗?不要在这里停下来:

  • 喜欢编码视频吗?与演讲者/讲师联系,向他们表示感谢,并提出问题。
  • 对您使用的库进行公关。
  • 制作自己的图书馆,没人会使用。
  • 从头克隆您喜欢的东西,看看它们如何工作
  • 讲习班。
  • 参加会议并总结您学到的知识。

总会有一个更深的层次。但是,在每一步中:记录您所做的事情和您解决的问题。

该规则下的副标题为:尽力做到正确,但是当您输入错误时不要担心。反复。如果您感到不舒服或像冒名顶替者,那就很好。你在推自己。不要以为您什么都不知道,但是无论如何都要尽力而为,当您不可避免地犯错时,让互联网来纠正您。将您的noobyness戴在袖子上。

人们认为你很烂?好。你同意。请他们详细解释您为什么吮吸。您想要感觉良好还是想要变得更好?没有异议,没有伤害的感觉。然后走开,证明他们错了。当然,如果他们受到虐待,则将其阻止。

我是否提到教学是最好的学习方法?在编码时说话。这可能会让人感到压力很大,我还没做完那么多,但是我最好的技术面试是我最终像我一样讲课,而不是拼命地证明自己。我们是动物,我们被自信吸引,可以闻到绝望。

在某个时候,您将获得一些支持。人们注意到真正的学习者。他们想为您提供帮助。不要告诉他们,但他们只是成为您的导师。这很重要:拿起他们放下的东西。将它们视为提供您要完成的任务。当他们说“有人愿意帮助__ __吗?” 您是第一行中已经举起手的那个孩子。这些是高级工程师,其中一些是技术界最需要的人。如果您帮助他们,他们会与您以一对一的方式相处(ps,总有他们需要帮助的地方)。您不能为此买单。他们将免费教您。大多数人看不到眼前的一切。但不是你。

您问:“有那么多初级开发人员,他们为什么会帮助?”

因为你在公共场合学习。通过教你,他们教了很多。您放大它们。他们有一件事是他们没有的:初学者的思想。你知道这是怎么工作的吗?

在某些时候,由于您提出的所有建议,人们会开始向您寻求帮助。80%的开发人员是“黑暗”的,他们不写,不讲话或不参与公共技术讨论。但你做了。您必须是专家,对不对?不要告诉他们你不是。尽可能做到最好,并在遇到问题或遇到错误时将其传递给导师。

最终,您的导师用完了,只能自己解决问题。您仍然在投放内容。你知道这是怎么工作的吗?

在公共场合学习。

ps最终,他们也将向您支付您的帮助。比您想象的要多得多。

下一页:学习装备(如何在公共场所开始学习)

另外:公开学习的终极技巧(扩展“捡起他们放下的东西”)

另请参见:如何私下学习(并非所有内容都必须公开!)

另外:Big L表示法(扩大了为什么“在公共场合学习”是最快的学习方式)

最初是根据要点起草

相关链接

在某些地方,知识管理是关于创建可以克服人们的知识缺陷的系统。在戈达德(Goddard),似乎真的是要使人们能够分享和反思他们最了解的知识。这是一个微妙的区别,但是我真的很喜欢他们将人们放在这项工作的中心,并且从人们的丰富知识而不是系统中缺乏信息的地方开始。社交媒体具有很大的潜力,但是您需要考虑如何促进人与人之间不同类型的(在线和离线)关系,以便改善他们的思维,进行创新,他们可以快速解决复杂问题,从而增强并加速业务成果。使用社交媒体作为KM工具的一大好处是,您可以同时创建和捕获知识。但是,为了使它真正起作用,人们必须愿意在整个项目生命周期中进行公开协作。由于许多原因,“在公共场所学习”令人恐惧-人们可以找到并坚持使用过时的信息,并且用户在项目的脆弱时期(即,当他们还没有所有答案时)公开自己的知识。但是,在这一部分过程中,学习是最有价值的。如果您在项目中间分享自己的知识和不知道的知识,则可以使人们有机会分享可以帮助您的特定知识。如果可行,这可以节省时间和金钱。为了使它真正起作用,人们必须愿意在整个项目生命周期中进行公开协作。由于许多原因,“在公共场所学习”令人恐惧-人们可以找到并坚持使用过时的信息,并且用户在项目的脆弱时期(即,当他们还没有所有答案时)公开自己的知识。但是,在这一部分过程中,学习是最有价值的。如果您在项目中间分享自己的知识和不知道的知识,则可以使人们有机会分享可以帮助您的特定知识。如果可行,这可以节省时间和金钱。为了使它真正起作用,人们必须愿意在整个项目生命周期中进行公开协作。由于许多原因,“在公共场所学习”令人恐惧-人们可以找到并坚持使用过时的信息,并且用户在项目的脆弱时期(即,当他们还没有所有答案时)公开自己的知识。但是,在这一部分过程中,学习是最有价值的。如果您在项目中间分享自己的知识和不知道的知识,则可以使人们有机会分享可以帮助您的特定知识。如果可行,这可以节省时间和金钱。由于许多原因,“在公共场所学习”令人恐惧-人们可以找到并坚持使用过时的信息,并且用户在项目的脆弱时期(即,当他们还没有所有答案时)公开自己的知识。但是,在这一部分过程中,学习是最有价值的。如果您在项目中间分享自己的知识和不知道的知识,则可以使人们有机会分享可以帮助您的特定知识。如果可行,这可以节省时间和金钱。由于许多原因,“在公共场所学习”令人恐惧-人们可以找到并坚持使用过时的信息,并且用户在项目的脆弱时期(即,当他们还没有所有答案时)公开自己的知识。但是,在这一部分过程中,学习是最有价值的。如果您在项目中间分享自己的知识和不知道的知识,则可以使人们有机会分享可以帮助您的特定知识。如果可行,这可以节省时间和金钱。您使人们有机会分享可以为您提供即时帮助的特定知识。如果可行,这可以节省时间和金钱。您使人们有机会分享可以为您提供即时帮助的特定知识。如果可行,这可以节省时间和金钱。

  • 内森·巴里(Nathan Barry)在他的著作《权威》中:

早在2007年,克里斯·科耶尔(Chris Coyier)开设了一个名为css-tricks.com的网站。这是一个专门用来教人们如何编码网站的网站。(CSS是用来描述网站外观的语言。)当CSS-Tricks首次问世时,我记得读过一个教程,并且自负地想:“我已经知道了。” 克里斯和我的技能水平大致相同,所以我没有从他那里学到任何新东西。由于他不断推出新教程,这种情况持续了一段时间。但是随着时间的流逝,当朋友们开始问我CSS问题时,我发现链接到Chris的一篇文章(因为它们写得很好)比自己解释一切都容易。多年后,克里斯发起了一个Kickstarter广告系列,以重新设计他的网站。那些参与的人可以在幕后访问与重新设计有关的其他教程和内容。目标设定为3,500美元,相当低。他很快就超过了目标,并在活动结束时筹集了89,697美元。难以置信。关键是他相对容易地做到了,这都是因为他建立了一个热爱工作的听众。 他和我从同一点开始,我们的技能以大约相同的速度进步。所不同的是,他教书并与他人分享,而我则将自己所学的东西保留给自己。这使得能够在一个新项目中赚取数万美元与不发布任何东西之间有所区别。

内森(Nathan)通常对LIP有很多重复之处:

关于如何在没有训练营的情况下学习编码的10条提示

https://www.freecodecamp.org/news/10-tips-on-how-to-code-without-a-bootcamp/

2017年西雅图。我刚参加软件开发人员的第一份团队会议。为我感到骄傲的一天!

三年前,我学习了如何在不参加训练营或没有计算机科学学位的情况下进行编码。

从那时起,我一直梦想着成为一名全职开发人员。但是,靠我自己学习编码并不容易,我挣扎了,几乎一度放弃。

如果您正在阅读本文,那么您可能会达到我的目标-自我学习,避免参加昂贵的训练营或回到大学获得计算机科学学位。

这是我的最佳技巧,教您如何在没有训练营的情况下进行编码。

创建一个计划并坚持下去

在学习编码时,常见的错误是没有计划。

您在这里和那里学习一些编码教程,构建一个或两个应用程序,并阅读一些有关编码的文章。但是几个月过去了,您不确定下一步要去哪里。你感到迷茫。

你能做什么?

制定计划-详细的路线图,了解如何精确地编码。

要制定计划,请开始问自己这些问题。

你会学什么语言?您对哪种编码感兴趣?您对创建游戏,构建应用或网站最感兴趣吗?您要关注什么领域?

您的主要目标是什么?您为什么要编码的原因是什么?一旦掌握了技能,您将要做什么?您的目标是成为一名开发人员吗?还是建造一些东西?

您将使用哪些学习资源?  在学习编码时,有许多很棒的(而且完全免费)的资源可供选择,这可能会令人不知所措。无论是freeCodeCamp课程还是其他课程,都请选择一个程序并设定目标以完成该课程。

您每周将学习几小时,何时学习?在上大学或学校时,您通常会知道上课或学习的时间是多少,并且要遵守该时间表。为自己制定最适合自己的时间表,这样您就可以保持进度。

在为自己创建路线图之前,我在教自己如何编码时感到困惑。

我不知道该学什么或下一步做什么。一旦有了自己的路线图,就很容易在前进的过程中前进-我知道下一步要采取的行动。

追求好奇心

“她从来没有见过一只兔子或背心口袋,或一只从里面掏出的手表,并且好奇地燃烧着,她追了上去。” -爱丽丝漫游仙境

制定路线图是关键,但请务必保持好奇心。

要学习编码,请找到与编程有关的一件事,这会让您着迷。找到让您足够好奇的东西,以便在周六晚上进行了解-因为您有时需要这样做。

找到一些关于编码的知识,这就是我最喜欢的作家TK Coleman会不负责任地好奇的样子。您知道当您起床晚了要看一场精彩的演出时,或者您对本书接下来会发生什么感到非常好奇时,已经是凌晨2点了,并且您想睁大眼睛,因为您迫不及待地想知道接下来会发生什么?

探索使您充满好奇心并继续追求的编程领域。随着好奇心的流逝,时间流逝,学到的东西将激增。就像读一本好书或您曾经看过的最佳谁做的电影一样,您必须走到尽头。

弄清楚您对什么感到好奇并追逐它。

让自己负责。

参加编码训练营时,如果您没有完成作业,则可能会被踢出并浪费您为注册而支付的钱。

在学校或大学,如果您不完成家庭作业,则可能会失败上课。

在工作中,如果不露面,您有被解雇的风险。

但是,如果您没有完成免费的编码课程,您将面临什么风险?

没有。您对自己没有任何影响。没有人追究您的责任。

因此,找到使自己负责的方法。

这里有一些想法:

创建一个博客,并宣布(或在社交媒体上)每周将在目标进度方面进行博客。

根据您的需要使用正或负钢筋。告诉朋友,如果您没有向他们出示完成项目的证据,您将向他们支付X钱。或者,每次您在实现编码目标方面取得进展,都会给自己带来奖励。

让自己负责。利用自己。

别无选择,只能学习编码。

公开学习

当我第一次学习如何编码时,我读了有关社交媒体如何影响您的生产力的书籍和文章。随后,我决定删除我的Twitter,Instagram和Facebook帐户。

尽管这确实对我有所帮助(我无法再滚动Twitter来摆脱硬编码问题),但我最终意识到使用社交媒体的好处远大于缺点。

当我回到社交媒体上并开始分享成为一名开发人员的过程时,我结识了朋友,找到了导师,获得了工作机会,并加快了学习速度。我还被告知,通过分享我作为自学成才的开发人员的经历,我启发了一些人。

你也可以做到的。

当我发布有关所学知识的博客文章或社交媒体文章时,我得到了朋友的鼓励和反馈。这种交流为我创造了一个很好的积极反馈回路。我想学习更多,以便再次分享自己的成就。

以下是一些我最喜欢的文章和播客访谈,介绍了在公共场所学习的所有好处以及入门方法:

公开学习:最快的学习方式

利用社交媒体闯入科技领域

与Tania Rascia进行职业转换和公共学习

不要害怕Google的一切。

这是我在Brian Holt观看有关Frontend Masters的出色的Web开发入门课程时听到的。许多人认为,如果必须使用Google的产品,他们并不是很好的编码人员。与此相反,正如Brian指出的那样,优秀的程序员一直都需要Google的东西。

在编写代码时不要害怕Google的事情。谷歌搜索找到答案并不会减少您成为程序员的机会。

建立您知道可以完成的项目。

作为一个初学者开始编码项目是艰巨的。该项目看起来如此庞大,您会觉得好像永远无法完成它。您失去了启动项目的动力,您不知道能否完成。

解决方案?

尝试构建有一定信心可以完成的项目。建立可以扩展您技能的项目,但在能否完成项目上要切合实际。看到完成的项目将有助于激发您继续进行编码之旅。

如果你不知道如何启动一个项目还没有,这个文章我写了从教程移动到编码的项目可能会有所帮助。

建立不可能的项目。

那就是。我的一个好朋友曾在一些最大的科技公司工作,他曾告诉我说,他感到自己作为开发人员的大部分成长都来自建立所谓的“不可能”项目。

他会对要构建的东西有一个主意,然后他便着手去做。尽管建立这些想法似乎是不可能的,但他非常激动,以至于他试图找到一种方法。因此,发生了很多学习。

如果您一直在构建和完成项目,请尝试选择您真正梦想构建的项目,即使感觉无法构建。

凭借对这个项目的热情,您也许能够准确地构建自己想要的东西,或者至少在此过程中学到了很多东西。

寻找导师和您的社区

让导师接你的最无效的方法之一是给某人发疯的消息,并问“你愿意成为我的导师吗?”

与您聊天的人可能已经有很多要求成为导师的请求。如果他们是那种在业余时间免费指导某人的人,那么他们可能已经有几名受训者,不能再另当别论了。当您说“您愿意成为我的导师”而没有具体细节,也没有真正的计划时,您就是在通过确定下一步该做什么使导师提前做更多的工作。可以真正帮助您的人可能不会说“是”。

那么如何找到导师呢?

有很棒的平台,例如CodeMentorCoding Coach。Udacity或Treehouse等计划中也有教练。

您还可以通过提问,讨论您正在学习的知识以及在论坛和诸如StackOverflow之类的地方与他人进行互动来找到导师。

在您周围建立社区可以帮助您在学习编码的过程中获得极大的帮助。这里是一些我最喜欢的在线编码社区:freeCodeCamp。CodeNewbie开发,Stackoverflow,Reddit。

我还在今年年初启动了CodebookClub,这是一个由经验丰富的开发人员组成的免费社区,他们可以一起学习。我们举办现场在线会议,并提供技术书籍以及教程。

不要亲自处理您的错误。

我经常看到新开发人员编写代码,遇到错误,然后说类似“ U!当然,我遇到了这个错误,我很愚蠢”,或者“我似乎遇到了很多错误,我不确定是否要切入编程领域。”

是的,您写了一个错误-我们都做。您的代码中的错误并不意味着您不会沦为开发人员。我再说一遍:编码时的错误并不意味着您不会成为一名出色的开发人员。它们是编码过程的自然组成部分。

想想您最喜欢的视频游戏。当您几次未通过游戏时,您是否想过“ 也许我不是要成为视频游戏玩家 ”?可能不会!多次失败,然后掌握该级别,然后转到下一个级别。

不要亲自处理您的错误。向他们学习,继续前进。

保持连胜。

Joltin’Joe DiMaggio和体育史上最著名的连胜纪录。

当我第一次学习编码时,我休息了一个星期。回到编码时,我觉得我是第一次再次接触到该语言。一旦我在编码方面稍事休息,重新使用它就变得更加困难。

我妈妈建议我开始连胜编码。编码每个。单。天。很多时候,我对代码感到疲倦或无动力,但我不得不继续努力。所以我会编码-即使只是五分钟。因此,即使在我真的不喜欢它的日子里,我仍然朝着自己的目标迈出了一小步。这种动力使我一直走到终点。

保持连胜!

紧跟当前软件工程趋势的12种方法

https://www.freecodecamp.org/news/12-ways-to-keep-up-with-software-engineering-trends/

我经常被问到如何才能跟上软件工程领域的趋势。所以我写这篇文章:

  1. 作为我将来遇到的任何问题的答案,以及
  2. 作为备忘单,因为我变老了,而你永远不知道:)

为了将来参考,我将这些主题分为基于时间的类别。这些类别将指示您需要多长时间检查一次资源。

因为-坦白说-与其他人相比,有些人没有多少时间去跟上潮流。像新父母一样,他们的时间比任何人都要少。虽然每天阅读三个小时来磨练您的手艺是一个好主意,但对于许多人来说这并不可行。

因此,让我们开始吧!

每年几次

调查结果

各种学习组织每年进行一次调查并发布结果一次或两次。这些调查以高质量和有趣的方式显示了计算机科学许多领域的趋势。

没有比StackOverflow的调查更好的例子了。还有其他一些播放器,它们可以完成hired.compacktpub之类的优质工作。

值得深入研究它们并分析他们有趣的数据见解。您可以快速了解这些站点背后的大型社区如何看待这一领域。

12月下旬或1月初的预测帖子

这几乎是陈词滥调:从12月15日到1月30日,您将无法摆脱“ X年前N大软件开发趋势”之类的文章。

这是了解其他人学习和从事的工作的好方法,但我认为他们可能很主观,可能不会吸引所有人。但是每个开发人员都不一样,因此请先尝试一下。

这不是一个详尽的列表,因此请随时在下面添加其他有趣的资源。我的最爱是:

这些是一些最受欢迎的自学平台,因此它们总是共享新的东西。

每几周一次

思想作品

思想工作的顾问提出了严肃的报告。我喜欢标签“采用”,“试用”,“评估”和“保留”,而不是您可以找到的所有流行词。如果您想坚持一个技巧,就应该这样。

聚会和您的社交/专业圈子

您是否去过聚会上讨论他们过去十年的事情?我也不!

很容易不知所措,所以选择一对,不要错过任何一个话题。

通常,演讲者会谈论他们在工作所在的公司使用的技术。如果您想为公司工作,这将是一个很好的机会,了解该公司的运作方式并获得见解。(当然,也总是有Glassdoor。)。

更不用说您可以认识的人以及所有免费的披萨。

同样,请勿低估您的社交和专业圈子。是的,软件人员聚集在一起……如果您让自己与众不同,那么您可能是例外,而不是规则:)您雄心勃勃的同事在他们的议程中总会有一些新奇而有趣的东西要学习。

因此,请确保您交换想法。您将享受它并从中受益。这意味着您应该始终以具有高质量工程文化的公司为目标。

Google快讯

如果您想专注于一些技术,我发现的最好的被动方式是google alert

您订阅了自己喜欢的字词,并且当新的重要结果被索引到您字词的google结果中时,就会收到一封电子邮件。

就像有人每天为您搜索几次,例如“ python3 Django”。

GitHub探索

Github的探索和后续页面(例如趋势)可以一眼就指出开发人员正在做什么。

在撰写本文时,最流行的结果是关于区块链,机器学习和Python的。我认为这些结果代表了该领域当前趋势的很大一部分。

Infoq报告

这是另一个很棒的资源。

我将其归类为Thoughtworks,尽管它们对知识的结构不同。

在他们的主页上,他们显示了一些趋势领域。他们的文章很容易是会议演讲或迷你书,更不用说他们不时赠送的一些电子书了。

您可以查看他们的2020年趋势文章,以大致了解您会发现什么。

每周多次

博客平台的摘要

我的最爱,没有特别的顺序,是dev.tohackernoon.comfreecodecamp.com

您可以每天访问他们,也可以使用他们的文章摘要功能(通常每周一次)。

当这些平台基于人群信息模型工作时,如果有足够重要的东西,您会发现很多关于它的文章。

Dailynow.co

可悲的是他们只有一个浏览器扩展。每日是基于人气的新闻源。您只需打开浏览器上的新标签,即可轻松发现每日趋势和高质量文章。

从个人经验出发,总是很高兴看到您的文章排在第一位。

Hackernews和程序

我不能让社交新闻之王脱颖而出。人们对这两者有不同的感觉(主要是从行为方面考虑,因为评论的范围可能从侮辱和拖钓到对该主题的严肃看法)。但是,如果尝试,您可以提取价值。

Twitter趋势(或其他社交媒体的趋势)

正如我在之前的一篇文章中所写的那样,社交媒体可能会被妖魔化,但是您需要建立一个很好的圈子并从中受益。

我亲自跟踪发现有有趣作品的任何公司,作者或演讲者。

我建议您专注于Twitter和LinkedIn,因为根据我的经验,它们往往更适合此目的。

时事通讯

我将向任何能向我证明他们从未订阅过技术通讯的活跃开发人员支付10欧元。这些新闻无处不在。

这些新闻通讯的作者为您付出了艰辛的努力,并从趋势中汲取了泡沫。

我最喜欢的是tldr更好的devcodeproject和最近添加的Dev每周

结论

感谢您阅读本文。希望您喜欢上面的提示。如果您有其他任何提示,请随时将其放入评论中。阅读愉快!