I'm Khalil Stemmler.
I'm a Developer Advocate at Apollo GraphQL.
I'm also a Canadian software developer, writer, and (ocassional) musician living in Southern Ontario.
If you have any questions for the blog or you'd like to arrange for a speaking engagement, I'd be happy to meet up and chat Apollo, architecture, TypeScript, or DDD. Feel free to send me an email or ping me on Twitter at @stemmlerjs.
What we do here
The goal of this blog is to:
Help developers write testable, flexible, and maintainable TypeScript & Node.js.
Now that you're here, you can find a lot of content on:
- Software Design and Architecture best practices
- How to use Domain-Driven Design to build complex applications
- Enterprise Node.js & TypeScript patterns
- How to organize your code and get more done, faster
- Web development tutorials & my opinions on when it makes sense to use tech
- Software design jargon, but explained as if I'm speaking to a friend
- ...and you'll also find an increasing amount of content on developer productivity with GraphQL + Apollo.
Who I write for
- won't tolerate writing any more buggy production code
- want to learn how to write maintainable, testable software
- want to fast-track their way to senior-level roles
- want to learn how to model complex object-oriented software with Node.js
In 2017, I co-founded (an unsuccessful startup called) Univjobs and learned a lot about making large Node.js codebases scale.
At some point during my work as a consultant and reading as many books on software as I could digest, I came to realize that there were a lot of pitfalls I could have avoided if I knew the patterns and principles to guide me.
I'm currently working on a couple of projects in addition to my work at Apollo.
- is continuing to answer questions and blog about whatever you're curious about.
- is solidbook.io - The Software Design and Architecture Handbook with Node.js and TypeScript.
- is the Domain-Driven Design course with TypeScript.
- is doing the engineering for my buddy Eric from FoundersBeta on an awesome realtime online job fair to get into startup companies
Boring stuff about me
I hold both a Bachelors Degree in Computer Science from Brock University after a few years of playing with robots, writing LaTex papers, and struggling with math.
I also have a fancy Diploma in Internet Communications Technology from Sheridan College after a few years of learning how to configure what happens after your packets leave your home router.
Fun stuff about me
You must really like me if you've read this far 😇
Here's some of the stuff I love to do outside of development, education, and advocacy.
I've been writing and recording music for about 16 years now and I think I've at least gotten pretty good least the recording side 😄
I'm also a huge music collector and genre-geek. Will happily chat your ear off about the golden eras of post-punk and hip-hop.
I've written a lot of music over the years. In fact, I have about 4 hours of unreleased music from the last 2 years that I'd love to someday find the time to shape into an album (or 3).
When I lived in Ottawa, I used to play drums in a band called grindcore band called Gag Reflex, I performed a lot of solo stuff under Cyanide Canaries, and in 2017- I put out a post-punk album under Debutante.
I just do it cos I like it!
This year, my style is starting to drift towards slow and moody stuff like this and this, but also... this? A few more sleaford mods-y stuff like this and pure nonsense like this - note: they're all very rough demos that would be fun to finish sometime in 2020 or 2021.
I've curated a playlist of some of my best work from 2013-2017 called "College Songs" - highly recommend starting here ⭐.
Here are a few more selected works:
- "Imperfect Picture". Trip-hop, electronic? I found several ol-timey video clips and worked them into this one.
- "Mind Your Own", from a post-punk album I made in a basement in 2017.
- "2:35 AM", a short that I scored the music for. By Turcin Soylu. (Audio seems a bit bass-boosted unfortunately).
- "Riot". Noise rock + trip-hop kind of vibe. Sampled old funk breakbeats and Sonic Youth. This is normally the kind of thing that comes out when I sit down to make something.
Other people's music I like
I'm hugely into post-punk, junk-jazz, 90's hip hop, and synth pop.
Favourite artists of all time (in no particular order):
- Nick Cave (the Birthday Party era)
- Massive Attack
- Beastie Boys
- Wu Tang Clan
- The Fall
- The Wolfgang Press
- The Smiths
- Part Time
- Cypress Hill
- MF Doom
Here are two cool playlists I've been crafting for some time on Spotify.
I also noticed that these can only show you 100 songs in the embed, if you're interested- check out all my public playlists here.
And this one!
I wrote a piece specifically about why I'm drawn to brutalism in art, design, and music. You can read it here.
When I'm not coding or reading excellent software books (which I really must compile a list for), I write, longboard, and jog around town 🏃.
Stay in touch