As fast as possible
When you must learn something new to achieve a goal, it is tempting to do it as fast as possible (AFAP). A typical AFAP workflow is as follows:
- Identify a project
- When faced with a problem, google the EXACT (specific) problem.
- Throw it in, modifying to make it work in your circumstance.
This workflow is flawed and is never the right thing to do for the following reasons
- You will not learn. When going AFAP, you will not stop to understand how and why something works; Instead all that matters is that it does work. As a result, you will not learn how to do a similar thing on your own, creating a vicious cycle.
- You waste time. In the long run, you will actually be wasting time by going AFAP. You will spend time googling the problem that you could have already solved, finding various answers, modifying each one for your circumstance, and testing them.
- You will be left with a mess. Chances are, when you are going AFAP you will not stop to think about best practices. This will leave you with code spaghetti :spaghettiCode: that barely works. When you want to expand it, you might need to refactor or add code to multiple parts. When you come back to your code later, it will likely be hard to read because you did not write it. Not fun.
Instead, slow down. Smell the roses. Your project can wait. For the sake of you and the people helping you, first focus on learning what you need to do well. There are two methods, depending on the situation you are in.
- The first option is best if you do not intend to use your new skills further. By following this option, you will go slightly faster than option two - but you must be mindful while doing this to avoid going AFAP. For this, take your mega project and break it into small steps. Learn how to do one small step well, do it, than move onto the next.
- The second option is to simply stop. Instead of working on a huge project you know nothing about, think about what you need to learn and put aside the project. instead, work on micro projects with the goal of becoming proficient each thing you need for the big project.
Please, don’t go AFAP, you will thank yourself later.