I like looking at other people’s code. Said in the right voice, that could sound quite creepy. But I like to see what kind of projects they’re working on, how they implement solutions, what languages they chose to work with and how many other people are using their work. So I’ll keep looking at other people’s code. At night. Through their window. While they work.
Sometimes, I’ll just go to GitHub and search for a language or maybe a keyword having to do with something I’m doing in one of my own projects. This usually gives me a couple of hundred pages of repositories to look through. I’ll click on page 99 or 100 of the results just to “randomize” what I’m seeing a little.
Over the last couple of weeks, I started realizing that I was only searching for code in languages that I was familiar with. Within those languages, I was only really reading code that I already understood or was familiar with. That didn’t sit right with me because I wasn’t seeing anything new or interesting. I felt like I wasn’t growing as a developer. I was staying comfortable and not challenging my skills.
So I decided to do something about it. I wrote a short little Python script (and later created a more convenient JavaScript bookmarklet) that randomly selects a repository and opens it. Ok, Ok, it’s not that exciting or inspiring. Nor is it original or even useful. It has a bug or two and should probably be developed a little more to give the user more options to filter things out.
But the idea was to gain exposure to new coding styles, languages, and technologies and on those points, it is a success! I have started a weekly habit of searching randomly using the bookmarklet and whatever result I get, I force myself to read through it and try to understand it. If I think the code is interesting enough I will try to implement it locally.
If you’re interested, you can find the repository at https://github.com/RyanDavison/RandomRepo . Feel free to fix bugs, add features or anything else. If you just want to play around with finding random repositories you can drag the link on this page to your bookmarks bar and click away.