为什么要做稀疏编码

by Paul Rail

由Paul Rail

为什么我每天都要编码一年,所以我也学到了什么,以及如何做。 (Why I coded every day for a year, what I learned, and how you can do it, too.)

I was looking to switch careers. The world today is not at all the same as the one our parents grew up in. Consequently, a lot of the career advice my parents gave me was simply no longer relevant to the landscape we have now.

我当时想换职业。 今天的世界与父母成长的世界完全不同。因此,父母给我的许多职业建议不再与我们现在所处的环境相关。

I had a career in a field I enjoyed, but in an industry that is dying. There seems to be only a small handful of industries that are booming today. My friends who got into the software industry seem to be quite happy with their professions. If I knew then what I know now, I would have started this process 10 years ago. I want to be where the world is heading, not where it’s been.

我曾经在自己喜欢的领域工作过,但在一个濒临灭绝的行业。 今天似乎只有少数几个行业蓬勃发展。 我进入软件行业的朋友似乎对他们的专业感到很满意。 如果我知道然后知道我现在所知道的 ,那我将在10年前开始这个过程。 我想成为世界前进的方向,而不是过去的方向。

I was determined to make this happen. Doing so meant not putting it off. I was going to start immediately, so that in another 10 years I wouldn’t look back and say “I wish I had gotten started on that a lot earlier”.

我决心做到这一点。 这样做意味着不要拖延。 我打算立即开始,所以再过10年,我就不会回头说:“我希望我早点开始了。”

So I decided to code everyday for one year. Let me tell you about my experience.

所以我决定每天编码一年。 让我告诉你我的经历。

起点 (The Beginning)

I started by doing some research on learning how to code. I found things like Codecademy and freeCodeCamp, free resources to get my feet wet. There was a lot to learn, and it was going to be a long journey that required a lot of discipline. But, I thought, the more work I put into it now, the more it will pay off later.

我首先进行了一些有关学习如何编码的研究。 我找到了诸如Codecademy和freeCodeCamp之类的东西,这些免费的资源让我不知所措 。 有很多东西要学习,这将是一个漫长的旅程,需要很多纪律。 但是,我认为,我现在投入的工作越多,以后获得的回报就越多。

And then I discovered an article talking about this challenge called #100DaysOfCode. There are two main requirements in order to complete the challenge:

然后我发现了一篇有关此挑战的文章#100DaysOfCode 。 为了完成挑战,有两个主要要求

  1. Code a minimum of an hour every day for 100 consecutive days连续100天每天至少编码一个小时
  2. Tweet your progress every day with the #100DaysOfCode hashtag每天使用#100DaysOfCode主题标签发布您的进度

So this is a system to give you structure, direction, and public accountability to keep you on track. And it seemed like a great way to motivate myself and keep up that progress.

因此,这是一个系统,可为您提供结构,方向和公共责任制,以使您始终处于正常状态。 这似乎是激励自己并保持进步的好方法。

Thus I began tweeting from my account twitter.com/PolarisTLX every day as well as on a Facebook group.

因此,我开始每天从我的帐户twitter.com/PolarisTLX和一个Facebook群组上发推文。

The idea was to code every day, turning it into a habit. You couldn’t allow yourself any excuses that you’d normally make when putting off something. This “forces” significant strides forward over time that you would otherwise take much longer to achieve, or not achieve at all.

这个想法是每天编码,将其变成一种习惯。 推迟某件事时,您不能给自己平时的任何借口。 随着时间的推移,这将“推动”重大进步,否则您将需要更长的时间才能实现,甚至根本无法实现。

There are additional benefits as well. Since coding involves concepts that continuously build on each other, if you go several days without coding, a fair amount of knowledge is lost.

还有其他好处。 由于编码所涉及的概念会不断地相互建立,因此如果您几天不进行编码,则会丢失大量的知识。

Apart from that, the founder of #100DaysOfCode welcomes you to make it your own. So to really accelerate my learning, and to make major progress towards achieving my goal of landing that developer job, I actually dedicated myself to pursuing the challenge full time, instead of just one hour per day. And after that I reached that magical 100 Day mark.

除此之外,#100DaysOfCode的创建者欢迎您自己创建它。 因此,为了真正加速我的学习,并为实现实现开发人员职位的目标而取得重大进展,我实际上致力于全职应对挑战,而不是每天仅花费一个小时。 之后,我达到了神奇的100天标记。

However, I still wasn’t job ready. There was simply a lot that I needed to learn. But I was making great progress, and I was determined to continue until I finally got that job. So I just decided to keep going to 150, 200, 250 days…

但是,我仍然没有做好工作准备。 我需要学习的东西很多 。 但是我取得了长足的进步,因此我决心继续直到最终获得这份工作。 因此,我决定继续使用150、200、250天…

主要成就 (Major Accomplishments)

And so I reached 365 days! Here are some of the major things I was able to accomplish by coding every day for a year:

这样我就达到了365天! 通过一年的每天编码,这是我能够完成的一些主要工作:

  • Completed dozens of coding tutorials, courses, and books完成了数十种编码教程,课程和书籍
  • Solved over 100 algorithms and interview coding challenges解决了100多种算法和面试编码挑战
  • Earned the “Front End Developer” and “JavaScript Algorithms and Data Structures Projects” certificates from freeCodeCamp

    获得freeCodeCamp的“ 前端开发人员”和“ JavaScript算法和数据结构项目”证书

  • Participated in a two-day hackathon, where the project was selected to be presented to the company’s board members. They then decided to push it forward to the next development stage参加了为期两天的黑客马拉松,选择了该项目并提交给公司董事会成员。 然后,他们决定将其推进到下一个开发阶段
  • Got accepted into a full time software development program with a less than 1% acceptance rate被接受的全职软件开发计划的接受率低于1%
  • Contributed to the freeCodeCamp beta expanded curriculum为freeCodeCamp beta扩展课程做出了贡献
  • Wrote course content for the Odin Project’s new Ruby curriculum to help other aspiring developers learn to code为Odin Project的新Ruby课程编写了课程内容,以帮助其他有抱负的开发人员学习编码
  • Built a working clone of Facebook, the entire back-end and front-end completely from scratch, and have it live on Heroku as one of my featured projects in my portfolio建立了一个工作正常的Facebook克隆,完全从零开始整个后端和前端,并将其作为我投资组合中的特色项目之一在Heroku上发布
  • Landed my first regular stream of income, working for a client remotely, which lead to getting hired permanently取得了我的第一个固定收入来源,远程为客户服务,这导致被永久雇用

That last point, getting a regular stream of income and that full-time position, is the highlight and the culmination of all of my previous achievements that led me to reach this point. But this is not a pursuit to be taken lightly.

最后一点是获得固定收入和全职职位 ,这是我以前取得的所有成就的亮点和最高点。 但这不是一个容易掉以轻心的追求。

绝非易事 (Not an Easy Challenge)

Leaving my previous job to pursue my goals meant that I had more time — but it also meant that I had more on the line. Many people walk into this with big ambitions and give themselves lofty goals that they can’t reach. So for many people, sticking to the recommended one hour per day is probably best.

离开以前的工作去追求自己的目标意味着我有更多的时间-但这也意味着我有更多的时间要排队。 许多人怀着雄心勃勃的雄心壮志走进了这一领域,并给自己设定了他们无法实现的崇高目标。 因此,对于许多人而言,最好每天坚持建议的一小时。

But what I’ve observed is that even with the most basic criteria, most people who try this challenge fail. Many people start #100DaysOfCode with the aspiration of getting a job as a programmer (Literally tens of thousands of people from all over the world), but few of them actually achieve their goal.

但是我观察到的是,即使采用最基本的标准,大多数尝试此挑战的人也会失败。 #100DaysOfCode最初是出于渴望成为一名程序员的愿望而来的 (实际上来自世界各地的成千上万的人),但实际上很少有人实现他们的目标。

And this is despite an abundance of quality resources and guides, many of which are even free. It’s just a simple reality that the majority of people don’t see their goals through to the end. They fail primarily due to lack of determination and excuses.

尽管有很多优质的资源和指南, 但其中许多都是免费的 。 这是一个简单的现实,大多数人看不到自己的目标到底。 他们失败的主要原因是缺乏决心和借口。

I discovered and joined many groups filled with people who were trying to learn to code. Some of them I found were:

我发现并加入了很多由试图学习编码的人组成的小组。 我发现其中一些是:

  • 30-Days-of-JavaScript30天JavaScript
  • 30-Days-of-React30天的React
  • spin-offs like 180-Days-Of-Code像180天代码这样的衍生产品
  • Slack channel groups that dedicated themselves to working through a particular coding book together with a goal of doing a chapter every week and discussing/comparing notes.松散的频道小组致力于研究特定的编码书,其目标是每周撰写一章并讨论/比较笔记。

In every one of these groups, the participants are active, enthusiastic, and determined that they will do what it takes to get that jobfor the first week.

在所有这些小组中,参与者都非常活跃,热情,并决心 在第一周内 会尽一切努力完成这项工作

Then the excuses and delays and no-shows start rapidly pouring in. The chats would get quieter and quieter, the posts and updates would become less frequent. These new mini-communities would all start off roaring like a bonfire and then quickly dim down to a candle and flicker out.

然后,借口,延迟和未出现开始Swift涌入。聊天将变得越来越安静,发布和更新的频率将降低。 这些新的小型社区都将像篝火一样开始轰鸣,然后Swift变暗为蜡烛,然后忽隐忽现。

I would often even go out of my way to try and encourage others to keep the enthusiasm and momentum going. I’d offer to help out any member that was stuck on something or needed assistance. I’d provide an alternative explanation on a concept they were struggling with (even if I wasn’t an admin or team leader).

我什至常常会竭尽所能去鼓励其他人保持热情和动力。 我愿意提供帮助,帮助那些陷入困境或需要帮助的成员。 对于他们正在苦苦挣扎的概念,我将提供另一种解释(即使我不是管理员或团队负责人)。

From my observations during a year of doing this, I estimate that out of every 10,000 people who begin learning to code online around the world every year, less than 100 endure beyond a couple of months.

根据我在进行此操作的一年中的观察,我估计全世界每年开始学习在线编码的每10,000人中只有不到100人能够承受几个月的学习。

Those that give up are not going to reach their goals. Those that are determined and keep it up are going to be the ones who get jobs.

那些放弃的人不会实现他们的目标。 有决心并保持下去的人将是找到工作的人。

那么我是怎么做到的?你怎么能呢? (So how did I do it — and how can you?)

There are several things you can do to help you stay on track and reach your goals. Some of them are described above and include:

您可以采取多种措施来帮助您保持进度并实现目标。 其中一些如上所述,包括:

  • giving your progress some structure and accountability with something like #100DaysOfCode通过#100DaysOfCode等方式为您的进度提供结构和责任感
  • setting small incremental goals and reaching them along the way设定小的增量目标并一路实现
  • pair-programming配对编程
  • finding groups to join and learn along with寻找团体并一起学习

And even though these groups did not really endure and succeed as a whole, it was still beneficial for me to join. I was not going to let the low engagement and defeats of other people around me have an impact on my own determination to continue progressing.

尽管这些团体并没有真正持久并获得整体成功,但对我来说加入仍然是有益的。 我不会让周围其他人的低参与度和失败对我自己继续前进的决心产生影响。

我做过的最重要的事情 (The most important thing I did)

You need to understand that when you have an ambitious goal like teaching yourself how to code, it’s going to require some sacrifices. You have to be willing to do that.

您需要了解,当您有一个宏伟的目标(例如,教自己如何编码)时,这将需要做出一些牺牲。 您必须愿意这样做。

My social life often took a back seat, as did my video game time, and I was not keeping up with the latest hot show on Netflix. There were also days where I really didn’t feel like it, but I needed to make “some” progress. You need to remind yourself that it’s all about delayed gratification, making short term sacrifices for long term gains.

我的社交生活和视频游戏时间通常都排在后面,而且我跟不上Netflix上的最新热门节目。 有时候我真的不喜欢它,但是我需要取得“一些”进步。 您需要提醒自己,这全都与延迟的满足有关,为了长远的利益而做出短期牺牲。

其他帮助我的事情 (Other things that helped me)

I also used WakaTime and Clockify to keep track of how many hours I spent coding each day. This gave me an additional boost of encouragement as I aimed to beat my daily or weekly average. I even ranked very high on their global leader-boards on a regular basis.

我还使用了WakaTime和Clockify来跟踪我每天花费多少小时进行编码。 我的目标是打破每日或每周的平均水平,这给了我额外的鼓励。 我什至定期在其全球排行榜中排名很高。

There is also something to be said for paying for something. For a long time, I managed to find resources that were completely free. In the beginning, I highly recommend sticking to free resources, at least for the first couple months. This will give you a chance to find out if you actually enjoy this stuff or if it is not for you. If you decide that it’s not for you, or you do enjoy it but you just can’t last past a couple of months, then you will have not lost much besides time.

支付某物也有话要说。 长期以来,我设法找到了完全免费的资源。 一开始, 我强烈建议至少在最初的几个月内坚持使用免费资源 。 这将使您有机会了解您是否真正喜欢这种东西或它是否不适合您。 如果您决定不适合自己,或者您确实喜欢它,但是不能忍受几个月,那么除了时间以外,您也不会损失太多。

But after that, I found that some paid resources are actually better than some of the free ones. And actually dropping money down on something in itself has a real motivating effect on some people who need extra motivating. Often, you are more likely to take something seriously if you have paid for it.

但是之后,我发现某些付费资源实际上比某些免费资源要好。 实际上,将钱本身投入到某些事情上确实对某些需要额外激励的人具有真正的激励作用。 通常,如果您已付款,则您很可能会认真对待。

免责声明 (A disclaimer)

I am being honest in acknowledging that I did miss a handful of days in that time period. But, I’ve always been upfront about it in my public posts. The founder of the challenge has this to say on that topic:

坦白地说,我确实在那段时间里错过了几天。 但是,在我的公开帖子中,我一直是首屈一指的。 挑战的创建者对此主题有以下看法:

“You can skip a day here and there for unplanned situations, but not more… You are allowed to miss a day (but then make it up by adding one more day to the end of the 100). The goal is to become consistent, no matter what life throws at you.” - Alexander Kallaway, creator of #100DaysOfCode

“对于计划外的情况,您可以在这里和那里跳过一天,但不能再多。。。您可以错过一天(但是可以通过在100的末尾再增加一天来弥补这一天)。 我们的目标是变得一致,无论生活如何。 -#100DaysOfCode的创建者Alexander Kallaway

The progress and the outcome is what really matters, and is the whole point of the exercise. I found it much more encouraging to just own up to missed days and continue, as opposed to resetting the counter each time. And I was going to be much more productive overall if I took days off, so long as this was only on very rare occasions, when I really needed to.

进展和结果才是真正重要的,并且是整个练习的重点。 我发现,只好错过几天再继续工作,比每次重置计数器都更令人鼓舞。 如果我休假几天,我的整体工作效率将大大提高,只要这是在我真正需要的极少数情况下。

Some of the gaps included my mom’s 60th birthday, a bachelor party camping trip, and Christmas. Otherwise there were no excuses. I coded on New Year’s Eve and New Year’s Day. I coded when I was sick, and even the morning before I went in for surgery and the day after the surgery. ?

差距包括我妈妈的60岁生日 ,单身派对露营之旅和圣诞节。 否则,没有任何借口。 我在除夕和元旦编码。 我生病时编码 甚至在我进行手术前的早晨和手术后的第二天。

You can pretty much see what days I missed right on my GitHub profile page: https://github.com/PolarisTLX. But some gaps represent time when I was in remote regions without internet access and couldn’t commit code to GitHub. But I made it a point to load a coding book onto a tablet that I made sure was fully charged before leaving. (It’s not my favorite way of learning code, but it can be nice to change the learning method up at bit and try a different medium every once in a while.)

您几乎可以在GitHub个人资料页面上看到我错过的日子: https : //github.com/PolarisTLX。 但是有些差距代表了我在偏远地区无法访问互联网并且无法将代码提交到GitHub的时间。 但我特别指出,要在离开之前将一本编码书加载到平板电脑上,以确保已充满电。 (这不是我最喜欢的学习代码的方式,但是最好一点一点地改变学习方法,并不时尝试一次不同的媒介。)

Finally, one group of days early on is missing. This happened because I deleted a GitHub repository when I got frustrated with a merge conflict, and just decided to delete the repository and replace the data in a new one. I did not realize that it would erase nearly a week of commits from the record. *table flip*

最后,缺少一组提前几天。 发生这种情况的原因是,当我对合并冲突感到沮丧时,我删除了一个GitHub存储库,并决定删除该存储库并将数据替换为一个新存储库。 我没有意识到它将删除记录中将近一周的提交。 *桌子翻转*

我的365天进度摘要 (My 365 day progress summary)

So in 365 days I have progressed through the following accomplishments:

因此,在365天内,我取得了以下成就:

  • learning how to use a code editor and making simple static web pages学习如何使用代码编辑器并制作简单的静态网页
  • building functional calculators and weather apps建立功能计算器和天气应用
  • building simple interactive 2D platform games构建简单的交互式2D平台游戏
  • getting comfortable with full-stack development with multiple languages, frameworks and operating systems, and creating a complete RESTful social networking site from scratch (where users can signup with their chosen password, post, like and comment, upload their own photos, create events, send and accept friend requests and event invites with other users etc)适应多种语言,框架和操作系统的全栈开发,并从头开始创建一个完整的RESTful社交网站(用户可以在其中使用所选密码进行注册,发布,点赞和评论,上传自己的照片,创建活动,发送和接受好友请求以及与其他用户的活动邀请等)
  • creating course material for helping other aspiring developers learn how to code.创建课程材料,以帮助其他有抱负的开发人员学习编码。

I have reached a point where potential clients and employers in the tech space now see me as an asset. I am now getting paid to code as I can create what they want, solve their problems, and offer real value. The work is paying off, and I’m just going to continue getting better.

我的观点是,科技领域的潜在客户和雇主现在将我视为资产。 我现在可以从代码中获得报酬,因为我可以创建他们想要的东西,解决他们的问题并提供真正的价值。 这项工作正在取得成果,我将继续变得更好。

I hope you enjoyed reading about my journey. I strongly recommend you to try out the #100DaysOfCode challenge. If you liked the post, please clap ? to spread the word and motivate others.

希望您喜欢我的旅程。 我强烈建议您尝试#100DaysOfCode挑战。 如果您喜欢该帖子,请拍手? 传播信息并激励他人。

翻译自: https://www.freecodecamp.org/news/why-i-coded-every-day-for-a-year-what-i-learned-and-how-you-can-do-it-too-aebe949dd178/

为什么要做稀疏编码

为什么要做稀疏编码_为什么我每天都要编码一年,所以我也学到了什么,以及如何做。...相关推荐

  1. 绝对编码和增量编码_用户体验设计师应该学习编码吗? 绝对

    绝对编码和增量编码 Even though I was trained as a graphic designer, I've never limited myself to that field e ...

  2. 火狐浏览器设置url编码_关于不同浏览器对URL编码的分析(转)

    转自:http://wdp107.iteye.com/blog/608786 先来看看三个url: url1. http://hi.baidu.com/爱宝的妍 url2. http://hi.bai ...

  3. python转换字符编码_转:Python常见字符编码及其之间的转换

    一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...

  4. base64编码_几分钟看懂Base64编码原理

    Base64简介 Base64是基于64个可打印字符(小写字母a-z,大写字母A-Z,数字0-9,符号"+","/" 再加上作为垫字的"=" ...

  5. python字符编码使用的是什么编码_不可不知的Python字符编码使用技巧(上)

    Python语言在网络爬虫领域应用的十分广泛.在爬虫的应用程序中,我们需要对网页上获取的数据进行处理,其中字符的编码.解码常常让人感到困惑:ASCII码.Unicode.字符编码什么的,很多朋友一直为 ...

  6. 手机号段对应地区编码_漫画:“哈夫曼编码” 是什么鬼?

    在上一期,我们介绍了一种特殊的数据结构 "哈夫曼树",也被称为最优二叉树.没看过的小伙伴可以点击下方链接: 漫画:什么是 "哈夫曼树" ? 那么,这种数据结构究 ...

  7. mysql不能改编码_(转)MySQL设置和修改编码问题

    mysql版本:5.7.18 一.常用查看字符集设定命令 1.查看数据库支持的所有字符集. show character set; (或 show char set;) 2.查看当前状态命令(显示结果 ...

  8. 2019年税收分类编码_通过分析112,654个编码测试,我们了解了2019年开发人员的招聘趋势...

    2019年税收分类编码 by Tom Winter 汤姆·温特(Tom Winter) 通过分析112,654个编码测试,我们了解了2019年开发人员的招聘趋势 (What we learned ab ...

  9. csv转为utf8编码_中文的csv文件的编码改成utf8的方法

    直奔主题:把包含中文的csv文件的编码改成utf-8的方法: 啰嗦几句: 在用pandas读取hive导出的csv文件时,经常会遇到类似UnicodeDecodeError: 'gbk' codec ...

最新文章

  1. perf + 火焰图分析程序性能
  2. IT 部门事件管理模式建立分析
  3. 计算机编程术语理解,计算机编程常用术语中英对照
  4. oracle在archivelog模式进行rman备份和恢复
  5. uC/OS-II系统开发笔记
  6. 如何在EXCEL中锁定表格的某一行
  7. 你看得懂的CSMA介质访问控制原理
  8. JS判断数组是否相同
  9. GitLab CI/CD 初体验
  10. 使用gsds绘制基因结构图_使用 GSDS 绘制基因结构图
  11. js截取字符串第一个和最后一个字符
  12. Notelife for Mac(笔记管理工具)
  13. 从音频提取音高以及音符
  14. 【微信小程序】微信小程序基础知识篇
  15. 电信物联网平台ctwing对接开发-平台概述
  16. 6个免费高清图库素材库,设计师、自媒体都在用~
  17. mysql导入数据出现--unknown command '\'
  18. Optitrack定位系统搭建(仅交换机,无需路由)
  19. 10、Win下,Qt更改电脑IP、子网掩码和网关
  20. git 如何提交丰富的emoji表情

热门文章

  1. HTML如何添加锚点,总结到位
  2. 知乎大V推荐!面试官6个灵魂拷问,原理+实战+视频+源码
  3. CodeForces - 869B The Eternal Immortality
  4. DStream算子讲解(一)
  5. 2016/4/19 ①单个文件上传 ②上传图片后 预览图片
  6. Windows Phone开发(46):与Socket有个约会 转:http://blog.csdn.net/tcjiaan/article/details/7669315...
  7. IIS6.0的web园--最大工作进程数
  8. 网页常用Javascript
  9. 乱花渐欲迷人眼-杜绝设计的视噪
  10. 必须使用301重定向的运用场景