Image Courtesy of Author
Before we get into this, I want to thank all of you for your initial interest in this project!
Just to be clear, learning to code is going to be the first of what I hope to be many learning projects in the coming years, hence the term “polymathing” (which isn’t a real word but oh well). I hope you’ll stick around with me, learn from my beginner mistakes in various fields and have some fun along the way.
So, with that said, let’s get down to business.
Why learn to code?
Something about coding (or programming, I’m not sure of the difference yet), has always fascinated me, much in the same way as hearing people speak different languages.
One of the core attributes that drive me forward through life is curiosity, I love to know how things work and why. My lack of skill or knowledge in what goes into making technology (not just using it) has been a sore point for me for years.
I also think it’s going to be an essential skill of the future, if not already. In fact, it’s predicted that around 30% of jobs are at potential risk of automation by the mid-2030s, though I have a feeling it’ll be a little sooner than that.
However, these losses also give rise to the opportunity for more jobs in other fields - after all, people have to build and maintain the automation, right?
But I’m not actually looking to learn coding/programming to get a new career (I’m entering a PhD next month, I’m quite deep in my current path). My goal is to be able to build something useful and say “I did that”. And with that in mind, I plan to learn by doing.
Choosing a programming language
Okay, so I thought about this for a long time. I had a little go at using two different learn-to-code apps (Grasshopper by Google and Mimo) to get a feel for the languages, and to be honest, at the super beginner stage they seem pretty much the same.
Then I had to sit and decide, “well, what would I want to accomplish?” The end goal is super essential that much I’ve gathered.
If I wanted to build a website, then learning HTML, CSS, and Javascript would be the go-to. If I wanted to learn how to manipulate data, then Python would probably be my best choice.
Both of these are good options since it doesn’t hurt to know how to build websites, and manipulating data would be a handy skillset in my post-doctoral studies. However, I thought, “what if I could make something that would be immediately useful to me, particularly while studying for a PhD?”
That’s when I came up with an idea to build an app. A lot of the writing apps/programs I use (certainly in academia) are cumbersome or don’t always do what I want. I’ve used a variety of apps dedicated to writing, and I often love certain features and can do without others.
So, I want to build a custom app that will help me write my PhD. Going with that logic, I am a Mac user, so I should create an app that works on my Mac.
Therefore, the language I’ve narrowed myself down to is Swift.
How are you going to learn Swift?
The killer question! The handy part of learning code or programming is there are literally a ton of tutorials and guides out there for any language. As of writing, there are over half a billion webpages relating to the term “learn swift”:
But perhaps the best part about picking Swift is that I can go directly to the source: Apple.
Since the language was created by Apple for Apple, it makes sense to use all the free resources they’re giving out to prospective developers. Plus, I don’t have to go out of my way to buy new equipment or software, since Xcode is free to use and is designed to be a safe testing environment (so they say, I’ll probably still break it).
I’ll need to do some reading and researching to figure out a learning plan (for example there’s not much point in me learning Watch OS development since that definitely won’t help me, but it wouldn’t hurt to get some background on iOS).
The most significant part of it though is to just get my fingers typing away and doing it.
Why create a newsletter?
First and foremost, I thought it would be pretty neat to share my journey from no coding experience to building a functional app (and similar beginner to experienced projects in other skills later down the line).
I’m also hoping that by sharing my experiences and lessons, I learn along the way I can help to inspire others who also might be in the same position as me right now. If you’re one of those people like me, who have always wanted to learn to code but just never got around to it, stick along with me and let’s learn together.
The idea of the newsletter is that each week I’ll share what I’ve learned, bits of code I’ll be working on and updates on the app development project itself. After all, they say one of the most effective ways to learn is to teach what you’re learning.
The significant part of using Substack as a medium for this is that YOU can actively participate by commenting as I go along. If for example, you think I’m making a colossal mistake that’ll set me back, you can let me know. Or if there’s something I just kind of brushed over and you want more, you can tell me that too.
As you might have gathered, soon I’m going to be a pretty busy person. So sometimes the emails may be relatively short, and other times they could be longer if I have more time to learn that given week.
But whatever happens, you’ll see me in your inbox at some point on the weekends.
Thanks for reading and have a great day/evening!
-Alex
P.S if you know someone that’ll get a kick out of reading this kind of stuff, share it with them (and encourage them to subscribe, cough).