Having Structure and Direction
Something I wish I knew from the very start is the importance of having structure and direction in learning and in projects. When I first started learning to code, I basically just picked a language and started learning random things in it (often through Sololearn back then). When I worked on projects, even until recently, I just sat down and started coding with whatever idea was in my mind. Now, I find myself struggling to break these habits and reform new ones centered around structure and direction, so I often find myself wishing I had done this from the start.
Structure
When I just say “have structure” it sounds annoyingly vague, so allow me to elaborate. When I say this, I mean that a project you’re working on shouldn’t just be a mess of code that you put together based on a loose idea and that you work on when you feel like it from time to time. You should sit down and genuinely take the time to ask yourself all sorts of questions first, such as:
- What is the purpose of this project?
- What tech stack do I want to use for this project and how will I learn parts of it I don’t know?
- What are the core features that make up the minimum viable product (MVP) and what are the “nice to have” features?
领英推荐
- When do I want to have this project done by?
The answers to all of these questions, and more, will give your project the foundations of its structure. You may find that the answers lead you to more questions, and you should rightly answer those too. Once you have these foundations, you can begin building the frame of your project—i.e.: in what order things need to be implemented, how you will prioritize tasks and features, and . This process may look different based on the approach/framework you use, but as of right now I try to lean more towards Agile and take everything one “sprint” (usually a week for me) at a time.
Direction
While my discussion about structure is more geared towards projects, direction is something I feel is more meaningful for learning. You will likely make minimal meaningful progress towards learning a new technology if you do not have a sense of direction. I understand that it may be difficult to get a sense of direction when you have no clue about the technology in the first place, but that’s where the community comes in clutch. One amazing resource I always love telling people about, specifically for this, is the Developer Roadmaps project started and maintained by Kamran Ahmed with contributions from various developers. It provides guidance for your learning journey and generally each node has links to valuable resources. You can also login to keep track of your progress or create your own custom roadmaps. The project has, in no way, incentivized me to speak highly of it and I do so simply because I genuinely think it is a good community resource.
Conclusion
I don’t think there is much else for me to say for this edition, but as always if you know of good resources that can be helpful to my readers, please feel free to let me know so I can check them out and include them here. Always remember that structure and direction are important.