The Tool Belt of the Casual Coder
To become a well-versed engineer takes years of practice. There is usually a determination that it’s your calling — or at least your vocation. But many more people dabble. They poke around at things to try to figure them out. They tweak and experiment. These casual coders do it for fun, to solve problems, or both.
Being a professional coder involves a daunting learning curve for someone who does not know to code. However, it can take just a few hours to dip your toe enough to feel like a casual coder. You may not be shipping production apps right away, but that’s probably not your goal. You have a problem to solve or a thing to create.
There’s an amazing spark that comes from writing code that makes something happen.
The potential tool belt of the casual coder is endless. I’ve chosen the tools, platforms, and websites below for their ability to inspire and lift up casual coders. Each of these brings you big wins with small efforts, and usually with a little help from a community sharing what’s possible.
The Web: View Source and Inspect Elements
Whether it was the pioneers of the early days of the web or someone just starting today, there’s great power in looking at the HTML behind a website. It’s available on every page you load and has been from the earliest of browsers. Now you can also see CSS and client side JavaScript, though it’s not always super readable. Still, there’s a lot there to help you figure out how a website works.
It’s true that View Source is not what it used to be. As the web became more complex and the users less technical, browsers have started to hide the command. All the browsers I checked have it in some “Develop” or “Developer” menu or sub-menu. But, of course, you don’t have to be a coder to dive into the page source.
At the same time, browsers give us even more advanced tools. Going beyond source, you can inspect specific elements of the page, debug JavaScript, and view console logs from your browser. There are also many other ways to learn about the web and the technologies that run it, from GitHub repos to Glitch trying to bring back view source.
Greasemonkey: Inject Your Code on Any Site You Visit
Professional coders are known for incredibly customized developer environments. It’s no wonder, because they are able to be as efficient as possible and experience their work exactly as they want. Greasemonkey allows anyone to customize their browser experience as they use the web, with minimal code required.
The way Greasemonkey works is you can alter your local copy of any website your browser loads. Change, remove, or add any content you want to a page. Highlight the areas you care about, or pull in data from outside and mash it up. It’s even geekier than View Source, but it’s similarly community focused. There’s a community around sharing these “user scripts” so you can implement the same customizations as someone else.
10 years ago my friend Andy Baio created a way to visualize the political leanings of news sources. It used Greasemonkey to take an existing headline aggregator and simply style the links blue and red. The project provided really useful transparency during the first post-Web 2.0 US Presidential elections. It did it not by creating a whole new website for people to find, but instead provided a way for those who cared to enhance their experience on a site they were already visiting.
By design, these user scripts have their source code available. Anyone can look at an existing script, make tweaks, and see the outcome of their changes. While advanced usage requires some JavaScript chops, the shared code is the key, because it allows experimentation, an important part of the casual coder’s approach.
Google Maps: Visualize the World Around You
When Google Maps launched in 2005, it completely changed how location data was displayed on the web. Even better, it put geographic visualizations in the hands of anyone who could copy and paste. The Google Maps API is now part of millions of websites and was a major driver of the original ProgrammableWeb (where I served as lead writer and editor for five years).
People became so excited about Google Maps that they put anything remotely location-related on a map. Even better, it got casual coders exploring data and sharing things they might not have without an easy vehicle for their output.
Even coders like me got swept up in the excitement of it all. I wrote a book about maps in 2010 and continue to love maps for sharing geographic data. Still, the best thing about Google Maps is that it’s an accessible entry into coding.
WordPress: Your Words, Exactly as You Want Them
Perhaps no other entity is more responsible for creating new programmers than WordPress. The PHP blogging software is more than 15 years old. Almost from the very start, its source code availability and pluggable architecture made it a great choice for the casual coder trying to put something new into the world.
Many of the web’s largest sites run on WordPress and it’s not limited to blogs. Through frameworks and multiple page types, WordPress can host any kind of site. It’s easy to get started and many seemingly complicated tasks can be accomplished by a free plugin. For these reasons, it takes even accomplished programmers from idea to prototype quickly.
It’s the next steps where people learn a little code. Perhaps there’s an error or something that’s not quite right. Many of us have dove into various .php files to perfect a site. It’s a (sometimes frustrating) cycle of: change, reload, learn.
Slack: Communicate With Bots (And Other Humans)
How many Slack groups do you have installed? I’m at more than 10 and that’s while trying to keep them to a minimum. The primary choice for work and creative community communication, Slack is any everyday application for millions. That also makes it a great platform for experimentation and casual coding.
From notifications to slash commands to (mostly) helpful bots, it’s almost inevitable that creative people will become Slack power users. And the best way to do that is with Slack’s API.
If you’re in Slack all day, it may be the communications medium that reaches you the fastest. Many are more likely to see a Slack notification than an email or text message. That also makes it a great place to originate actions for your other apps. Why login to your project management tool when you can just send it a Slack message? People use Slack to write notes to themselves, reminders, and more. So, it’s natural for many of those users to want to customize it all the more.
Plus, using Slack is about collaborating and communicating with others, so it’s natural to want to share your bots and automations with others. Post notifications to public channels when they’re relevant and create bots that anyone in a Slack workspace can use.
You can do a lot with Slack without having to write the code yourself, but I’d hazard a guess that the majority of the visitors to its documentation don’t write code as their primary job.
Zapier: Connect Your Other Tools Automatically
Slack is one of the more popular integrations on Zapier (where I worked for two years) for all the reasons mentioned above, plus the amazing bonus that most of even advanced usage won’t require any code. That’s because Zapier makes the building blocks of over 1,000 SaaS tools available with a visual editor.
People often first discover Zapier with one use case in mind. They want App A to update when there’s new data available in App B. Soon they find other ways they want their apps to work together. And gradually, basic one-to-one usage doesn’t suffice. That’s when they discover advanced uses of Zapier, such as multi-step workflows, branching, and more. When you have persistent data and complex orders of operations… you’re kind of coding, even if it’s in a visual editor.
But Zapier can go even further by connecting inbound Webhooks from anywhere or sending your own requests out to your own servers. Or write arbitrary Python or JavaScript code as a step in your workflow, injecting some “real programming” into an otherwise non-coding interface.
Zapier meets the casual coder at their comfort level, which is what makes it a great tool for expanding one’s coding prowess.
APIs: Build on Top of Popular Services
Behind Zapier, Slack, and Google Maps are a bunch of APIs. These Application Programmer Interfaces are a technical way to use the data or functionality of another service in your own. There are thousands of APIs and you may well have bumped into them.
While they are designed for programmers, the dirty little secret of APIs is that many of the people trying to use them are casual coders. Further, once you’ve learned how to use a few popular APIs, you can likely figure out the next API you want to integrate.
The first thing is to distinguish between whether the API is a lead actor or supporting player:
- Is the API the product? Like Google Maps or Twilio (a telephony provider), one big sign you’re using this type of API is the company charges for it — often on a usage basis.
- Does the API support a product? Like Slack or MailChimp (an email marketing provider), you’ll know it’s this type of API if you primarily use the service through an app or website.
Regardless of the type, you’ll use the same approach to build on top of an API. However, when the API is the product, it will supply some infrastructure or basic building blocks to what you’re creating. For APIs that support a product, you’re more likely stitching things together, and require something more custom than what a service like Zapier can provide.
Expand Your Coder Tool Belt
It can be difficult to tap into the power of APIs, because they come with programmer baggage. You have to know how to read documentation (which was written for programmers and often by programmers). You could get bogged down by terms like REST, JSON, and OAuth.
I’m creating Hands-on APIs for Casual Coders to show how APIs work using popular services like Twilio, Slack, and Stripe.