Concept to Completion

One Man's Journey to Learn Swift

The Beginning

Jul 01, 2014

Being the first day of the first half of the year, it seems fitting to start a new adventure. Of course, when starting a new adventure, you’re only focused on the excitement and allure. Experience and age remind me that there will be tough days ahead.

This particular journey may be more than I can handle.

An Idea

There’s been a tool I’ve been missing for some time. To be fair, I already have a tool that somewhat does what I need, but it’s lacking. For the past 6 months, I’ve designed and built a replacement. Unfortunately, my solution, while an improvement, is also lacking.

This tool would best suit my needs (and hopefully others) as a native app. My problem? I have no idea how to build an app for OS X and iOS. And so I’ve been building my idea as a WordPress theme, all the while knowing that the end product would not be ideal for my usage.

WWDC started me thinking about other options.

Swift

It’s not every day that a company announces a new programming language. But with a focus on making creating apps easier and more accessible, I couldn’t help but come away from WWDC with the feeling that if there was ever a time to learn to program, this is it.

And with an idea to bring to fruition, why not take advantage of the tools and frameworks Apple makes available to all?

The Journey Begins

This is not like many of the ideas I’ve had over the years. It’s massive! It’s not like a front end dev learning Angular, or a graphic designer moving from Illustrator to Sketch. Those folks already have honed skills and moving from one tool to another, or learning a new framework are, relatively speaking, small steps.

I have to learn both a programming language, a set of tools, and now to program …

TL;DR I am not a programmer.

A little bit of backstory. I have a background in IT, starting with a Diploma in Computer Information Systems. This is a more generalized education, focused on systems analysis overall, not programming. And while we had programming courses, this was nothing like getting a Computer Science degree.

In school, I always excelled in the language and socially focused classes. English, history, and biology were no problem at all. Physics and math? Terrible. Higher level math classes in college were almost my undoing. I struggle with theoretical mathematical constructs and writing algorithms is an area of weakness for me.

When I started my career working for the IT department of a healthcare organization, the closest I ever got to programming was writing CCL reports for our medical information system. This stretched my abilities. Since then, I’ve focused more on front end web development, where technical understanding is required, but not necessarily the ability to program.

Let’s just say my HTML and CSS is a lot stronger than my JavaScript! The truth of it is, the address of this site will likely have nothing to do with the speed of this project …

In It for the Long Haul

My lizard brain has a full blown meltdown when I think of trying to make this idea a reality as a Mac/iOS app. I hear a lot of, “You can’t do this! You’ll never get it finished! It would take you five years!” And there’s some truth to what the lizard has to say.

As a husband and father of six with a full time job, I have to approach this with the long term in mind. Will I have an app submitted to the App Store by Christmas? Not a chance. In a year? Doubtful … it’s hard to make any estimate when you’re still at the point where you don’t know what you don’t know.

But if I consider this as a three or five year goal, it makes more sense:

In three years, I want to understand how to build an app for OS X.

That is a whole lot more palatable. And attainable.

Why Share?

What is this site about? Simply, I want to share what I’m learning, where I’m learning it from, and how others can get started on becoming a developer for Apple’s platforms. My career on the web started with writing and teaching and that will continue.

My hope is that others can see what I’m doing and be encouraged. As well, this site will become a resource for those who also decide to take the plunge in Swift development. If you’re interested at all, you can sign up (below) to receive the newsletter.

I’ll be sharing how the project is going, what I’m reading, and where all the best tutorials and resources are on the web. I also hope to pick the brains of some great Mac developers and have them share their thoughts and advice on how to get started.

Feedback and thoughts are always welcome. Hit me up anytime!