All languages, iOS Development, Journey, Notes to past me, Swift

5 things I wish I knew when first learning Swift

It’s been about 1 year of me learning swift on a full-time basis. As I continue to learn there are some things that keep coming up that I wish I was told 1 year ago. So I am sharing them with you now.

  1. The learning is really never going to end. There are a few reasons for this the first one being is that there is so much to programming that there is no way any course will teach it all to you. Some things will only be learned when you do them. Secondly, Apple is changing the language, making things obsolete, and adding new frameworks. The new thing from Apple is SwiftUI so there goes the old way of doing the User Interface. I would say take the time to learn how you learn best. For me, it’s to take what I learned and try to teach it to others even if it’s just a simple tutorial on my blog.
  2. Because the learning never ends there has to be a point in your learning trajectory where you have to just code. It doesn’t have to be a multi-million dollar idea but it could be. You need to take what you learned and build something. It will do a few things for you: It will reinforce what you learned and, it will give you confidence that you can do this. When I was first learning about networking it made sense while I was following the classwork. I thought it was easy enough. Right after we learned it we had a week off for spring break so I thought to myself I would try to redo what we did in class but with a different API and wow it was not easy. I followed the same steps but because I was working with a new API that someone didn’t take time to explain how it all worked and I had to learn it myself, it was not as easy. I got it all to work and when I finished building my simple cocktail app I was happy and bragged about it to my classmates, family, and anyone who would listen.
  3. There is no right way to learn to code. What works for me may not work for you. I tried books with tutorials from Hacking With Swift, I tried Udacity, I tried YouTube if it was out there and it promised to teach you iOS development I tried it but it wasn’t working for me because I was in reality learning alone. I didn’t have someone I could ask questions to. Yes, they had slack chats or discussion boards but that wasn’t enough for me. It wasn’t until I enrolled in Lambda that things started to click. I was learning with others and we helped each other. There were super knowledgeable instructors that were open to having questions asked and more importantly I was held accountable for the work. That is what I need to be successful. Others were able to learn from books because they have self-discipline. Try things and find out what works for you.
  4. Find your support group, things will get tough. I had my classmates from Lambda and I have the wonderful ladies from Women Who Code Mobile. When things get tough or I feel like quitting a simple message to them will get me back on track. We as humans are not meant to be alone we need to interact with others. My family supports my learning endeavor but they don’t know how hard it really is so that’s when I turn to my online friends for support.
  5. Repetition, repetition, and more repetition. If you are learning from a course or a book don’t be in too much of a rush to understand it all on the first read. Some things will not make sense until you see them for the 3rd time. For the longest time, I had a hard time building out a collection view and I avoided it because of the frustrations it brought me. Then I started going over an old course and things just clicked and I was like ohhhhhhhh that’s how it works. The only way things are going to stick is to just keep doing it. That’s also why item #2 is so important you have to step away from tutorials and lessons and apply what you are learning.

Learning to code is definitely a challenge but it’s a good one to achieve if it’s something that you like. Be ready to laugh and cry just don’t do it alone.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s