Coding is a lonely endeavor, especially if you're just starting out. It's hard to write code, it's even harder to seek feedback. I remember my first project in Node.js — for two months straight I looked exactly like the guy on this GIF. Only my code didn't run that smoothly. It was interrupted by constant YouTube tutorials and blog posts with 5 upvotes.
I knew some basic front-end, but I needed to figure out how to set up a server, host databases on MLab and write an app, which will update visuals based on the gathered data. It was a mess.
After several weeks of self loathing and distress, I've finally made it. That code look clunky, but it worked. Since it was a quick school project, I never found out what are the ways to improve it. I needed someone to review my code and give me feedback, but I was alone.
And if you google, there are tons of advice out there on getting a code review:
Posting your GitHub repo to Code Review Stack Exchange
Exploring subreddits like /r/critiquemycode or /r/codereview
Joining a friendly Discord Server and looking for help there
Doing pair programming while working on the same project with a friend
Yet, it's really hard to approach someone for help and share your code if you know that your project performs like this tractor. That's why in the very beginning I've just kept silent and made crappy projects.
Well, that's okay to make mistakes, but without any code review your memorize those bad patterns and it's hard to change them in future. This thought kind of stuck in my head for years, but I didn't find a solution myself. Instead I asked one of the senior students for help and received some advice on using sockets – the concept I knew nothing about, so it led to even more googling and more tutorials.
Several years later I joined Practicum and we set up the following process for students so they can receive feedback from day one. We researched some of our pain points and wanted to address them in this concept:
🚀 Students send their repos for a code review after each project
🚀 Their GitHub account gets connected to Practicum, so after updating code students just click on a button and send their work to a reviewer immediately
🚀 After project is reviewed line by line, a professional developer leaves comments for each student
🚀 Students get 4 iterations of code review per project
🚀 If students feel stuck they can ask a tutor for help or study material before sending their work for another review
Looking back I'd imagine that such process would help me a lot when I was just starting out. I would avoid some frustration and didn't spend so much time watching YouTube tutorials.
What was the first time you got a code review? How would this change your learning patterns if you received it earlier?
For those who made it to the end of my rant, Practicum is live on ProductHunt today, so feel free to stop by for more info about us and a get promo code to dive into Web Development 🙌