Indie App Devs #10
Weekly tips for indie app developers.
Hello! 👋
Today we have a well-known iOS Engineer, creator, iOSKonf conference organizer, and speaker - Monika Mateska.
She shares tips on how she would start iOS development from scratch if she had to.
Follow her on X/Twitter & LinkedIn.
If I Started iOS Development from Scratch: Lessons, Resources, and Advice for Beginners
Starting iOS development can feel overwhelming. There are countless tutorials, frameworks, and opinions on what to learn first. If I had to start again today, knowing what I know now, this is exactly how I would approach learning iOS development from zero, step by step, with a focus on building strong foundations and confidence.
1. Forget About Frameworks - Focus on Swift First
If I were beginning again, I would start exactly where I did: by learning Swift first. Investing time in mastering the language itself makes a huge difference later. Frameworks become much easier when you already understand what’s happening behind the scenes.
Focus on understanding the fundamentals, variables, optionals, structs, protocols, functions, and closures. These concepts shape how iOS apps are built and how Swift communicates with Apple’s frameworks. Once you grasp them, everything else clicks faster.
Some excellent resources to begin with:
Hacking with Swift: Swift for Complete Beginners - a clear, project-driven introduction.
The Swift Programming Language - Apple’s official guide to Swift.
Swift with Vincent - great short videos that make concepts accessible.
If you prefer structured video learning, paid platforms like Udemy, Coursera, and Pluralsight offer excellent beginner-friendly iOS courses. These platforms often have big seasonal sales, so it’s worth waiting for a good deal instead of paying full price.
If you’re a student, don’t forget to check for student discounts, many platforms and developer programs offer them.
The goal here isn’t speed, it’s depth. Take your time to write and break code, understand why something doesn’t compile, and experiment in Xcode Playgrounds. These early lessons form the foundation for everything you’ll build later.
2. Build Small Projects - Don’t Wait for the “Perfect Idea”
After you’re comfortable with Swift, the best way to grow is by building small projects. It doesn’t matter if they’re not original or ambitious, what matters is that you finish them. Completing small apps helps you connect theory to practice and gain real confidence.
Start with simple ideas: a tip calculator, a to-do list, or a weather app. Each project teaches you new patterns and challenges, from understanding data flow to managing state.
A great way to find inspiration is by exploring Apple’s frameworks and APls. Pick one that interests you, for example, experiment with:
MapKit to display nearby locations or routes.
HealthKit to analyze daily activity or sleep.
Vision to detect objects in photos.
Speech to transcribe voice notes.
Try to solve a small, real problem using that API. This approach keeps learning exciting and gives you practical experience working with Apple’s developer ecosystem.
Helpful starting points:
Swift Playgrounds - Apple’s interactive tool for experimenting and learning.
Hacking with Swift: 100 Days of SwiftUI - a comprehensive, project-based series.
SwiftUI Curriculum - Apple’s official structured path for learning SwiftUI.
Follow the tutorials, and as you get more comfortable with the code, start making small adjustments, change a feature, redesign the layout, or even modify the app idea entirely. Each variation teaches you something new.
Push your finished projects to your GitHub account to start building your portfolio. Over time, this collection of small apps becomes a valuable reference you can revisit whenever you want to refresh your knowledge or demonstrate your growth.
3. Join the iOS Community
One of the most rewarding parts of becoming an iOS developer is joining the community. It’s full of kind, passionate people who share knowledge freely and support each other’s growth.
A great place to start is iOS Dev Happy Hour a monthly online meetup where developers of all levels connect, chat, and share experiences. It’s one of the most welcoming spaces you can find in tech.
In addition to online events, look for local meetups in your area. Many cities host monthly gatherings under the CocoaHeads umbrella, where developers share talks, projects, and experiences in a friendly, welcoming environment. Attending even a few of these can help you connect with other developers, exchange ideas, and find mentors or collaborators.
There are also many iOS conferences around the world, so you’ll likely find one that fits your location and interests. In the US, check out Deep Dish Swift in Chicago. Across Europe, there’s SwiftLeeds, Arctic Conference, iOSKonf - which I co-organize, and many others. In Asia, conferences like iOS Conf Singapore and try! Swift Tokyo, and LET’S VISION in Shanghai bring together fantastic regional communities.
You can discover upcoming conferences and meetups at dev.events/iOS.
4. Stay Up to Date
iOS development moves quickly, and staying current is part of the job.
Following the right sources makes it manageable and even enjoyable. A few trusted newsletters and blogs provide consistent, curated updates:
Pick one or two that match your interests and stick with them. Over time, you’ll develop an instinct for what’s new, what matters, and where to focus your learning next.
5. My Thoughts on AI Tools
AI coding tools are becoming increasingly common, but I wouldn’t rely on them when you’re just starting. Writing and debugging your own code forces you to think critically about the language and problem-solving process, and that’s where real learning happens.
There are already so many great resources available for common issues, from detailed blog posts and Stack Overflow answers to Apple’s own documentation and forums. In most cases, someone has already faced and solved the problem you’re dealing with. Searching, reading, and understanding those solutions is an important part of becoming an independent developer.
Once you’re more confident with Swift and can recognize what’s correct or not, AI becomes a helpful assistant rather than a shortcut. But early on, the best thing you can do is wrestle with the code yourself. Every error you fix is a step toward your knowledge.
6. Final Thoughts
Learning iOS development is a long-term journey, not a quick sprint. It’s easy to compare your progress to others, but consistency and curiosity matter more than speed. Every day you write code, watch a talk, or read a newsletter is a step forward.
The iOS ecosystem is one of the most supportive and generous communities in tech. Take advantage of that. Build small projects, connect with people online, attend events, and share what you learn, even small insights can help someone else just starting out.
And most importantly, enjoy the process. Every bug you solve and every “aha” moment adds up to a deeper understanding. The path might be challenging, but it’s incredibly rewarding.
Want to learn more?
Follow Monika on X/Twitter & LinkedIn.
