Have you ever been faced with learning a new thing and it was like staring into the abyss? Everything seems complicated and confusing, and you keep going down rabbit holes that end with more questions than answers. This was how I felt trying to dive into a project on a completely new tech stack until I figured out how to fix my approach.
Before, I started without a clear direction. I knew what my goal was, but that felt like oceans away from how to get started and so I just threw myself in and tried to untangle everything from the middle. If you’ve ever tried untangling a knot, you’ll know that just going in and pulling on things at random often creates a bigger knot. This was how I felt except instead of string, it was information.
Through a combination of trial and error and guidance from some senior devs, I managed to figure out how to achieve my goals. I also learned how to approach this kind of situation in a better, more focused way. The trick? Start with the essential.
If you’re starting from scratch, identify what the most basic but essential piece is and start with that. If you’re joining a project that’s already in progress, start by understanding what the core function is. What does this do at the simplest level? Not, all the things it can do or could be made to do. Just what does it currently do. Then, understand why.
Understanding the essential feature/purpose of a project and why it’s important helps you with everything else going forward. You don’t need to know every single detail of every thread or every potential feature. You just need to know what the thing is at it’s most basic level, why it exists in the first place, and what you are trying to accomplish.
Starting with the core logic aka the essential, helps you build a solid foundation of understanding. Once you have this foundation, it’s a lot easier to organize your thoughts and questions around your goal. This can save a lot of time if you know you don’t need to go down rabbit hole A, but you do need to explore rabbit hole B. In other words, it’s important to understand what you don’t need to know so you can focus on learning what you do need to know.
Writing this felt a little bit like a rabbit hole all on its own so let me know if you have any questions or any suggestions on how I could have explained this better. (It’s a lot harder to explain things in abstract terms.)
What’s your process for tackling complex new projects?
0 Comments