What kind of programming and/or scripting can you do that don’t involve big corporations or contracted clients? Here are several ideas that you can start exploring right now.

  1. Arduino

Arduino is the perfect blend of electronics, programming, and casual. It’s an open source microcontroller (i.e. a tiny, single-circuit computer) with various component pieces and programmable logic. Think of it as LEGO for adults using actual wiring, circuitry, and coding.

And it’s not as difficult as it sounds. All you need is an Arduino starter kit and a few introductory Arduino guides to point you in the right direction. Note that while Arduino does support multiple programming languages, you’ll probably find it easiest to stick with the official C-like language.

  1. Raspberry Pi

If you like Arduino’s idea of coding a small gadget that does what you want but you hate the electronics/circuitry aspects, then you’ll be happier with Raspberry Pi. It’s a single-board mini-computer complete with CPU, GPU, RAM, and I/O including USB ports, video and audio ports, and Ethernet port.

The two official programming languages are Python and Scratch, but others are supported as well. We recommend starting with a Raspberry Pi Zero because it’s the simplest and cheapest at only $5, yet powerful enough to create some amazing projects. Also check out these Raspberry Pi newbie projects. Once you’ve mastered or grown tired of the Raspberry Pi, you might even consider these Raspberry Pi alternatives.

  1. Drones and Robotics

Not all drones can be programmed, but a lot of them can, and doing so can be an awesome way to have some fun in your backyard or at the local park. It’s still unclear whether drone racing will become a “thing,” but that’s another way you can have fun with drone programming.

Or you can take it a step further and dive into full-blown robotics. It’s a more involved process, of course, but is perfect if you have equal love between coding and circuits. Many robot kits are based on Arduino, but you can also look into LEGO MINDSTORMS, Tinkerbots, and others.

  1. Game Modding

Years ago, I used to pour hours into making custom maps for Starcraft and Warcraft 3 as well as mods for AMX in Counter-Strike. These days, you can do so much more with custom maps for Starcraft 2 and Dota 2 plus modding for games like SkyrimKerbal Space Program, and ARMA.

But perhaps the most well-known and flexible example of game modding is Minecraft. You can pretty much tweak any aspect of the game, resulting in completely new gameplay experiences. It’s a great way to practice Java while having tons of fun.

  1. Game Development

Just because you like playing games doesn’t mean you should start making them. It’s quite a double-edged sword — think carefully before picking this up as a hobby. On the one hand, you’ll better appreciate the work that goes into your favorite games, but on the other, games will lose much of their magic because you’ll start “seeing behind the curtain.”

Unreal Engine, Unity, and GameMaker are the big names with Godot Engine quickly catching up. For coding-only frameworks, look into LibGDX (Java), Monogame (C#), LOVE (Lua), and HaxeFlixel (Haxe). There’s never been a better time to dive into game development.

  1. Web Development

Web development is very much a “professional” kind of programming. Not only is it one of the easier ways to be a freelance coder, it doesn’t really lend itself to hobby work. If you want to run a website, you’d probably use a framework like WordPress. Not as many people enjoy making websites just for fun.

But if your future plans involve turning your hobbies into profitable side projects, then web development is an excellent option. Popular professional frameworks include Django (Python), React (JavaScript), Ruby on Rails (Ruby), and Laravel (PHP).

  1. Mobile Development

Maybe it’s just me, but mobile development has a certain allure that other kinds of development don’t have. Seeing a self-made app run on your smartphone (and especially your friend’s smartphone) can be exhilarating, and if you can make people’s lives better with your app, all the better.

Like web development, mobile development has a lot of potential as a “hobby now, career later” option. Unlike web development, where your focus is to build skills to eventually work as a freelancer, the usual plan in mobile development is to create a viral app. A hobby app that strikes gold is pretty much the dream.

  1. Open Source Contributions

The world would be a terrible place without open source software. Can you imagine where we’d be without Apache, MySQL, VLC, Firefox, LibreOffice, GIMP, Blender, Android, Linux, or WordPress? (Fun fact: More than 1-in-4 websites run on WordPress!)

And none of these projects would be what they are today without open source contributors. If you have time and know-how, then lending your energy to some of your favorite open source projects could be a great way to sharpen your skills, expand your network, and give back to the community.

Not sure where to start? Here are a handful of open source projects that could really use your help and expertise.

  1. Puzzles and Challenges

Some people love jigsaw puzzles. Others love logic games like Sudoku, crosswords, and even browser-based puzzles. But as a coder, you have something more challenging and more rewarding at your fingertips: programming kata and challenges.

We’ve covered programming contests and competitions, but those are against other programmers. Kata and challenges are done solo, so there’s less pressure and more opportunities for growth. Notable examples include CodeWarsProject EulerDaily ProgrammerCodinGame, and HackerRank.

  1. Application-Specific Scripting

You may not realize it but many of the apps you use day-to-day can probably be extended or customized with scripting.

Rainmeter, Geany, TeamSpeak, VLC, and Vim can all be extended with Lua. Winamp plugins are made with C++. Sublime Text plugins use Python while Visual Studio Code extensions use JavaScript. Automation bots for services like Twitch and Discord can be written in all kinds of languages.

AutoHotkey is nifty scripting environment, with its own language, that lets you create keystroke-based hotkeys and macros on Windows. And don’t forget about the operating system level: batch scripting, PowerShell scripting, and bash scripting.

Join the discussion One Comment

  • Aly Chiman says:

    Hello there, My name is Aly and I would like to know if you would have any interest to have your website here at dreammesh.ng promoted as a resource on our blog alychidesign.com ?

    We are updating our do-follow broken link resources to include current and up to date resources for our readers. If you may be interested in being included as a resource on our blog, please let me know.

    Thanks, Aly

Leave a Reply