Introducing Zilch โ
by @bradenhs
Coding with Zilch ยท Up and Over the Learning Curve
๐ง What is Zilch? โ
Zilch is an online platform created to help you level up your coding skills with a suite of well-known games (like Table Tennis, Tic-Tac-Toe and Chess) that are built to be played by bots - bots you design and program.
โฐ๏ธ Over the learning curve โ
If you want to get good at coding - or just get started - you need to work on fun problems: problems that'll motivate you up and over the learning curve. There are endless resources out there to help with the how of coding. Those are great. They are necessary. But, engaging with those (sometimes rather dense) resources is tough when you're not driven by a compelling why. Zilch helps answer why with an array of visually stunning games that make leveling up your coding skills both appropriately challenging (no matter your skill level) and fun.
You begin by creating your first bot and opening a code editor... ๐
...then connecting that bot to Zilch with the ./connect
command...
...then heading back over to Zilch and clicking start game.
A lot of work has gone into making the entire process as smooth as possible.
Give it a try or keep reading to learn more about Zilch.
๐ The drop outs โ
A lot of folks failed or dropped out of my university's introductory coding course - many of them my roommates and friends. Something about programming a useless pizza ordering command line application that couldn't actually be used to order pizza, failed to ignite their imagination. When all you have to show for your hard work is tiny white text on a black screen performing a purposeless task its not hard to see why. These drop outs were smart. They were given abundant resources in the form of professors, TAs and textbooks to accomplish their task. And yet, it wasn't enough. Getting a good grade wasn't enough. The journey to level up their coding skills had a way of defeating everything but the strongest of motivations.
While I consider myself to be fairly intelligent, I wasn't a great student in college and honestly, if that intro to programming class had been my first exposure to code, I probably would have dropped out as well.
๐ Copy/paste loop replacement โ
My name is Braden. I'm the creator of Zilch. I'm an open source developer. I've worked in senior software engineering roles at big tech and in small startups. My career has spanned a variety of industries ranging from archaeology, to healthcare, to cybersecurity and as I've gotten further along people ask more and more for advice on how to get started with coding or how to improve their skills. In a way, Zilch is my answer to that question.
I began coding as a teenager with Flash. Back in the early 2010s Flash was the platform that powered most of the internet's in-browser games. I had a class in middle school that taught animation with Flash and I stumbled upon the ability to write code with the tool. The power to quickly glue some visuals together with code and create simple games ignited my imagination.
It should be acknowledged, I had no clue what I was doing.
I paid friends in chewy bars to copy/paste lines of code with minor adjustments hundreds of times because I didn't know about loops yet. It wasn't until years later I realized ActionScript (the language used to build Flash games) could even be considered a real programming language at all - I hardly realized I was coding! Not being force-fed answers fueled my desire to find them. This wasn't a task of rote memorization. It was a creative process.
๐จโ๐ป Myth of the "self-taught" programmer โ
I'm not alone in teaching myself how to code. The moniker "self-taught" programmer doesn't carry much weight in my eyes because just about everybody who writes code as part of their living could apply that label to themselves to one degree or another. Programming is about problem solving and the art of finding (or creating) solutions. Anybody who can do that is self-taught to some extent by definition.
The myth here is that being "self-taught" is somehow special. It's not. "Self-taught" is just how learning to code works.
Now, help from others is vital. Nobody does it alone. Students of the best teachers, however, hardly realize they're being taught. Students of the best teachers are given good problems - not unsolicited answers. Eventually, those good problems motivate good questions and produce real learning. This is the tried and true theory Zilch leans on to inform its design. The result is a platform uniquely capable of leveling up the coding skills of novices and experts alike. It's a platform that keeps the "self-taught" label in-tact because it gives learners the wherewithal to seek their own answers and retain ownership of their journey while providing helpful direction when possible.
๐ In the beginning... โ
The first version of Zilch (though it wasn't called Zilch at the time) was created Thanksgiving 2018. My brother-in-law and I hacked together a Connect 4 UI so we could try out some techniques he was studying in a machine learning class at university. We coded a couple bots, spun up a couple web servers and projected the game onto the TV to watch.
Something about the competition and open ended-nature of the problem grabbed my attention. It was fun and over the years I began to see that fun could be leveraged to build real skills - skills that would have a tangible positive impact on people's lives. Tinkering eventually gave way to leaving my comfortable job to work on Zilch full-time.
โฉ Don't press fast-forward on your existence โ
Technology fills our lives in ways both good and bad. Endless amounts of entertainment ranging from TV, to movies, to video games, to porn, to social media, and even the news often yield little that is worthwhile. Compulsive consumption amounts to pressing fast-forward on your existence. Don't press fast-forward on your existence. Given the opportunity to demonstrate ingenuity, you are capable of incredible things.
Believe that.
I certainly do.
My hope is that Zilch can be at least some small part of your journey to build and grow your coding skills. These are skills that'll let you engage with technology in a creative (not just consumptive) way. These are skills that lead to six-figure job opportunities. These are skills you can use to build a good life for your current or future family. These are skills that can have a wonderful impact on the world and even add a measure of purpose to your life.
So, the next time you want to press fast-forward on your existence choose instead to play a game of Zilch. Discovering your love for code will unlock paths you weren't aware even existed. Good luck on your journey! I can't wait to see what you build.
Reach out if you need a hand,
Braden
Creator of Zilch
[email protected]