I have hit a roadblock with learning Swift and app development – I can’t program the application I want to because I have huge (they might not be really that big) holes in my knowledge. I’ve done a few of the Treehouse tutorials and some Udemy ones as well, to only find that I have to piece together existing tutorials for the features I want to implement.
This is not right! So I’m reviewing Swift and discovering in this process the topics that I have missed. I’m currently reading through the Big Nerd Ranch books, which are extremely well written, with Apple’s The Swift Programming Language book, side by side. I am learning so much more now and with planning out the videos, it is forcing me to really master the material - mainly because I'm having to rewrite my notes with my own code examples, topics, definitions and re-record each video at least twice, so it's a great review! I feel that I need to share what I am learning and if it helps someone else then it’s a bonus.
Plus I plan to share some videos on Objective-C and Cocoa down the line. The style of the videos is structured in a way, where I will hit the topics I want to cover and let the viewer know what I won't cover, but I plan to let them know where to go to dig in deeper. I will be walking through the Swift 2.1 Programming Language guide and Big Nerd Ranch's Swift Programming guide, but I'm creating my own examples for the topics that I plan to cover. So it's not, by any means, overly scripted and more of a conversational style.
The reason I plan to start posting YouTube videos is because the things that I want to cover would be easier to share if I can just walk through it in real-time, then typing up a really long blog post. I personally find it easier to learn new things by "teaching" them and trying to teach my dog is just not cutting it. Plus I don’t want my blog posts to be image heavy, because they will be and will take more time to type out. I plan to just use my blog for posting more details, reference materials, tips, miscellanea and errata.
I really want to approach programming and app development in my own way. I’ve tried learning from tutorials, which have their place, but I have found them lacking, in that they are not to the point. For example, say if I just wanted to see an example or code walkthrough of a function with variadic parameters. Most video tutorials just go on and on without a quick link to where this topic was in the video, so I would waste 30-60 minutes (or however long) on a function tutorial that didn’t cover it until the very end or wouldn’t cover it at all. Basically, I’ve been searching for videos with reference quick links and I haven’t found them.
This has been a real sore spot for me personally. There’s nothing I hate more than wasting time and a lack of efficiency. Plus there isn’t much emphasis on experimenting with code either, making shit break, seeing the error messages, a bug walkthrough or solving the errors that occur. Most tutorials just show a perfect example of code with no error messages or mistakes made, which is painfully unrealistic in my opinion.
I’ve slowly come to the realization that to learn to code one really should study from a book (and documentation) about the topic first, write notes with a pen (write in the book and notes in a physical notepad) and write the code examples that are of particular interest by hand, then experiment with it in the IDE before even looking at a video tutorial, unless it is to help you understand the concept after you tried to understand it from doing all the above first.
I am by no means an expert, but after falling on my face multiple times over the past year trying to develop my app, this experience has given me insight that I really need to put something out there for people who are experiencing the same issues. My only hope is that by sharing what I am learning, have experienced, continue to learn, and discover that it just might help someone else.
I have personally haven’t had a mentor, although I have reached out to a couple of programmers, I really don’t expect anyone to help me. Google has been my mentor thus far - if I ask the right question. So I plan to do the opposite and help someone else who might be experiencing the same thing. Sometimes I feel that every question I ask is a stupid one, but like my favorite math professor reiterated time and time again, that the most stupid question in the world is the one you don’t ask and if someone makes you feel stupid for asking it – they’re actually the stupid ones.