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

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.

主站蜘蛛池模板: 德化县| 兴宁市| 三明市| 太谷县| 宣城市| 武威市| 乡宁县| 岚皋县| 麦盖提县| 桑日县| 凤冈县| 三门峡市| 老河口市| 盱眙县| 永济市| 广南县| 多伦县| 安多县| 兖州市| 济阳县| 子长县| 来宾市| 商河县| 甘洛县| 宿松县| 西乡县| 武威市| 通州区| 金溪县| 贺兰县| 太仆寺旗| 宜城市| 剑阁县| 宜君县| 杭锦旗| 包头市| 宁武县| 长乐市| 呼玛县| 遂宁市| 宜城市|