自学成才翁_自学成才的开发人员指南,学习如何编码

自学成才翁

So you want to learn to code? My personal advice would be to attend a bootcamp, because they offer a structured curriculum, mentors, dedicated learning time, collaboration and networking between students.

所以您想学习编码? 我个人的建议是参加训练营,因为它们提供了结构化的课程,导师,专用的学习时间,学生之间的协作和网络。

Unfortunately, not everybody who wants to learn to code can afford the money and time commitment that a bootcamp requires.

不幸的是,并非每个想要学习编码的人都能负担得起新兵训练营所需的金钱和时间。

Luckily, there's an alternative that many prominent software developers have chosen: the self taught route. When teaching yourself to code, you learn on your own schedule using free or paid online / offline resources.

幸运的是,许多著名的软件开发人员都选择了一种替代方法:自学路线。 教自己编码时,您可以使用免费或付费的在线/离线资源按自己的时间表学习。

But in order to be successful on this self learning route and jump from beginner developer to junior developer quickly, you will need to incorporate some of the magic of bootcamps into your self taught journey. In this article, I’ll be sharing how you can do that.

但是,为了在这种自我学习的道路上获得成功并Swift从初学者发展为初级开发者,您将需要将一些训练营的魔力纳入您的自学旅程中。 在本文中,我将分享您如何做到这一点。

Before we get started, you should know that this article was originally a talk I gave at the Developers In Vogue MTB session. I decided to turn it into an article for more accessibility after receiving some good feedback.

在我们开始之前,你应该知道,这篇文章原本是我给的开发商在时尚MTB会议。 在收到一些好评后,我决定将其转为一篇文章,以提高可访问性。

So grab a cup of coffee or your favorite soda, get a pen and notepad, and jot some notes down. I’ll also be dropping some random quotes here and there, so brace yourselves 😊.

因此,请喝杯咖啡或您最喜欢的苏打水,拿起笔和记事本,然后写下一些笔记。 我还会在这里和那里放一些随机引号,所以请准备好自己。

那么如何开始呢? (So how do you get started?)

There are five phases you should go through when teaching yourself to code:

教自己编写代码时,应该经历五个阶段:

  1. Pick a niche.

    选择一个利基。
  2. Find structured learning resources for your niche.

    查找适合您的利基的学习资源。
  3. Learn.

    学习。
  4. Build something, anything!

    建造任何东西!
  5. Network.

    网络。

Let's go through each phase in more detail.

让我们详细介绍每个阶段。

选择一个利基 (Pick a Niche)

If you want to succeed, limit yourself.

如果您想成功,请限制自己。

When starting out on your self taught developer journey, it's important that you pick a niche. This makes sure that you don't overwhelm yourself. It limits your learning and gives you the opportunity to devote your attention to a small subset, so you can create an entry point.

在开始自学的开发人员之旅时,选择合适的位置很重要。 这样可以确保您不会压倒自己。 它限制了您的学习,使您有机会专注于一小部分,因此您可以创建一个切入点。

Software development is very versatile and comes in different forms. Start by getting an overview of what programming and software development in general involves.

软件开发的用途非常广泛,并且以不同的形式出现。 首先概述一下通常涉及的编程和软件开发。

Here are 2 good resources to give you an overview of what programming and software development careers are all about.

这里有2个很好的资源,可为您概述编程和软件开发事业的全部内容。

After you’ve gotten a general overview, you should do some inner questioning to settle on a field that really excites you. Answering the questions below should help pick your niche.

大致了解之后,您应该进行一些内在的提问,以解决真正让您兴奋的领域。 回答以下问题应有助于选择合适的人。

  • What do you hope to achieve by learning to code? Do you want to make money freelancing, get a good job, or build your startup idea?

    您希望通过学习编码实现什么? 您想赚钱自由职业,找到一份好工作还是建立起您的创业想法?
  • What kind of systems do you want to build? Web (front end or back end), mobile (Android or iOS), desktop, embedded, data analytics, and so on.

    您要构建哪种系统? Web(前端或后端),移动设备(Android或iOS),桌面,嵌入式,数据分析等。

This doesn’t mean that you can’t try out new fields or experiment later on in your career, but get started with one.

这并不意味着您不能在职业生涯中尝试新的领域或稍后进行实验,而可以从一个领域开始。

查找适合您的利基的结构化学习资源 (Find structured learning resources for your niche)

Congratulations on picking a niche amidst all the choices out there.

祝贺您在所有选择中选择了一个细分市场。

The next thing to do is to come up with a progressive list of topics/technologies you need to learn for your niche and find structured learning resources on those topics.

下一步要做的是拿出一份循序渐进的主题/技术列表,您需要针对特定​​领域学习这些知识/技术,并找到关于这些主题的结构化学习资源。

When deciding which learning resource to go for, choose those that have structural progression and code along exercises for practice. Be sure to take note of these points below:

在决定要使用的学习资源时,请选择具有结构上的进步和遵循练习的代码的知识。 请务必注意以下几点:

  • What languages and technologies are used in this field? Make a list of the minimum you need to learn to achieve your goal from the previous step. The emphasis is on minimum here, simply because you shouldn’t wait to learn everything in your chosen field before taking the first step towards your goal. You’ll be waiting a really long time.

    该领域使用什么语言和技术? 列出您需要从上一步中学到的最低限度的清单。 这里只强调最低限度,这仅仅是因为您不应该在迈出第一步之前就等着学习所选领域的所有知识。 您将等待很长时间。

  • What tools do you need? Find out the tools you need to learn. A code editor? Some software? Go ahead and install them.

    您需要什么工具? 找出您需要学习的工具。 代码编辑器? 一些软件? 继续安装它们。

  • What’s the learning order? Most fields require that you learn one tool/language first before another. Remember to always start with the fundamentals and move on from there.

    学习顺序是什么? 大多数领域要求您先学习一种工具/语言。 记住要始终从基础开始,然后从那里继续前进。

If you have any further questions regarding a particular niche, you can use Twitter or Facebook to find people who are active in the niche you’ve chosen. Drop them a message and get straight to the point on what they can help you with. You’ll be amazed how much people in the tech community are willing to help.

如果您对特定的利基市场还有其他疑问,可以使用Twitter或Facebook查找活跃于所选利基市场的人。 给他们留言,直接告诉他们他们可以为您提供哪些帮助。 您会惊讶于技术社区中有多少人愿意提供帮助。

For Twitter, here is a thread listing active people in different tech fields on twitter that you can follow and are open to answering questions related to their field by Hacksultan.

对于Twitter,这是一个线程,其中列出了 Twitter上不同技术领域的活跃人士 ,您可以关注它们,并可以回答Hacksultan与其领域相关的问题。

And you'll find a list of great free learning resources at the end of this article.

您将在本文结尾处找到大量免费的学习资源。

学习 (Learn)

“If you chase two rabbits, you will not catch any”.

“如果您追逐两只兔子,您将不会抓到任何兔子”。

Great, you’ve done it. You’ve figured out what you need to learn to smash your goals and you’ve also found a learning resource to use. Now it's time to learn those things sequentially, not simultaneously.

太好了,您已经完成了。 您已经找到了粉碎目标所需的学习知识,并且还找到了可以使用的学习资源。 现在该顺序学习这些东西了,而不是同时学习。

始终如一 (Be consistent)

The first thing to do is to set aside time for your learning. Set a specific time every day during your daily schedule within which you’ll learn and be selfish about it.

首先要做的是留出时间进行学习。 在您的日程安排中每天设置一个特定的时间,您可以在其中学习并自私。

Two hours of learning every day is a lot better than 15 hours of learning in one day, per month. Here, consistency is key. You want to learn to get a job? Then you’ve got to learn like it's your job until you get one.

每天两个小时的学习比每月一天15个小时的学习要好得多。 在这里,一致性是关键。 您想学习找工作吗? 然后,您必须先学习它,这才是您的工作,直到找到一份为止。

设立目标 (Set goals)

Also, for effective learning, you have to set weekly goals so you can hold yourself accountable.

此外,为了有效学习,您必须设定每周目标,以便对自己负责。

Studies have shown that people who consciously set goals are more likely to achieve things. And people who go the extra mile of writing down those goals are most likely to get things done.

研究表明,有意识地设定目标的人更有可能实现目标。 而那些努力写下这些目标的人最有可能把事情做好。

What do you want to know or be able to do at the end of the month? How will you structure your learning per week to be able to achieve that? Write it down.

您本月底想知道或能够做些什么? 您将如何组织每周的学习以实现这一目标? 写下来。

保持专注 (Stay focused)

It's also important that you remember to focus on your outlined learning plan and your chosen learning resource.

同样重要的是,记住要专注于概述的学习计划和所选的学习资源。

In the tech-sphere, there’s always a shiny new object - something new to learn. Don’t get carried away or overwhelmed, that’s why you’ll be needing a lot of focus. One completed tutorial is better than 10 sampled tutorials.

在技​​术领域,总是有一个闪亮的新对象-需要学习的新东西。 不要气carried或不知所措,这就是为什么您需要集中精力的原因。 一个完整的教程比10个示例教程要好。

建立东西! 什么都可以 (Build Something! Anything.)

"The difference between you and those with talent is practice; a lot of it."

“您与有才干的人之间的区别是实践;很多方面。”

As a beginner developer, it's easy to get stuck in the tutorial zone, or "tutorial hell". A lot of people get stuck there, and stay beginners for way too long. This is where you watch tutorial after tutorial without ever getting your hands dirty.

作为新手开发人员,很容易陷入教程区域或“教程地狱”。 很多人被困在那里,并且对初学者的停留时间过长。 在这里,您可以不停地观看本教程。

Building projects is not mutually exclusive to the learning phase. You have to constantly iterate between learning and building because learning never actually ends.

建设项目并非在学习阶段是相互排斥的。 您必须不断地在学习和构建之间进行迭代,因为学习从未真正结束。

This is why I emphasized choosing learning resources that feature a lot of code-along projects to get you started practicing. Make sure to code along and not just watch. This helps you get started making something.

这就是为什么我强调选择具有很多代码项目的学习资源来使您开始练习的原因。 确保编码,而不仅仅是观看。 这可以帮助您开始制作东西。

One way to get some practice is, at the end of every module, think of features that you can add to the project that you’ve coded. Just try to build something with the new knowledge that you have gained.

一种练习的方法是,在每个模块的最后,考虑可以添加到已编码项目中的功能。 只需尝试使用您所获得的新知识来构建一些东西。

It doesn't have to be too fancy. The most important thing is that you write code, run into errors, google how to debug it, and gain more understanding. Practice solidifies knowledge, so practice. 1 completed project is better than 10 watched tutorials.You can use google to find project ideas, or check out these fun ones.

不必太花哨。 最重要的是,您编写代码,遇到错误,google如何调试它并获得更多的了解。 实践可以巩固知识,所以可以实践。 1个完成的项目比10个观看过的教程好。您可以使用Google查找项目构想,或查看这些有趣的构想。

网络 (Network)

To network simply means to learn in public and put yourself out there. You don’t stand to gain much if you’re a silo. So, how do you put yourself out there?

联网只是意味着要在公共场合学习,然后将自己放在外面。 如果你是一个筒仓,你将不会获得太多收益。 那么,你如何把自己摆在那里?

加入社区并参加聚会 (Join a community & Attend Meetups )

A community challenges you and inspires you at the same time. You become aware of people who are in the same field as you are, with the same struggles you have. You’ll also get the opportunity to collaborate and form lifelong friendships.

社区会挑战您并同时激发您的灵感。 您会意识到与您在同一个领域,并且在同样的斗争中奋斗的人们。 您还将有机会合作并建立终身友谊。

Here is a list of some global remote tech communities you can join by Bolaji Ayodeji. Also look for local communities in your city too.

这是Bolaji Ayodeji 可以加入的一些全球远程技术社区的列表 。 也要在您的城市中寻找当地社区。

推销自己 (Sell yourself)

Opportunity no longer comes to the most qualified – it goes to the most visibly qualified.

机会不再是最有资格的人,而是最有资格的人。

Selling yourself means talking about yourself and what you’re currently doing. This gives you more exposure and could open up a lot of opportunities for you.

推销自己意味着谈论自己和当前正在做的事情。 这会给您带来更多的机会,并可能为您带来很多机会。

Set up a GitHub account and push code there. Start a twitter account and talk about what you’re learning or building.

设置GitHub帐户并将代码推送到那里。 创建一个Twitter帐户并谈论您正在学习或正在构建的内容。

问问题 (Ask questions)

Asking engaging questions is another way to network and introduce yourself to other people. There is really no shame in asking questions.

提出引人入胜的问题是建立联系并向他人介绍自己的另一种方式。 问问题确实没有羞耻感。

If you get stuck on a particular problem, use social media and your physical connections to your advantage. Learn to slide into people's DMs and emails. The only reason you may not get a reply is if you don't know how to word your request well.

如果您遇到某个特定的问题,请使用社交媒体和身体上的联系以发挥自己的优势。 学习滑入人们的DM和电子邮件。 您可能不会得到答复的唯一原因是,如果您不知道如何正确表达您的请求。

Tip: When reaching out, it’s best to send a few prepared questions as opposed to just sending a ‘Hi’ and asking for their time.

提示:伸出手时,最好发送一些准备好的问题,而不是仅发送“ Hi”并询问他们的时间。

You should put together a list of questions that will answer the challenges you’re currently facing. You’re more likely to get a response if someone knows upfront what kind of time commitment they’re making.

您应该列出一系列问题,这些问题可以回答您当前面临的挑战。 如果某人预先知道他们在做出什么样的时间投入,则您更有可能获得回应。

A sample message could be:

样本消息可能是:

Hello, my name is <insert name here>, I hope you’re doing fine. I have been seeing your content for a while and I see you’re knowledgeable in <insert field here>. I’ve been trying to understand <insert challenge here>. I have tried <insert approaches you've taken to try to solve your challenge> Could you help <insert what you need>. Thanks.

您好,我叫<在这里插入名字>,希望您一切都好。 我已经看到您的内容已有一段时间了,并且我知道您在<插入字段此处>方面的知识渊博。 我一直在尝试理解<在此处插入挑战>。 我已经尝试过<插入您用来解决挑战所采用的方法>是否可以帮助<插入所需内容>。 谢谢。

结论 (Conclusion)

I hope this article has brought some clarity to your journey on learning to code as a beginner.

我希望本文能使您入门学习编码的过程变得清晰。

One last thing: coding is difficult, and learning on your own can be even tougher. You’ll definitely come across some bad days.

最后一件事:编码很困难,而独自学习可能会更加困难。 您肯定会遇到一些糟糕的日子。

Just remember to go easy on yourself on days when things don’t make any sense. In the long run, your consistency and perseverance towards learning will definitely pay off.

只要记住,在事情没有任何意义的日子里放松自己即可。 从长远来看,您对学习的坚持和毅力肯定会有所回报。

Now go on and be great!

现在继续前进,变得很棒!

Here is that list of free learning guides/resources for different fields that should help you get started.

这是针对不同领域的免费学习指南/资源列表,可帮助您入门。

Front end Web Development:

前端Web开发:

UX Design:

用户体验设计:

Back end Web Development:

后端Web开发:

Android Development:

Android开发:

iOS Development:

iOS开发:

Data Science:

数据科学:

Cloud & DevOps

云与DevOps

If you enjoyed this check out my blog my blog and follow me on twitter and drop me a DM.

如果您喜欢这个,请查看我的博客我的博客,并在Twitter上关注我,并给我发DM。

翻译自: https://www.freecodecamp.org/news/the-self-taught-developers-guide-to-coding/

自学成才翁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值