Skills that will improve iOS Developer's way of work

Swift Voyager
3 min readJun 8, 2023

--

Photo by John Appleseed on Unsplash

Why am I started writing this?

Hi everyone, today I decided to write what I have learned and share in this article. The idea of writing this article came from 100 Days of Swift UI by Paul Hudson to keep my progress tracked. Today I want to share an insight from Paul Hudson that opened my eyes to iOS Development.

As Junior iOS Developer working with Swift is challenging and a pleasure for me. I do slicing User Interfaces, make UI components, connect API, refactor some code, and so on every day. But, I believed every new task comes with a new challenge. As I write code by code the problem started to become big.

How could this happen?

This happens because I’m not using Helicopter View. I do not see the bigger picture of my code like when I work with a team or individually what the code will become. So these are a few points from what I learned and related to my experience:

  1. Design Pattern
  2. Testing
  3. Multithreading

Design Pattern

What is a design pattern?

When you want to build a house what things will come first? Start laying bricks? Install the Window (not the Windows OS of course 😅)? The Door? or started to arrange the Interior? or a concept of the house that we want to build? Yup, I think we could agree that we should make a draft of the concept of the house, right? What happens if we started laying the bricks without knowing how the house would be? Where the door or the windows should be installed?

Yup, as a Junior iOS Developer, I have been in a position where I started creating an app without thinking about the design pattern. I think it’s normal to make mistakes as long as we keep learning and improving.

Then, what is the design pattern? Design patterns are typical solutions to commonly occurring problems in software design. They are like pre-made blueprints that you can customize to solve a recurring design problem in your code.

As I learn good design patterns that suit our app needs can make it easier to maintain and create the whole feature. I will discuss design patterns more specifically in the next article.

Testing

Testing is a powerful skill that we should learn because it can prevent our app from unexpected bugs which come from our new code. Testing allows us to make sure that our code working properly. Even if we are good at code bugs can appear suddenly. Design patterns and Testing is a related thing because the more suitable the design patterns we can more easily create UI Tests based on a case that we created. Even though I never create UI Testing but I’ll make sure that I will create an article about Testing later on.

Multithreading

Concurrency always interesting to discuss. When it comes to a project that involves a bunch of pictures, videos, or hitting two or more APIs at the same time we will learn how this can be a nightmare. Sometimes we can feel the flickering in our screen, sometimes we can’t see a bit of movement in our app. Well, when it comes we should learn how it occurs slowly because it can be frustrating 😂 But, I recommend learning this step by step because when you succeed to tackle the issue you will feel that your skill is growing.

So this is the end of my first article this point is the things that related to my experience and I felt that's important in iOS Development. Thanks for reading!

The journey of thousand miles begins in one step — Lao Tzu

Reference:

https://www.hackingwithswift.com/articles/230/how-to-become-an-ios-developer

--

--

No responses yet