admin管理员组

文章数量:1623580

为什么要做稀疏编码

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/PolarisTLX every day as well as on a Facebook group.

因此,我开始每天从我的帐户twitter/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-JavaScript

    30天JavaScript
  • 30-Days-of-React

    30天的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/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/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/news/why-i-coded-every-day-for-a-year-what-i-learned-and-how-you-can-do-it-too-aebe949dd178/

为什么要做稀疏编码

本文标签: 我也要做稀疏如何做每天都要