Becoming a professional iOS developer is not as complicated as it’s often made out to be – but to excel, you’ll need more than great code.
One of the most common questions I get is, how do I become a developer in two months? And it's… no, you have the wrong attitude already.
Sean Allen is an established iOS developer known for his courses and educational content on his website and YouTube. Earlier this year, I talked with Sean Allen on EmpowerApps, and this was how he started our conversation on misconceptions about how to become an iOS developer.
If you’re a new iOS or Swift developer or studying to become one, this is for you. This article busts some of the biggest myths out there about becoming a developer with the best tips Sean and I discussed on how to succeed as a professional.
How long does it take to become a good iOS developer?
Longer than you think. And a lot longer than two months.
Good software development of any kind heavily relies on experiential learning – you need to make software and a lot of it. You need to do the same things – solving similar problems and developing similar functionality over and over again to gain the skills and memory to excel in this profession.
It also never stops – you’ll never stop needing to learn new things as a developer. Continuous learning is essential to staying relevant and on the leading edge of any development you want to do. With iOS and Swift, we’re often carefully listening for any signals Apple gives us that show what direction it wants to guide its ecosystem, particularly during WWDC.
It will be a long, difficult process – there really isn’t any way around that. If it were easy, we probably wouldn’t make any money doing it. At the time of writing, the average salary of an iOS developer in the United States is $134,000, reliably putting them in the top 15% of income earners in the country.
The Tutorial Trap
You watch a tutorial to learn how to build a specific function. A week later, when you’re trying to develop that same function, you suddenly find yourself straining to remember how to do it.
I should know this.
It is a myth, one that we tell ourselves more than anything else, that just because we know what code to write doesn’t mean we know the code.
Sean calls this The Tutorial Trap. He may have even coined the term. But it’s a phenomenon that experienced developers are all too familiar with. A tutorial often only gives you a surface-level knowledge of the code, but there’s more going on, and there will always be more you discover is going on the deeper you go.
As I mentioned above, there’s always something new coming out. At BrightDigit, we’re always trying to stay on top of that and share what we know about different platforms, whether it’s the evolution of WatchOS or SwiftUI’s impact on how we build apps.
As with many things, the real test of what you learn is when you have to create something new. As Sean put it:
... my learning skyrocketed when I decided to make my own project, and there was no cookie cutter recipe to follow.
You’ll likely find that tutorials are most helpful for filling gaps in your knowledge when trying to learn something new. And it may, for a time, feel like you’re banging your head against a wall. However, you are using an established mechanism of educational psychology, where building knowledge does eventually lead to unlocks in your understanding and comprehension of that same information. In our chat, Sean described it as two levers being pulled., but it’s sometimes a bit more complex than that. I did a breakdown of what this process looks like in the context of learning new APIs, which includes more specific suggestions that can help you.
> youtube https://youtu.be/gH3QnVHsUAc
What does it take to be a professional iOS developer?
If you got this far, knowing how hard it will be to develop professional development skills, and you’re still excited and welcome the challenge, I have good news: you probably have the personality traits that will make you a great developer.
Obstacles in software programming never go away – the people who succeed are those with the temperament and patience to keep at it until they find a way through. That’s essentially what this job is all about.
On Soft Skills
Sean is a believer in soft skills, reckoning when it comes to developing skills that will serve you well in this field, it should be about a 50/50 split between the hard technical skills and soft communication skills. And I agree with him.
I’ve written previously on both supporting good communication as a team manager and why you should be looking for those same skills in the hiring process. For a lot of iOS development, unless you’re doing something incredibly technical, your ability to work well with team members, stakeholders, and customers will hugely influence your career.
If you’re interested in learning more, you can also listen to my chat with Kim Arnett, where we talk about communication skills and what to look for as both the interviewee and interviewer for development jobs. And while it’s been a few years, Paul Hudson’s chat about upgrading your skills is still very relevant for anyone just starting out with iOS.
Decide how you want to have an impact
When choosing where you want to go with iOS development, there are really two main paths you can take.
One is to go to work for a mega-corporation (think Facebook, Amazon,Google, and Apple itself) or another large company. This path usually comes with lots of perks and benefits, lots of structure to your work, not to mention you will be surrounded by tons of other developers who can help you and bounce ideas off of. The downside is that you might be one of thousands of developers, the hours tend to be very long, and you might not feel like you’re contributing all that much.
The other, which is more common if you're a self-taught developer, is to start your career at a small company or startup. You might be the only iOS developer in the organization, but it also means that everything you do has an immediate and significant impact on the business. Pay may be a little lower, especially if you work for a startup, but you also usually have a lot of control and autonomy over how you work (although hours may still be long).
Both Sean and I fall into this category, so we have some bias. Sean has a great suggestion if you choose to go small, to learn how to show off your portfolio to demonstrate how you work – while you’ll also still need a resume, a working portfolio is where you can show what you’re really capable of.
One path is not better than the other, but it often comes down to what you personally want and need.
Always be networking
Regardless of your path, if you’re committed to being part of the iOS development community, we recommend you network, both online and in person.
While it’s not quite what it used to be, X (formerly Twitter) is still the social media platform where you can find the highest concentrations of iOS and Swift developers sharing their thoughts, ideas, and what they’re working on. LinkedIn and Mastodon are good places if you’re looking for more experienced or senior developers, but at the time of writing this isn't a trend yet.
If you can, we recommend doing local, in-person networking if you live near a tech hub. In the US, this would include San Francisco, Seattle, Austin, New York, Boston, or Raleigh. There still isn’t anything that’s a true substitute for time spent in person chatting and having a good time with your peers.
For more ideas, check out my guide on networking related to WWDC for Swift developers.
Thanks to Sean Allen
Thanks again to Sean Allen for the great conversation we had on the podcast. If you haven’t had a chance yet, go give it a listen for a more complete discussion about the ideas I’ve written about here. I also suggest following Sean on YouTube and check out some of his videos.
If you liked this, subscribe to our YouTube channel too!
All episodes of the EmpowerApps podcast are published on YouTube through the BrightDigit channel, where I interview other iOS developers and other people shaping how we do iOS and Swift development around the world.