官术网_书友最值得收藏!

Getting past skill plateaus

Over the years I have witnessed a few key reasons why individuals (and myself) run into skill plateaus.

Proper information/resources

When a student lacks access to proper information, it makes learning a more arduous process. Imagine a talented developer in high school who had been relying on her teacher (who had limited skill). In cases like this, the student will need to find additional resources, such as online courses, that will help teach her concepts she's never been taught before.

Best practices

During a phase of the learning cycle when best practices are the focus, students may feel like they are hitting a learning plateau. I remember when I was first learning about test-driven development. The concept seemed counterintuitive. I would spend 2-3 times the amount of time on a feature. And this became incredibly frustrating. It felt like I wasn't learning anything new because my new knowledge wasn't affecting anything on the screen.

However, this phase isn't actually a skill plateau. There are many times where developers need to take a step back and focus on quality over quantity when it comes to building applications.

My advice for going through this phase is to embrace it. Be patient. As soon as you have a firm understanding of how the best practices can be utilized, you'll be able to move onto learning new concepts. The only difference is that now you will be able to leverage your new skills, the result being that you'll be a more refined developer.

Challenging/new tasks

In my experience, the main cause of students hitting a skill plateau is when they stop challenging themselves. If you remember back to when you were first learning development, it seemed like your knowledge was skyrocketing each day.

The reason for this was because each of the concepts you were learning were completely new to you. However, after a certain period of time it seems like it's natural for us to want to become comfortable. Instead of trying to learn something new each day, we simply try to duplicate the work that we've done up to a certain point.

This approach is less taxing mentally. However, it has the nasty side effect of limiting how we improve. Whenever I feel like I'm getting into a rut, I will look at popular websites and I'll start to put together a list of features that I want to learn how to build. From that point, I can put a plan together for what concepts I need to learn in order to implement them.

Frustration = skill

One of my favorite illustrations of getting past skill plateaus was made by the calligrapher, Jamin Brown:

Notice in this illustration how the learning process is filled with plateaus? This is a natural component when it comes to improving at any skill.

But also notice that the key to overcoming a plateau is called the Frustration Zone. I think that's a great name for it. Learning complex topics is not easy. As you've probably heard countless times, "if it were easy, everyone would do it".

Becoming a developer can be one of the most rewarding experiences that someone can have. And part of what makes learning how to code so fulfilling is how many challenges you'll need to overcome to succeed.

主站蜘蛛池模板: 铁岭县| 广元市| 龙山县| 东海县| 蒙阴县| 保山市| 铜陵市| 宜兴市| 海伦市| 金坛市| 崇文区| 远安县| 蒲江县| 建瓯市| 通渭县| 嵩明县| 贺州市| 建平县| 苍溪县| 达拉特旗| 米脂县| 昌邑市| 古交市| 正安县| 鱼台县| 肃北| 淮滨县| 敖汉旗| 沅江市| 巫山县| 承德市| 长沙县| 高阳县| 嘉定区| 临澧县| 普安县| 望谟县| 凤庆县| 米林县| 忻城县| 大渡口区|