Seattle Public Library Has Free Access to and Safari Books Online


Almost no one knows this, but the Seattle Public Library offers free access to two incredibly useful websites that normally cost a lot of money:

  1. — offers thousands of online video courses on a wide range of topics. They are particularly well-known for their expert courses on creative professions such as 3D modelling, animation, graphic design, audio design, etc. They also offer courses on programming, professional development, and more.
  2. Proquest: Safari Books Online — offers tens of thousands of e-books on a wide range of technical topics, including programming, game development, engineering, IT, etc. They even have non-technical topics like business, creativity, personal development, and more.

I’ve written before about how the best way to “teach yourself” anything really comes down to finding good teachers and good resources to learn from. No one’s path to mastery can consist only of Google searches to hyper-specific StackOverflow questions. Oftentimes you just need a good book or a course to introduce you to all of the fundamentals and all of the jargon of a particular field or tool.

How to Access These Resources

  1. Get a library card.
    1. This requires proof that you live in either Seattle or live in one of the accepted areas in King County.
    2. If you don’t live here, you can also buy a three-month visitor card or a one-year non-resident card.
    3. Make sure to save the PIN that’s associated with your library card.
  2. How to sign in from your computer:
    1. —
    2. Safari Books —
    3. Bookmark the above links. Then use your library card number as your username and your PIN as the password.
  3. How to sign in on mobile:
    1. — Download the Lynda mobile app for your phone, then on the login screen, navigate to the Organization tab, scroll down to the Web Portal section, and type in as the organization URL. Then login as usual with your library card number and PIN.
    2. Safari Books — You can’t sign in using their mobile app, so you’ll have to visit their website from your phone’s web browser using the same link in step #2.

Have fun learning!

Six Month’s Worth of Updates, News, and Games


It’s been six months since I’ve updated this blog, so I thought I’d make a mini-post about my decision to leave Microsoft, plus a bunch of updates on the major things that I’ve been up to lately:

1) Leaving Microsoft, Freelancing as a Unity developer

A few weeks ago I left my job at Microsoft to focus on game development full time. Lots of people who make this jump go “full indie” by starting their own studio, but I decided to freelance instead, which frees me up to work on a per-project basis. Specifically, I’m specializing in gameplay programming, which is more focused on implementing mechanics, prototyping ideas rapidly, and iterating on current implementations to make sure they actually feel right when played. It really seems like the most natural role for someone like me who is both super technical and super design-oriented. You can check out my full portfolio at:

So why did I leave Microsoft? Whenever I tell other game developers that I worked as a program manager for an enterprise IT product called Azure Active Directory, they tend to assume that I was miserable there. According to stereotypes, people who make this kind of career jump usually hate their current jobs, or their passion for games is so extreme that it becomes a reason to hate their current jobs. However, I actually really enjoyed my years at Microsoft. I got to work with and learn from some awesomely smart people who are super passionate about what they do. Of course, my main career goals are in the games industry, but I’m not the kind of person who indulges in self-inflicted misery just because “it’s not games!”

I initially applied for the program manager role (which kinda resembles the “product manager” role in other companies) because the list of required skills had a ton of overlap with those for a game designer, skills that I wanted to learn. It also just looked like it’d be really fun since it was a technical, producer-like, entrepreneurial kind of job that had me designing features, talking to customers, prioritizing requirements, communicating and coordinating efforts across the team, studying the market and competitors, landing on implementation details with devs, and generally doing whatever it takes to make our product better. It was pretty awesome.

I pretty much got exactly what I was looking for. I was super motivated to learn and grow, and my understanding of the “manager” skill set changed dramatically. However, I eventually realized that my pursuit towards mastery was driven more by professionalism than actual passion for the skill set itself. I didn’t really want to specialize in program management, and I had a super strong itch to get back into programming full time. This realization was when I realized that it was time for me to move on, and now here I am trying to make a living out of making games. 🙂

Continue reading