开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《不拘一格 Blotter》
今日推荐英文原文:《Use the 33% Rule to Change Yourself as a Programmer》

今日推荐开源项目:《不拘一格 Blotter》传送门:项目链接
推荐理由:这个 JS 库可以帮你把文字用各种你想得到或者完全没想过的方式渲染出来,在项目的官网上就有各种各样的文字效果,包括首页上那个极度吸引人眼球(甚至到了看久一点可能会眼睛痛的程度)的标题。缺点也很明显,如果不选用字体而是自定义各种花里胡哨的效果给网页上大篇幅的文字,它们将会全部成为 canvas 元素而不能被用户像平时一样选中。
今日推荐英文原文:《Use the 33% Rule to Change Yourself as a Programmer》作者:Nuha Khaled
原文链接:https://medium.com/better-programming/use-the-33-rule-to-change-yourself-as-a-programmer-5fe296cb16a3
推荐理由:一种新的用于分配花在每件事上时间的方法,一部分用于挑战,一部分用于放松

Use the 33% Rule to Change Yourself as a Programmer

Little changes leave lasting impacts

When I was younger, I used to watch a lot of TED Talks, and I remember this talk by Tai Lopez about the 33% Rule. I loved it and I started to apply it to my programming life. I think it’s time to share it with other programmers.

What is the 33% Rule?

It basically states that 33% of your time should be spent with mentors (people that challenge you), 33% with your peers (those on the same level as you), and 33% with people who you can mentor and guide.

This idea is not just applied to “time” and “people,” it is applied to almost everything. When we’re students, it is easy to know what to do and balance this thing with the other few things we do in our life. Yet, we get older, we have more responsibilities, and more things that we want to be successful at, and there is the balance problem.

This balance problem is not just about doing all that you want to do. It’s also about staying active and alive and not falling into a routine.

So, I find that dividing what you do according to how challenging it is, is smart! So, you want to divide your time into three parts:
  • Challenging part.
  • Comfort-zone part.
  • Normal part (sometimes challenging, sometimes not).
What I love about this rule, is that it pushes you to be the action, not the reaction. It asks you to put more focus on choosing and monitoring what you are doing in life. Let’s look at some examples.

1. Projects

At the beginning of our programming life, we normally get busy with projects that challenge us. By the time we grow up older and have more experience, we start to work on stuff that’s less challenging — in our comfort zone.

To follow the 33% rule, you decide to do more side-projects that help you to stay on track. For example, if you’re an experienced programmer working full-time, instead of just working on the daily normal projects that aren’t challenging anymore, make sure to put yourself on more challenging projects as well. So, let’s say you are a web developer — start making machine learning projects with the knowledge you already have.

If you’re a fresh graduate and everything is challenging for you, try to find projects that are easy and in your comfort zone. The rule is not just about searching for challenges, it is to find the balance.

So balance your projects between:
  • Challenging: Find projects you don’t know how to do yet, and start doing.
  • Comfort zone: Do projects you are already very good at, freelance, volunteer, and try to always stay experienced at what you are already experienced at.
  • Normal part: The normal part, is the project we usually all do, sometimes challenging, sometimes noy.

2. Learning

When we are students we try to learn almost everything, but later, after graduation, we focus on just one thing. In the beginning, as a fresh graduate, you will learn a lot more, but with time you can get into your comfort zone. What I need you to do is:
  • Challenging: Learn something really new, maybe a new field. So if you do web development, start checking mobile development for example.
  • Comfort Zone: If you a Java developer, keep learning more about Java, don’t stop learning. This learning will make you more experienced. Read articles, check out courses and look at everything you can on daily basis. Steady long learning helps you go deeper and deeper in something you are already comfortable in.
  • Normal part: Learn general tech knowledge, and learn various new things that sometimes will challenge you, and sometimes no.
You will be a life-time learner who is getting deeper at what they know. Find out about new things and challenge yourself from time to time.

3. Reading

Same as learning, reading is challenging when we grow older. When we were very young, reading novels would be all that we think about. Later, we discover how useful reading is, yet we get distracted by how much we want to read. We want to read tech books, self-enhancing books, parenting books, religious books, and almost every book out there.

Even if we decide to just read programming-related books, we get confused about what to read. Should I read about clean code to get my code cleaner, or a new challenging field book, or startups? It is very frustrating to waste time choosing.

The 33% rule helped me to decide to keep more than one book open in parallel and to consider them as different activities. I read in three categories:
  • Challenging: I choose a challenging book, it would be a book that needs a great focus.
  • Comfort Zone: I choose a book that I will enjoy far away from how much it would be useful or would have a high impact. It is a book that I would read while having a headache to relax, unlike the challenging one.
  • Normal book: A book that is a mixture of both.

4. Friends

Choosing the right friends doesn’t just help you to be a better programmer, it helps you to be more balanced. Some people start to lose all social relationships with time and get stuck with work-mates only. Others don’t have friends that will inspire them in their programming field. Do yourself a favor and start thinking about your relationships as soon as you can. Divide people you know into these categories:
  • Challenging: Keep in touch and maintain a good relationship with people who mentor you — those who you return to for advice in hard times, who inspire you to do more, and who you look up to. For programming-related relationships, you can find these people as teammates where you work, in conferences, and in places where you learn, like courses or workshops.
  • Comfort-zone: This category is for friends that you enjoy being around, as simple as that. Always make sure to balance your life to meet them more and get in touch. If you want to apply this rule to programming-related people only, then let these people be those who you inspire and mentor.
  • Normal-zone: This category is for normal people you meet daily at work, courses, or even online. those people who have something to give sometimes, and something to learn from you as well.

5. Time You Spend Online

Our generation spends a lot of time online. The way we spend our time will affect how our lives turn out. Make sure to balance it. Adding things that are challenging and useful to your daily free-time routine will help you to upgrade. The key is to change how you view free time:
  • Challenging: Find time every day on things like Hackerrank, Leetcode, or any other challenging activity. Those activities will help enhance and enjoy the free time.
  • Comfort-zone: It is OK to play for some time. Make sure it doesn’t take more than 33% of your time. Chat with your friends, check out the timeline, or anything that makes you refreshed.
  • Normal-zone: Let the normal part be a part that challenges you and inspires you sometimes. Maybe reading articles, or a useful youtube channel, or anything that sometimes will be useful, and sometimes not.

下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/