Help Your Swift Team Learn: New APIs
If you're building a Swift app or overseeing a team that does, you likely find it all too easy to delay the time needed to learn new things or only focus on learning what directly relates to your app right now.
It's already very challenging to stay ahead of the latest developments in Swift when major releases come around. However, if you want to take full advantage of transitions in the Apple ecosystem, you must have three things:
- Good habits and learning practices
- Time to experiment and explore new developments
- Helpful mentors
How can you do this in a way that is both effective and best drives your business goals?
I will share an overview of how to do this in the context of learning one of the more critical features of Swift software development: Application Programming Interfaces or APIs.
Swift Development Changes Swiftly
Things have been changing very quickly in Swift development – Apple has clearly taken the direction of trying, as much as possible, to enable its developer community to create apps with their own tools and services.
Chief among these developments has been the introduction and growth of SwiftUI, which is set to replace a myriad of tools and libraries we've relied on to develop interfaces for our apps. However, it's been a difficult transition for anyone who was heavily invested in the old ways of doing things, such as Objective-C or UIKit.
These changes demand that we rethink how we code.
The problem is that it's easy to get into the habit of coding things a certain way. It's efficient, easy, and gives consistent results. But, it tends to create a barrier to learning other methodoligies; there's always another method to build.
In the end, old habits are difficult to break.
Slow Down!
There are few things worse than developing something using an API, only to discover that you can do more or you're doing it wrong. Additionally challenging if your software architecture can't support the additional features. You're then stuck with the pain of having to reconfigure everything.
The best way to avoid this is to get in the habit of taking things slowly. Instead, it pays to dig into a new API, especially if it's large and serves a critical function within your app.
Learning an API this way ensures you avoid scenarios where development has progressed significantly, only to discover there was something you needed to do right at the beginning. You want to avoid having to go back and fix things as much as possible, as it's always more costly than spending extra time mastering the capabilities of the API.
It's a reality of software development that new things always take more time to learn than you think they will, especially if you explore how different developers accomplish similar things. Even if it's an area of development you're well-versed in, seeing how others do things can give you new ideas or even whole new ways of thinking about something you already know.
Another problem with developing software quickly is that the results will often only work in a tight range of use cases. Software is supposed to be… soft. We're supposed to be able to change things easily, and managers and clients often expect us to do so quickly.
The scenario we want to avoid, as developers, is where you're copying and pasting things from Stack Overflow to get things moving. We've all done it, but it is dangerous for our apps' viability and our sanity. Because if anything changes – frameworks, APIs, project requirements – you risk having to start over.
Understand How You Learn Best
It is rewarding to figure out how you best learn new things. For example, you might want to spend your time on YouTube, watching other developers walk you through the various things a specific API can do. This is especially helpful if the API documentation isn't well-written. It's also a great way to learn how to use an API with different architectures.
On the other hand, you might find it easier to absorb information when it's written down and prefer blogs exploring API use cases. Or you might like to learn through listening, following a podcast where developers discuss similar challenges to what you're working on. All of these options are valid and give the Apple development community lots of options that fit different preferences and contexts.
And it's normal to find that you'll click with specific content creators, where others might go over your head. For example, you could take an online course on how to use SwiftUI and struggle to understand anything, while another course covering the exact same material might make perfect sense to you. Our podcasts page has a great selection of guests who are content creators so that can be a good starting point.
Finding the right content creator
The great thing about the Apple development community is that there is no shortage of different creators covering all aspects of app creation. For example, here at BrightDigit, we have a collection of tutorials covering various aspects of app development. Another example is Stewart Lynch. He has a YouTube channel with videos that walk you through various iOS and other Apple development topics.
The most important part of learning when it comes to APIs is to experiment. Discover all the things an API can do, including outside your own use case. It helps to start small and, where possible, modularize, so if it turns out that something you learned later becomes important, you can include it without refactoring or making a mess of your code.
Find a mentor
Finding a good mentor, or fostering mentorship within your team, is one of the best ways to support your professional development. Mentorship is not only an excellent system for learning; it can also be an effective employee retention tool for organizations.
There are just a few things to remember when looking for a mentor that always bears repeating. The first is, don't be afraid to ask. If you're new to the field or new to a company, you need to ask questions if you're going to get ahead. Mentorship often shows us what we don't know that we don't know.
The second is that, much like content creators in the Apple development community, there are some fantastic people out here who are more than happy, if they have the time, to help you get where you want to go.
The third thing, sadly something that gets missed more often than it should, is showing gratitude. People often want to know if what they told worked, and if it didn't, why not?
Learning new things is hard, but you can make it easier
A special thanks to Stewart Lynch, for the ideas he shared on the EmpowerApps podcast with us that inspired this article.
If you found this helpful, or if this leaves you with more questions than answered, we would love to hear from you! You can reach out to Leo on Twitter at @leogdion. You reach out to us directly here.