Who is Darren Mothersele?

On this page you can learn a bit more about me...

Photo of Darren

I am a software developer, electronic musician, and creative coder. I love learning. I am lucky to work in an industry that offers unlimited opportunities for learning new skills, and applying them.

Why?

I am passionate about helping others more fully experience their lives. I am driven by finding new and creative ways to accomplish a goal. I love to engage with people who are curious and smart. I love open source. I love to share my knowledge and experience, and to provide training and help get the best out of people.

Career

I work in software engineering. Currently, for a SaaS company as a tech lead in Data and Integrations.

Prior to that I worked in a health-tech startup, founded Ideation Networks in 2007 to provide software development consultancy, and was co-founder and CTO of a digital music startup. That came out of my work in the music industry, which included working as a professional DJ, webmaster, then head of digital for an independent record label.

You can read more information about my professional experience on my work page.

Programming Languages

I love learning new languages. I've even created a couple of my own. My preferred language is now Rust. Although I switch to C++ for audio/music. I also know ECMAScript/TypeScript very well. But I tend to avoid writing JavaScript as much as possible these days. The first programming language I learned was BASIC. And then in chronological order (as far as I can remember) it was ARexx, C, Lisp, Java, Prolog, C++, ECMAScript, PHP, Pure Data, TypeScript, C#, Bash, Forth, Rust, and Python.

I practise the application of design patterns to software architecture, refactoring, test-driven development, and continuous integration. Although it turns out that what I call test-driven development is different to the dogmatic TDD that people assume when I say "test-driven". I'm particularly interested in combining object-oriented and functional techniques in pursuit of better abstractions and more declarative programming styles. Using Rust over the past few years has been an awakening in terms of what is possible with an advanced type system. And, now, I've almost been de-schooled from my old object-oriented ways.

I created an open-source programming language for live-coding of 3D visuals, called Cyril. You can read more about how and why I created that on Medium. Here is a photo of Cyril in use by artist Dan Hett, captured at Resonate Festival 2016:

Cyril Code

Music

I'm an electronic musician, playing with computers, a hardware groovebox, and a couple of small synths. I'm also trying to learn classical guitar.

Here is one of my synth and sample-based productions:

You can hear more of my music productions on SoundCloud. I have released a few tracks via my Bandcamp page. You can peruse a large section of my music collection via my MusicInstinct Bandcamp collection. And, for my DJ mixes check MixCloud.