“That’s quite a mouthful”
“That’s quite a mouthful”
whew, that’s a REALLY long blog title …

I have several static web sites that I maintain and deploy manually, including iandouglas.com and techinterview.guide. It’s not always convenient to be on my typical development machine to write something in markdown, run my static site generation, and deploy the new pages, so I wanted to build a workflow that will allow me to use my browser alone going forward.

Step 1: Build an empty Web project on Firebase

I use Firebase for hosting my static sites for several reasons:

Let’s start with this:

You belong.

Whoever you are, whatever your background, you bring something to tech that none of us have seen before. You have a perspective we need to hear, you have stories we’ve never heard, and you’re going to approach problems in ways we may never have imagined. Welcome to the team.

Our industry is full of bias, and I’m pretty sure it’s the only white-collar job that requires you to prove you can do the job before getting a job offer. You never hear of doctors applying for jobs and being told, “Go perform brain surgery…

I teach at the Turing School of Software & Design.

The Executive Director, Jeff Casimir, invested in a lot of tech-adjacent cool stuff that hangs out in the “Vault” room at Turing, including bins of Arduino boards and kits of parts like LEDs, resistors, motors, etc.. And a big-@$$ 3D printer.

When Jeff offered me the job at Turing, he probably could have offered me a lower starting salary just by uttering the words “we have a 3D printer”, but don’t tell him I said that.

I was challenged this week in a “hot seat" Q&A session with my students about what my next big goal is in life. They also asked fun questions like how I convinced my wife to date me, and had I ever done anything illegal like hack into a computer. But this “next big goal” question startled me. I answered just about every other question without hesitation, but this one…

My entire life has been filled and fueled by curiosity. As a kid, I would tear things apart to see how they worked inside. When my dad bright home a Commodore…

I studied Computer Engineering (basically a combination of Computer Science and Electrical Engineering) in college in Canada, graduated in 1996. I began my career as a firmware developer after a brief stay at QNX doing technical support and “pre-sales engineering.” I enjoyed helping people and working on custom code for customers, but I didn’t spend 4 years learning the ins and outs of computers and hardware just to answer a support phone.

While working as a firmware developer near Ottawa, Ontario, I learned web development, taught some friends, and we started a business doing basic web development projects and small-scale…

I do career mentorship for a 7-month code school in Denver: The Turing School of Software & Design. Their programs are broken into four 6-week modules with a small break in between. One of my favorite interview preparation techniques is about identifying companies where they’d like to apply for work upon graduation.

Certainly, knowing the industries and companies where you’d like to work is vital. But how do you stand out from the hundreds or thousands of other applicants trying to get that same job?

As you identify those companies, find a way to use their product, SDK, library, tool…

Tech interviews are scary, even for seasoned veteran developers. They’re even worse for entry-level developers — especially those from code schools. What should you expect? How do you prepare? Should I bring a laptop? What’s the real goal of a technical interview? And why are they even asking me these kinds of questions?

The last 14 years of my 21-year software engineering career have found me on interview teams, or as a direct hiring manager or decision maker. Several thousands of resumes screened. Hundreds of technical interviews conducted, ranging from interns to VP of Engineering candidates. …

Most companies who create a social network do so with the end goal of collecting information, interests and habits of their users in order to monetize that data (usually through advertising). They guard this data heavily and many of the largest social networks are trusted enough to be Identity Providers for OAuth-based authentication and single-sign-on mechanisms such as “Log In with Facebook/Twitter/Linkedin/etc”.

We have many customers with production apps who use Stream to help develop social applications, and we thought it would be interesting to dig into four “decentralized” or “distributed” social networks/platforms (who have not been customers of Stream)…


Software performance is critical to a SaaS company like Stream and while the majority of our infrastructure is written in Python, we are actively porting portions of our code base to Go.

Stream is an API for building scalable feeds and now handles over 20 billion feed updates a month. While Python has been fast enough for many things, the additional speed and efficiency of Go is becoming important to us. (If you’ve never tried Stream, here’s a 5 minute interactive tutorial)

This migration from other scripting languages like Python to Go is becoming pretty commonplace in our industry. Before…


We’re covering some “best practice” examples of how to set up a mobile application powered with Stream APIs. We’re happy to announce that after several weeks of development and testing that we have an Android example to share. As with all of our example code, the project is open sourced and available on GitHub. We have also submitted the application to the Google Play Store for ease of installation.

The goal of this blog post is to offer some of our best practices in general, but through the lens of a how we produced our mobile application example. …

ian douglas

Sr Instructor @TuringSchool, DevRel @GetStream_io, Husband/Dad/Developer/Mentor/Teacher/Coach. Share what you know.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store