I recently hired a freelancer to create my minimum viable product (MVP), and while the app functions perfectly, I'm now completely dependent on them for even the smallest updates. I find myself hesitant to make any changes for fear of breaking the app. Although I've been trying to learn coding to become more self-sufficient, going through the code feels like trying to decipher a foreign language. I'm reaching out to anyone who has learned coding later in life or from a non-technical background: how did you come to understand an existing codebase? Did you find certain strategies helpful, or is it just a matter of grinding through tutorials until it clicks? I'm feeling stuck, so any advice would be greatly appreciated!
5 Answers
Remember, it’s okay to feel overwhelmed! Everyone starts somewhere. A computer science program or even simple tutorials can help you understand concepts, rather than just following along with code. Focus on building small projects alongside learning the language your freelancer used. Also, never work on production code directly—always create backups and work in a separate branch if you're using Git!
Before making any changes, it’s essential to grasp the fundamentals of coding—things like functions, variables, and loops. As someone who’s just starting, try to sketch out the project’s structure or routing. If it's organized, you'll find it easier to determine where to make changes. Playing around in a dev environment, making small tweaks, and seeing how they affect functionality can be very revealing.
To truly understand a codebase, you need to engage with it regularly. Start by looking at the documentation and the comments in the code, as they often explain the 'why' behind decisions made by the original developer. If the freelancer didn’t set up good documentation, consider hiring them again for that—it's totally worth it! Also, practice using debugging tools to follow the flow of data and see what different sections of the code do. This hands-on approach really helps demystify things.
Yeah, documentation is so overlooked but critical! I wish I had emphasized it earlier.
Just keep practicing! The more you debug, the clearer the code will become. Follow the data through the application logic to see how it changes and interacts. It's like solving a puzzle, and as you piece it together, you'll gain a better understanding of what's happening within the codebase. Don't rush—the clarity will come with time and experience!
I appreciate that perspective! I’ll remember to be patient with myself as I learn.
One of the best ways to learn is to really get your hands dirty with the code. Don’t be afraid to break things—just make sure you backup everything first! This means playing around with the code, changing lines, and seeing what happens. It’s all part of the learning process. Also, getting familiar with version control systems like Git can shield you from mistakes since you can easily revert back if something goes wrong. Just dive in!
That’s great advice! I really like the idea of breaking things on purpose to learn. I just need to find a backup method that works for me.

Sounds like a solid plan! I definitely need to break things down more and visualize how everything connects.