Back to Articles

Escape Tutorial Hell: How to Think of Projects


Quick Points

  • Watching lots of tutorials feels good but doesn’t help you
  • You don’t need another productivity hack
  • Start small
  • During your day to day, listen for yourself to think “oh thats cool” or “I wonder how x works”

Outline

  1. The Ease of Access to Tutorials
  2. But I Don’t Know What to Build
  3. Leading by Example
  4. Conclusion

The Ease of Access to Tutorials

If you are anything like me, you have lost plenty of hours to the YouTube wormhole while learning things. It’s so easy to get caught up in the idea that this research is useful and, even though the same three to five things are always said time and time again, we can’t help but think “maybe this next video has something I haven’t heard of yet.” I won’t argue that, at the very beginning of learning something, a tutorial here or there can be great. Especially if you are trying to choose a tool. But at some point, this research changes from being helpful to simple procrastination. I challenge you to, next time you are learning something completely new, watch a single tutorial and then go implement it. Don’t let the wormhole take your time feeling productive. Go and be productive.

”But I Don’t Know What to Build”

I’ve struggled a lot with this one. I’ll see a cool new language or a feature in a language I know that I have never used and think “I want to play with that.” But building an API with a GET, POST, and DELETE endpoint for a single entity can only be done so many times. So how do you figure out how to practice? I’ll say: it’s hard to do on the fly. Every time I wanted to try something new, I’d get stuck thinking of something to build and then I just… wouldn’t. Your energy and excitement wanes and you go back to scrolling your mind-rot of choice. The solution I have found that works for me is simple.

Keep a simple document of ideas.

Real paper, phone, .txt, .docx, .md, whatever is fastest and easiest for you but keep it handy. Then, during your day-to-day, whenever you have an idea that starts with any of the phrases below, write it down.

  • I’d like to know how X product/process works?
  • How did they implement that?
  • I kind of wish X tool existed.
  • It would be neat if X did this instead…

Then, when it comes time for you to try a new language, a new CLI, tool, etc., you will have some ideas to think about. Obviously not all your ideas will apply to every tool. It would be hard to implement an nginx-like reverse proxy using the Obsidian CLI… but you’ll have a list to think about and get your mind moving. Then just pick the one that sounds most interesting!

Leading By Example

We all know talk is easy so I’ll start. Below are a few projects that I want to implement and my reason for doing so. With any luck, I’ll be able to return to this article in the future and provide links and possibly more articles on each of these projects.

  • nginx reverse proxy type process to handle connections
    • Learn sockets and their handling
    • Improve my multi processes/multi thread abilities
  • Simple UDP socket client/server
  • I use TCP sockets all the time but never UDP. I want to better understand the trade-offs
  • Basic Git Implementation
    • I want to understand how the tool we all use everyday works
  • Build a basic load testing tool
    • One, these tools are just useful and having a home built one made for my needs would be awesome
    • Another chance to improve multi threading abilities
  • Basic Chess Game and a simple A.I
  • Chess and Chess AIs have been around forever and I want to understand them better as well as play with efficient ways to handle pieces that can all have different move sets and uses
  • Snake Game
  • Who doesn’t like Snake? And it’s a fun, easy game to build to understand the basics of game programming
  • MCP Server
  • AI and its needs have given rise to these and I only understand them at a basic level. I want to understand them more deeply so I can possibly build useful ones in the future

Conclusion

Tutorials are wonderful things. They can help the understanding of basic concepts and give you a starting point for your own journey. But watching/reading them can be addictive and their returns start to drop off fairly quickly. The only way to truly learn something is to do it. So make your list of fun projects and things you want to understand, and then build them! It will make you a better engineer and give you an appreciation for the complexity of even the smallest projects. And who knows, maybe once you’ve built it, you can make a tutorial on how you did it!