blog / google-cloud-tutorials

Google Cloud Tutorials

May 25, 2019



Happy Coding now has Google Cloud tutorials!

Google Cloud is a set of tools, frameworks, and libraries that allow you to deploy code and store data using the same systems that run Google. It’s pretty powerful, but it’s not always beginner-friendly.

I’ve been learning about Google Cloud over the past couple years for CodeU, and I finally found some time to write these tutorials up.

Check them out here:

Here are some random thoughts I had while writing these tutorials.

Pros and Cons

Google Cloud includes a ton of tools that are extremely useful once you know how to use them. But that’s the problem: you need to know how to use them before they really make sense. And because Google Cloud is primarily geared towards large enterprise companies, it can be hard for a single person to start learning about this stuff. Where do you start? What knowledge do you need to know beforehand?

It’s not all bad though. Some of the documentation for Google Cloud is actually very good, some of the best documentation I’ve ever seen. For example, this servlets hello world page was super useful when I was getting started, and the Google Cloud Vision homepage is borderline beautiful. And that’s not an accident: Google has a whole team called developer relations (or DevRel) whose job it is to evangelize Google technologies, including writing tutorials. And their tutorials are honestly great.

But the official tutorials still aren’t really designed for beginners, and the documentation gets a little spotty as you get further from the happy path. I’m hoping that the tutorials I wrote can help bridge some of those gaps.

Before I started working at Google, one of my biggest criticisms of Google was that although they put out a lot of great products, they don’t do a great job of telling people about them, or of linking between them. Now that I work there I have a better understanding of why that is, and that could be its own rambling blog post, but for now I’ll just say that I really felt this as I was writing these tutorials and learning Google Cloud myself.

Another problem I encountered that surprised me was: the UI for setting up a new App Engine project changed, not once, but twice while I was writing these tutorials. That means I had to write them three times. Normally I’m not against change: when Facebook released the news feed feature, people hated it, and I remember being pretty annoyed with those people. After all, technology has to evolve to stay relevant, and we probably wouldn’t still be using Facebook if it looked the same as it did in 2004. But I was pretty frustrated by the changes to the App Engine UI, in a way that I haven’t thought about as a developer before. I’m afraid to go check whether it’s changed again, because I really don’t want to rewrite them a fourth time.

Googling Google

When you’re reading or watching tutorials, it can be easy to trick yourself into believing that the author has some secret expertise that you lack. And almost always, that’s not the case at all.

To demonstrate that point, I thought it would be fun to post my google search history from the two days it took me to write the client-server communication tutorial. Without further ado, here’s everything I googled while writing that tutorial:

coding train
password hunter2
url length limit
webpage chrome
chrome of a webpage
client server
google drawings
client and server
happy coding rest
lucid chart
online drawing site
online flowchart drawing

happy coding clients
web development client
web development client server
what is a web client?
google trends
example json endpoint
static html file
example of static website
example static html file
cats
github pages
web development dynamic content
unix time
server-side rendering
ajax
ajax mdn
server endpoint
marven morris
maren morris
stop trying to make fetch happen
fetch api
infinite scroll
url path variables

As you can see, I have to do a ton of research while writing just a single tutorial, even about stuff that might seem obvious to other people. And this is just the searching; not pictured is all of the reading that each of these searches led to. So if you’re wondering “how do people learn all this stuff” the answer is- we don’t.

What’s Next?

I tend to obsess over the organization (or lack thereof) of this site. As I was writing the Google Cloud tutorials, I debated where exactly things should go: should they go in the existing server tutorials? Should some of them go in the existing JavaScript tutorials? So I want to go back and revamp some of the existing tutorials so everything links between each other better. I also have a todo list of other tutorials, like Maven or other frameworks.

I also want to put together a potential curriculum that teachers could use. I don’t know exactly what that looks like yet, but I think there’s a lot of interesting work there.

I haven’t forgotten about my goal of exploring Android again, and I might get back into that in the near future. I could also start playing around with more artsy stuff. In the near future, CodeU is going to take up a lot of my time. I’m looking forward to talking about that more openly.

If you read through the new Google Cloud tutorials, let me know what you think!