Swift

Looking for Work

For the first time in nearly seven years, I am now unemployed. Yesterday, along with several other people, I was laid off from my job at The Omni Group, and I’m now looking for new work. UPDATE: Here is a link to my resume PDF and my complete CV.

First of all, thank you to all of my friends and colleagues at Omni for being one of the best groups of people I’ve ever had the pleasure to work with. I’ll be forever grateful that taking a job at Omni is what got me out to the West Coast, and to the lovely city of Seattle. I learned a lot there, and they believed in my abilities enough to give me some truly interesting challenges, including some professional development that was rather tangential to my scope of video production, in the interest of seeing it enrich my work in unexpected ways.

I won’t go into what happened at Omni in much detail (if you’re interested, my fellow layoff-ee Brent Simmons has more to say about that on his blog). Suffice it to say that with a spouse who is an essential employee at a bakery, I never suspected that an economic cascade leading to this layoff would be the way that the COVID-19 pandemic affected our family. Omni are doing everything they can to make this necessity a little less harsh, and I’m certain they never would have laid people off if it weren’t truly necessary for the company’s survival. I wish them the best, and hope that they come out of this stronger than ever.

But still, I am out of work. Do you have work? Hire me!

People probably know me best for my video production work — please see the output of my last seven years in The Omni Group’s video archives — but I have also done a lot of related development work, and would love to push my career in that direction. Here’s a quick list of some relevant skills:

  • My biggest area of experience: video production, post, editing, and motion graphics. 24 years and counting.
  • I’ve produced two long-running podcasts, The Optical, which I also host, and The Omni Show.
  • For the last 13 or so years, I’ve been working on my programming skillset.
    • I write scripts to automate my video production workflows in Python and JavaScript/ExtendScript
    • I’ve built websites with a Django back end, and I have a working knowledge of JavaScript, HTML, CSS, and REST APIs
    • Just about a month ago, I took a Swift + iOS Development Bootcamp at Big Nerd Ranch, so I’m continuing to refresh my skills
    • I developed and published an app guide to Star Trek for the iPhone, for The Post Atomic Horror Podcast (no longer in the App Store)
    • I was a founding member of NSCoderNightDC, collaboratively learning Objective-C, Mac, and iOS development, and am a member of Xcoders in Seattle, keeping in touch with the local community of Mac and iOS developers
    • I’m currently in the process of learning Unity and C#, so that I can build a virtual map of Scarecrow Video, the largest publicly-accessible film archive in the world, where I volunteer on a regular basis. I suppose Unity is useful for other things too.
    • For my own themed tiki bar space, I’ve become very familiar with Raspberry Pi and Arduino programming, to control lights, smoke, and (in progress) animatronics for an immersive themed experience.

How I learned Objective-C, Cocoa, and developed an iPhone App

As I just posted to 43 Things [a site that is sadly now dead — Ed.], I finally shipped my first public iPhone app, so maybe it’s time to look back at this journey and see how it’s gone so far.

It seems like there’s always more and better to learn, but I learned enough to actually ship an iOS app for sale in the App Store, so I’m calling this a win.

How I did it:

I can see several keys to my eventual success:

  • Stick with it. Even though I was learning in spare hours here and there, continuing to attempt progress certainly helped.
  • Find a support group. The assistance and encouragement of my local NSCoderNight group was invaluable. People really do want to help those who are trying to help themselves.
  • Read a lot. I read numerous books and web articles about the things I wanted to learn. It didn’t always sink in the first time, but reading other books and articles on the same subject, with different wording and a different perspective, really helped it sink in with repetition and context.
  • Take time off. I found the real way to boost my learning was to take some time off from my job to concentrate on that and that alone for a week or two.
  • Write an app that you’re passionate about. Even when I didn’t feel I knew enough to write an app yet, the act of writing an app forced me to learn what I needed to do to get the app done, and really sped things along. The three weeks I took off work to code all day and put my first app out into the world was the best boost to my programming knowledge so far.

Lessons & tips:

I think I covered most of those above. Still, my biggest piece of advice is to figure out what app you’re passionate about building, and build that. You’re not going to be nearly as engaged in learning if you’re just building some boring tutorial app.

Resources:

  • NSCoderNight — Find a group near you, and go to the meetings. Usually these are informal gatherings of people actually coding, and asking the occasional question. My local is NSCoderNightDC.
  • If you want a more formal meeting with presentations and such, CocoaHeads or Xcoders may be your thing.
  • The book that was the most help in learning Objective-C is Programming in Objective-C by Stephen Kochan. That book was the first (and only, at the time) to teach you Objective-C from scratch, instead of assuming that you are learning it as an add-on to your existing C knowledge. Since then, Objective-C Programming: The Big Nerd Ranch Guide, has come out, and I would also recommend it, despite a few moments where it assumes knowledge that you might not have.
  • The book I found most helpful for learning Cocoa was Cocoa Programming for Mac OS X, from Aaron Hillegass of the Big Nerd Ranch, but if you’re going to concentrate on apps for iPhone and iPad, you might want to swap that out for iOS Programming: The Big Nerd Ranch Guide.
  • If you’re curious, you can check out my first publicly released app, the Post Atomic Horror Unofficial Episode Guide for Star Trek.

Websites

Websites with articles and tutorials I found invaluable (plus a few newer ones):

Books

Some other books that I read over the course of my learning (updated, plus a few new ones):

Update 2015-08-12

Obviously, a lot has happened since I wrote this post — iOS is about to hit version 9, the new Swift programming language has been introduced, and I moved across the country to be the video producer at a Mac/iOS software company in Seattle.

Sadly, the new job has left little time for me to keep up with my own side projects, but I still keep a close eye on the iOS and Mac development world, since I deal with it every day at work.

I’ve updated the links above, and here are a few more resources, if you’re looking to get started in Swift. That said, learning and knowing Objective-C is still an important skill to learn, since Swift is backwards compatible, and that means there’s going to be a lot of Objective-C out there for years to come.

Swift Resources