Hi, my name is Jeffrey and I work as a freelance iOS Apps Engineer. I must say, I can’t complain. Life is good, and I love my job. My career journey to where I am now has been exhilarating; from working as a chess instructor straight out of college to becoming an iOS developer with Apple itself. I’ll talk more about that later. First, let’s have a quick look at what I’ll be covering in this post:
- What is iOS Development?
- How I learned Swift for iOS Development
- How you can learn Swift for iOS Development
- Next steps to launching your programming career
Let me start by giving you some backstory on how I ended up where I am today.
When I came out of college I had programming experience, but I had never actually written a fully functional application for any platform - desktop, mobile, calculator, nothing! I was actually working as a part time chess instructor when I decided to try to get my first job in tech.
I applied to an iOS programmer job and, despite my limited experience, somehow landed it. In the two weeks between when I signed the paperwork and started the job I bought “Beginning iPhone 3 Development” and tried to speed learn it like I was in the Matrix.
It turned out that I had to continue to study, stretch, experiment and learn for the next 6 months on the job until I finally began to do useful things for the company. From there I continued to press on, landing a junior iOS development job at a bigger agency. There, I worked up from junior to senior developer, before being promoted all the way up to leading our entire team of Mobile Engineering.
It was at this point that I actually got a call from the mothership itself - Apple. In the end, I was able to move my family out to California and had the chance to work on iPhone apps that are used by millions of people every day.
What is iOS development?
As you just read, when I began the iPhone was all there was. But now, nearly 10 years since the release of the original iPhone, there exists an entire ecosystem of devices released by Apple that run on iOS - Apple’s mobile operating system.
We now have multiple iPhones, iPod Touches, and iPads of every possible size all running iOS. iOS Development means writing applications that run on these powerful and popular modern computing devices.
What is Swift?
(In a surfer style voice) “Swift is the future man….”
Sorry, California culture is rubbing off on me. But still in my opinion, it’s true. In Apple’s own words, Swift is Apple’s “modern programming language that is safe, fast, and interactive”. It’s a language created by Apple,that is intended to be the flagship tool used to create great applications and I’m a huge fan of the language and it’s founder, Chris Lattner.
Due to its relative newness, Swift is in a unique position to learn from the triumphs and failures of all previous attempts to create successful programming languages. Also, Apple had years of experience with supporting an application level programming language with their previous language Objective-C. The lessons from this experience have been folded into every aspect of the design of their new language Swift.
And how did Apple do? To me, Swift is absolutely beautiful! It has the succinctness of Ruby, yet the type safety of Rust. It has the elegance of Perl with the generic power of C++. The language is still young and evolving, but already for many, the language has achieved its goal of making programming both fun and powerful.
People who are just now getting into iOS Development often ask me if they should learn Swift or Objective-C, and I tell them to definitely go with Swift. You don’t have to know Objective-C in order to be able to write a beautiful app entirely in Swift. In cases where you may want to add a feature to an existing iOS app you can actually add new Swift code to a project even if the rest of the app was written entirely in Objective-C - thanks Apple!
Swift is more fun, Swift is more secure, Swift is the future, go with Swift!
What is iOS?
Swift is the programming language used to write applications, and iOS is the operating system on which these applications run. You’ve heard of iOS 6, iOS 7… and now we’re all the way up to iOS 9! The operating system keeps progressing and then programmers get access to more and more powerful and entertaining features. Now you can record video and read the accelerometer at the same time, in the future maybe we’ll be able to project a 3D hologram - who knows!
What skills and personality traits do you need to succeed as an iOS developer?
Building iOS apps touches on many different elements of a person’s personality. This is actually one of the main reasons that I enjoy this work so much; it’s so varied.
On an obvious level, an app is built of code and thus a person who enjoys logic will be right at home. In life I always enjoyed logical thinking, linear thinking, and abstract perfection.
Luckily, the developer’s world is one built entirely from human imagination, and thus represents a perfect platonic ideal. In carpentry, if you cut a board to 4 feet it is actually probably 4.001 feet. But in a computer program if you set a variable to 4, that variable is 4.000000… dead on the money.
Within the iPhone’s CPU, everything is entirely deterministic. The phone will do exactly what you tell it to do, so someone who is meticulous, and can think clearly will be effective at accomplishing your functional goals. In addition to logical thinking, there is also an incredible amount of problem-solving. When you are building an app, fundamentally, you are building something that has never been built before. Thus there will be a number of opportunities to solve various technical challenges and implementation details.
But are you a creative person? Well, iOS development will give a creative person a great blank canvas upon which to create. The iPhone is awesome, literally awesome! It has a high definition camera, GPS, accelerometer, a beautiful display, a fast processor, and all of this fits easily in your pocket. With those abilities, the creative mind is stimulated to create and to explore.
Finally, I would recommend iOS development to anyone who enjoys a challenge. You won’t find repetitive tasks or mundane work here, but it won’t always be easy either. If you want interesting work that stimulates you and pushes you to keep learning and improving, I recommend iOS development. It’s incredibly rewarding, too.
A snapshot of the industry, types of roles, job security and salaries
There are a number of roles which dominate iOS development so let’s run through them here.
In Chicago I worked at a small digital agency. This is a common job that an iOS developer may land, so let’s break this setup down a little. A digital agency is basically a team dedicated to building awesome digital products - websites, mobile apps, etc. There may also be similar companies called a “mobile agency”, “dev shop”, or “digital consultancy”.
The point is, these types of companies are hired guns. When someone has an idea for an app they want to build, they come to one of these companies to get it done. My agency had a team of about 10 mobile and web engineers, a few project managers, a small team of designers, and a few people on sales and client relations.
Your job at a place like this would be to build the apps. When the agency lands a new client, your company works with them to find out exactly the type of app they want to build. You then build that app. Luckily, you have a project manager to keep the schedule on track and a designer to make the app look pretty. I really enjoyed this type of work because we were always working with exciting startups and if I got bored of a project it was fine because in 3 months I knew I’d be working on something new.
Another environment you’ll commonly find iOS developers is at a startup. Right now, the industry is super hot because we’re experiencing a mobile explosion. In the 90’s there was an explosion in web because the internet was just coming into the mainstream. With that every existing company suddenly had the need for a website. Also, there was a myriad of new business opportunities offered by this emerging technology.
The revolution of our time is mobile, and thus, there are a huge number of companies looking to hire their own iOS developers. If you end up at a modern tech startup, something that is trying to grow into a multi-million dollar company, you could be in for a pretty exciting ride. The stereotype is true: ping pong tables, free drinks, late nights, and lots of young people working hard and having fun.
One piece of advice, if a company offers you either more salary, or more equity, I would say take the money! Yes there’s a chance that the company could blow up and your stock would be worth a lot. But I personally prefer money in my hand over a lottery ticket.
One final position that we’ll look at is the role of being a founder. Again, we are living in a unique time. In the past, if you wanted to start a business, step one would be getting a small business loan so that you could afford a storefront in your local strip mall. But now due to the internet, the ubiquity of mobile devices, and the ceaseless march of technology, it is more affordable than ever to start your own business.
As an iOS developer it’s possible for you to come up with an idea, find a business partner, and start your own business. Actually, this is a great way to begin utilizing your iOS skills when you’re starting out. As head of the company you’re in charge and therefore you have more flexibility with timelines and commitments. If you come across an iOS technical challenge, you can take a week to learn the new technology and then continue building your product.
Perhaps your greatest advantage as a founder with iOS development training is that you can build your own products rather than hiring someone else to do it. It’s cheaper, you work to your own deadlines and you get the satisfaction of having realized your own concept. Although working at a larger company would naturally be more stable, starting your own company will ultimately be a much more rewarding and freeing experience.
What does an iOS developer do?
Now that we know the types of roles out there for iOS developers, and the varied environments it’s possible to work in, let’s dive into what a typical work day may look like.
Let’s assume that you are working at a small development agency and you are building an app for a client. Most of your time will simply be spent building. From the project manager, you will receive a project spec. This will include everything you need to know to be able to build the app properly. In regards to the network calls that you need to make, the spec will list the servers that you need to hit. To understand the flow, the spec will have a wireframe that shows the screen transitions.
Generally, you will work with a designer who will give you all of the custom assets and colors that you need to make your app look great. This is actually one of the best perks of working at a place with a good designer. If the designs look awesome, then your app looks awesome - even if you’re still just a junior developer!
It will depend on the exact culture of the company you’re working for, but my experience has always been that you will also have the ability to influence the fundamentals of the project. Let’s say you realize the checkout tab would be more accessible if it was a button. You can then talk with the project manager, or potentially even the client, to be able to suggest these types of changes. Generally speaking, if you constantly focus on trying the make the app better, you will make quick friends with everyone.
As far as working with other developers goes, generally speaking not many developers work on the same app at once. Many times, there will be only one iOS developer that builds an entire app, or if there are multiples, generally less than 3. You will also work with engineers who build the server side aspect of the app that will supply your views with data. For testing, you may be tasked to test your app yourself or your team may have dedicated quality assurance (QA) engineers to help test functionality before shipping. To sum up, come in, add features, fix bugs and build cool stuff!
How I learned Swift for iOS development
How I landed my first iOS job
I landed my first iOS development job in a very direct way, I sent in an application. Previously, I was running a business that built custom installations for artists. It was great building custom signage and interactive art, but this business was coming to a close and I needed to figure out what was next.
I decided to fall back on my college training of Computer Science and apply for a programming job. I had never been employed as a full time developer and I decided to apply to every kind of programming job I could find. I applied to web programming, desktop programming, and mobile programming jobs. The iOS app position is the one that called back! Even though my employer knew that I didn’t have any previous iOS programming experience, he decided to give me a chance.
So I had the job - great! The only problem now was learning how to write iOS apps and fast. In the two weeks between when I signed my contract and when I started work, I bought the book Beginning iPhone 3 development. The iPad didn’t even exist back then! I read through the book and worked through the exercises, but unfortunately, I still didn’t really know what I was doing.
I came to work my first day and my employer, Elvin, said to me “We’ll put you on a project and if it’s too advanced for you, just let me know and we’ll move you to something different.” Beautiful, I thought, let’s go. The first task he gave me was to fix a bug in some audio processing code. I looked into it, but this was definitely out of my league. Next he tasked me to add data persistence to an existing conference app. Fail. Finally, when I came to him to let him know the third task he gave me was also beyond my current capabilities, he said “Well, that’s it, that’s the last one.” Translation, “you’re fired”.
No! I thought. It took me a day, but I came back to him with a plan. I proposed that instead of working full time, I would work half time but still come into the office full time. In the morning, he would give me the task to complete. I would spend the first four hours of the day researching and studying how to accomplish the task and the second four hours implementing it. I’m not even sure if this arrangement is legal, but hey I proposed it, he accepted it, and it saved my job. Never underestimate the power of tenacity!
With the above pattern, I finally began to make progress. But make no mistake, I worked hard. ** I worked HARD**. I became obsessed, studying day and night, reading every iOS tutorial I could find, taking copious amounts of notes reminiscent of college, and watching hours upon hours of instructional videos. Through this hard fought effort, I became more competent. And once you have one area when you are confident, you then have a base from which to explore new fields and features.
I continued to push myself for the next few years. I didn’t like the feeling of being behind with programming and so I vowed to work until I could feel confident tackling any task that someone might give me. When my first employer went out of business, he was generous enough to introduce me to another development agency in the city. I hit it off with these guys and landed a job as a junior iOS developer there.
They later admitted: “We didn’t know if you were good or not, because you were our first iOS hire, but we liked you, so we decided to give it a shot!” I continued to work passionately and study hard there for the next few years. Through this process, I became a senior level iOS developer and was even tasked with leading our entire mobile department.
When I got this promotion, my boss even let me pick my own title. I went with Director of Mobile Engineering. Generally, in the industry, people refer to themselves as developers, but I’ve always been a strong believer in the power of language to create new reality, and thus I began to embrace the term ‘engineer’.
The software industry is very new compared to other disciplines and sciences, and thus it’s still evolving quickly and largely unstructured. To become an engineer, I simply began embracing things that distinguished me from the average programmer. ** I decided that developers write code, engineers architect solutions. **
Developers are replaceable and interchangeable, and an engineer is someone that you want to get and keep. A developer might slap together a shoddy chunk of code to solve a problem, where as I as an engineer would make sure that things are completed to spec and with great quality.
As a piece of advice, if you focus on solving problems , and making other people’s lives easier, you will not only make quick friends, but you will find yourself successful in business. This is the mindset that I embraced and it eventually led to me moving out to California and work directly for Apple as an iOS Apps **Engineer**.
Oh man, I have been down some roads! I’ll start with a small challenge I encountered and then give you the one that haunted my sleep for months. The most common type of challenge that I face as an iOS developer is simply someone asking me to do something that I’ve never done before. In practice, for your first few years in this industry, this will be a very common occurrence. This should come as no surprise because there are around 100 different frameworks in the iOS development environment that you could possibly use. But don’t be too alarmed by this. In practice, the process goes like this:
1. Client asks you to perform some task that you have never done before
2. You watch a bunch of tutorial videos and then build a sample app.
3. “I know kung fu” (for you Matrix fans out there).
4. The new framework no longer seems deeply mysterious and you build out the extension the next day.
This is a process that I have repeated many times in my career.
Now on to the main course: the biggest challenge I have faced.
I encountered a client that wanted to build a real time peer-to-peer communication platform on iPad. Lucky for me, I was well-studied and I recognized that the recently released Multipeer Connectivity framework would be a perfect fit for this type of project. I had not used the framework before and technically, no one had because it was new.
I studied the framework, I build out some test applications, and then we were off to the races building an app that could support the use of a thousand people at the same time. Development progressed well and we neared the deployment of the project. At this point we began to conduct stress tests on the code to check for quality. Through this process, a bug was discovered that was causing data to be lost. We explored the issue and traced it down all the way to the layer of the actual Multipeer Connectivity framework.
Translation: the bug was Apple’s bug, and not even my bug!
In a sense, this was a relief, it was not my fault.
In another sense, this was very, very bad news.
The foundation upon which we built this app was fundamentally unstable. At this point we were months into development and only a few weeks away from deploying the application at a live event.
My team and I scrambled and scrambled to find a way to work around the problem. At this point, Apple knew about the bug in their framework, but a fix wasn’t coming for months. We tried adding layers of resilience on top of the Multipeer framework, but unfortunately, those layers were still built on an unreliable layer. When the application was finally used at its first event, quite frankly, it did not work.
This was a very hard pill to swallow, both for the client and for our team. I knew the tens of thousands of dollars the client had already spent, and I knew that he had people that were relying on him. This gave me many sleepless nights and month of internal turmoil.
Unfortunately, in this particular situation, that’s just the way things went. Software development is a field that has many, many variables involved and in this case, despite everyone’s best efforts, things just didn’t come together in the end.
In hindsight, yes, this brought much stress and I had many sleepless nights. But also, I’m still here. I’m still alive and still programming new applications. To give you a word of advice, you will face many new challenges and most will be overcome with a little study and hard work. Even in the worst of worst scenarios, life and work will still go on, and you will learn a ton that will be useful to you when the next opportunity arises.
How you can learn Swift for iOS development
I’ve done a lot of hiring of iOS developers throughout the years. People often ask: do you need a Computer Science degree to be an iOS developer? The short answer is no. The long answer is that iOS development is a young field and as such it is still a very challenging job. These skills can be acquired, but it means that you are either a genius, or someone who is willing to put in the effort and dedication needed to become a true iOS developer.
Which one are you? Well, let’s take a test to divide the audience. Try the following word problem:
Assume you have a function that takes a positive integer n. The function behaves as follows:
If n is even, divide it by 2. If n is odd, multiply it by 3 and add 1. Repeat this process with the resulting value until you reach the number 1.
Find an integer that you can feed into this function that will run forever and therefore will never reach 1.
Did you find a number that never reaches 1? If you did, then you *are* a genius because you’re the first person in the world to do it. This problem is call the Collatz conjecture) and despite its simple premise, it’s currently an unsolved problem in mathematics. There may be a solution to this challenge, but if there is no one knows what it is yet.
I assume you’re like me and you couldn’t solve this challenge. So where does that leave us? With hard work. Great, I believe that’s why you’re here. Because you’re ready to get serious about learning iOS development. Now that we’re serious, what options are out there to learn Swift for iOS development?
Learning resources can be broken into three main categories:
- Self taught, on and offline
- Formal, expensive, offline
- Formal, mid-priced, online
Learning iOS development: Self taught
Let’s begin with self directed study as this is where most people begin. As we approach the year 2020, we can reflect on how incredible the time we live in is. Most of the knowledge that the world has ever created is now online and accessible to anyone with a computer and internet connection. This is an incredible resource and something that makes us distinct from any time in history. And many people are taking advantage of this.
For my journey in learning iOS development, the internet was a powerful early resource and was fundamental to my success.
- I started out with a tutorial site by Ray Wenderlich. They have great tutorials on many specific topics that you may be interested in. And it’s a lot more fun than reading pure Apple documentation.
- Next up is a site that will probably become your most frequented. I still use Stack Overflow almost every day, and you should too. Stack Overflow is a question and answer site dedicated to helping people with programming problems.
Assume you find yourself stuck with a weird programming error like
libc++abi.dylib: terminating with uncaught exception of type NSException (lldb). From now on, step 1 should be: paste that error directly in Google, and step 2 will be: click on the first Stack Overflow link from the results. Before Stack Overflow there were only horrible message boards with impossible-to-follow threads. Stack Overflow has done a great job of making content clear and incentivizing the creation of good content.
Finally, if you can’t find your answer on Stack Overflow, create an account and post the question yourself. For every question that I’ve posted, I’ve received quality answers within the first day. Feel free to check me out here stackoverflow/bearMountain. In fact, being involved is not only good for the developer community as a whole, employers love to see an active Stack Overflow account from a prospective hire.
The next thing I would recommend to someone getting serious about learning iOS development is to get involved in the local developer community. Keep your eye out for local developer meetups or free intro courses. A great resource for this is Meetup. This is a site that helps people organize local in-person events. I’ve had great experiences at meetups and would recommend them to every student.
Finally, I can’t recommend enough the developer videos that Apple itself puts out. These videos can be found here and can be streamed or downloaded for local playback. Apple puts on a developer conference every year called WWDC and these are the videos from that conference. These videos used to be sold as a package for $500 and are now available for free! They are of the highest quality because they are from the actual engineers that build these technologies. Definitely check them out.
Here is a full list of free or self directed resources that I recommend:
Learning iOS development: Formal and traditional routes
The traditional route to a career in software is to get a four year degree from a large university in either Computer Science or Computer Engineering. This is the route that I took although it was definitely not intentional. I went to college assuming I would major in business and only pursued Computer Science after I fell in love with an intro to programming course that I took. Now I’m a big fan of Computer Science and I hope you will be too, so let’s start with the positives of this traditional approach. A four year degree in Computer Science will give you the theoretical basis for all modern programming. This includes ideas like Algorithms, Data Structures, and Big O Notation.
These ideas are the raw materials for the tools you will be using every day as a programmer. In many senses, you can get away without knowing them because in a modern programming environment, like iOS programming, all of your tools are already built for you. For example, when you’re writing an iOS app and you need a search function, you don’t have to know how to write a search function, you can just use one that Apple has already made and provided.
However, there are cases when it becomes essential to know fundamental Computer Science concepts. These times come at the edges or limits of programming. For example, if you want to update someone’s address in a database, you can pretty much do it any way you want. But when you want to update 100,000 addresses in a database, if you do it right it will execute in 100 nanoseconds and if you do it wrong it could take 5 minutes. Computer Science is powerful!
In addition to the specifics of theoretical Computer Science, I would also recommend a four year degree to someone who desires a more well-rounded education. In a standard undergraduate degree, you study more than just classes for your major. I took many classes in art, philosophy, and Chinese which are all great passions of mine. For me, college was an incredible experience and has proven invaluable in my life and career afterwards. Is it right for you? I don’t think I want to take full responsibility for deciding that, because also college was cheaper back when I did it. The reality of a crushing debt after college is, in my opinion, something that should be considered carefully before committing.
If you decide to go down this route, then make sure to do your research. Visit different universities and meet people from their Computer Science departments. Also check out institutions that may be trying a slightly accelerated or more focused model. Make School in San Francisco is trying to be a 2 year college alternative for programmers for example.
Learning iOS development: Formal / mid-priced / online
This brings us to the final category of resources for starting a career as an iOS developer with Swift. These are websites that try to run you through a formal course in iOS Development. I run a local Meetup in Santa Cruz, California and I often ask my members and people that are just learning iOS development what services they use. Many start out with Treehouse or Code School which are both programming video sites that cost around $30 per month. Udacity is another option that is more expensive and runs with its idea of “nanodegree” programs. In general I’ve heard that these have been helpful for people to get started but after that, they can get stuck and not know how to progress.
This is why I created the iOS Developer course for Career Foundry. I wanted something that could help people that are serious about learning iOS development but want something they can do online from their own home, or from anywhere in the world. I took everything that I know from years of study and work in the iOS development industry and put together a course that can launch someone’s career as an iOS developer. Most importantly it’s a mentored course, so as you work through the six month curriculum you will have a knowledgeable professional with you every step of the way to help you if you get stuck on a programming problem, or if you want someone to look over your portfolio as you find your way in the job market. I’m very excited to share it with my friends here in Santa Cruz, and with many others across the world.
Getting work experience
In a sense, getting work as a new iOS developer is easy, but you do have to work for it. For example, you could build your own app idea. Have a cool thought about an iPhone app controlled heated blanket? Then you my friend are in the app making business. It’s great that you get hands-on work building an app that can actually be bought by people all around the world. However, while you can still make a million dollars selling an app, it’s happening less and less. The real salary opportunities are in jobs with - you guessed it! - salaries. But for starting off, working on your own app idea is a great first step.
Another viable option is to join an “unfunded startup”. This is a startup that offers equity in a business instead of a salary. It’s a risk, but if it’s a business that you can believe in, this can be a great way to get a first opportunity, meet people in the industry, and possibly even make a buck if the company takes off.
I’ll give one final tip. Be tenacious with your opportunities. Apply at to a company with honesty yet confidence. If they say “not right now” then walk out with your head high but don’t give up. Literally, go back, and convince them of your interest and ability. I once has a prospective hire who didn’t land the job. He felt that he had done poorly on one particular technical problem during the interview. One week later he sent to me a very thorough sample project and a light hearted note stating that he understood that concept much better now. This stuck with me and I looked out for that guy for a future employment opportunity.
Building your network and meeting others in the field
To build your network, I still recommend good old fashion person to person communication. Meetup is a great place to do this, and has meetings in many local places. There are great online resources as well. Get involved on Twitter and follow people in the industry who sound interesting. Start with Ole and Natasha. There are also both entertaining and informative iOS podcasts out there. Finally, explore some of the many great iOS development blogs like NSHipster.
Building your personal brand
It’s great if you are able to build a brand around your personality or name. To do this, just be sure to let your unique features show through in the work that you put out and you content on social media. If you’re a playful person, include a story in your next blog post. If you highly value structure, convey that in your homepage layout. If you have good creative skills, make sure to send an unorthodox resume for a job application. All of these things can help you to stand out *and* be memorable in the iOS developer community.
If you want to make friends, do two things when you meet people.
- Find something to genuinely appreciate about them. Not false flattery, but something about them that you are able to truly value. This requires humility within yourself.
- Be helpful to the people you interact with. Keep an eye out for ways that you can serve people while asking for nothing in return. Not only is this a nice thing to do, it has been the source of some of my longest relationships and most fruitful collaborations.
Building a great portfolio
One place that employers like to look is Github. This is a website that houses source code (the guts of an iOS app). It’s good to have more than one project on your personal Github page, so it doesn’t look dumb, but from the employer’s perspective, it’s way better to look through one quality code project than 13 sloppily written sample apps. I would apply the same rule to the iOS App Store. Because your time is inherently limited, I would recommend publishing one app to the app store that you can be proud of and show to a potential employer.
A final site, which I already mentioned earlier, is Stack Overflow. Becoming involved asking or answering questions in the iOS developer community is a great way to show your commitment. You can also point an employer to your Stack Overflow score as another point of validation.
Speaking to your employer about including iOS development in your current job
One key lesson that has allowed me to succeed in the business world is this: “Don’t be someone who creates problems, be someone who makes problems disappear.” Let’s see this principle applied to as sample conversation. “Excuse me, boss person, I’m trying to get into iOS development. Can you think of something iOS-related that I can do?” Analysis: Good or bad? Result: BAD! Here’s the translation for the boss’s perspective, “Alert, alert! There’s an employee that is trying to throw some new responsibility on your plate. Dispel them of this immediately before they become more bold.” Ok, let’s try that again with a better strategy. “Hey Susan, I’ve been independently pursuing learning iOS development. I have a vision for how a part of our website could function as a standalone iOS app. Would it be okay if I stay late this Friday and build a prototype?” And inside the boss’s head, “Hm… this person is industrious. Well, no skin off my back, all I have to do is say yes.” Then, once you can establish yourself as “the iOS lady”, it’s much easier to transition into doing iOS work during your normal working hours.
When people say to me, “I’m thinking about trying to learn how to build apps and become an iOS developer.” I always say enthusiastically, “Yes! Definitely do this.” To me, the iPhone is a really cool, really expensive toy that millions of people already have in their pockets. It’s a cool challenge to build for it and it’s a luxury to build in the Apple development environment. Apple works hard every year to make its tools more advanced and easier for its developers to use. Also, it doesn’t hurt that once you become a skilled iOS developer, the pay is not bad.
I sincerely hope that this article has given you a well-rounded insight into not only how I learned Swift and became a very happy iOS developer, but also how you, with a little perseverance and a lot of passion, can take steps to do the same.
That’s it from me, now, get learning and good luck!