Posts tagged: Developer

Why I Chose to Learn iOS Instead of Web Development

I write the curriculum for DevMountain's part time iOS development course. Our first cohort was extremely successful. If you are considering learning to code or become a developer, you should consider our iOS course. This post is a response to the number of students that ask me if they should do web or iOS, or even web then iOS.

Funny they ask me what I think. Is it not obvious what I think? I chose iOS. Here is why:

What makes iOS the best choice?

There are at least 4 reasons 1 why you should learn iOS development over web development:

  • Higher income
  • Scratching my itch
  • Stronger platform
  • Residual income

Higher Income

The best senior web and mobile developers make very high salaries. But pre-course students are not asking about talented senior developers; they are asking what they should expect coming out of a 12 week program (I should point out that some students are brilliantly talented after only 12 weeks).

Both iOS and web cohort graduates will interview for positions paying 1/2 or even 1/3 of what the top senior developers are making, and will be happy to do so. To use real numbers, I'm talking about $45k-70k for the students compared to the $100k-140k that senior developers make in similar markets.

Thanks to the small mobile developer pool and the current demand of companies to develop in-house and App Store applications, the best iOS graduates will end up on the higher end of that $45k-65k number. In my experience, iOS developers often are offered 15-20% more for a comparable development position. There are a lot more web developers than iOS developers.

There are also a lot more iOS development jobs than there are iOS developers.

Think of it as simple supply and demand: there are less iOS developers than are needed so employers have to pay more for iOS developers. The inverse is also true: because employers are paying a higher rate for iOS developers more students will begin to choose iOS development.

The market is currently bullish on iOS development. The cohort fills up quickly and we receive more applicants each day. The best time to become an iOS developer is right now; this is a wave that you don't want to miss.

Scratching my Itch

It has to be frustrating that when you have an app idea you have to convince a developer to build it for you.

I do not have that problem. My problem is that I have too many ideas and not enough time to build them all. How would you like to have that problem?

The apps of which I am most proud are the ones I built for myself 5. When a friend had an idea for a sunrise sunset calendar I wanted one so I helped build Rise. I wanted my daughter to learn letter sounds so I built Alphabet Sounds.

These were weekend projects. Neither of those examples took more than 50 hours to build. But they are on my phone, on the App Store, and are making a small residual income.

It gets better. As my daughter grows I can build apps specifically targeted for her learning needs. I can watch her trying to learn math and find tools and concepts that work for her. Then I can build them into an iPad app that she will want to use.

Stronger Platform

Many pre-class students pick the web class because it is a broader platform. I chose iOS because of the platform depth, and chose not to do web because of its breadth.

When you develop on a platform it shapes the way you see what you are building. Communities are formed around platforms. Typically libraries (third pary code bases you might add to yours) are built for a specific framework or platform.

  • iOS development is one platform and countless libraries limited to the iOS platform. 2
  • Web development is countless frameworks and libraries limited to the framework you choose.

There are innumerable frameworks for the web in which you can work. Look at the number of JavaScript frameworks (and the list is not comprehensive). This is not a knock on web development, it is a strength of the openness and community of web development. No web framework is around for the long haul, they move too fast.

Mobile development moves quickly, but the frameworks remain steady. At DevMountain we do not teach a language, we teach the frameworks. This means that what you learn in your 12 weeks will still be usable in 3 years. Of course there will be new features and APIs; there will even be a new language (Swift). But the frameworks remain the same.

You gain an enormous command over a deep platform rather than a broad set of skills related to web development.

Residual Income

You need to know: the gold rush is over. You are not going to make millions of dollars in the App Store. But that is probably old news to you. Most people I talk to would love $100-300 of residual income each month.

The fact is that once you learn how to build iOS applications you are hours away from submitting software to a store that can return to you a residual income. The experience is life changing.

The iOS platform is a powerful and active software marketplace. If you spend the time and energy making a product (even on the side) that meets a market need, and find a good way to bring people to that product 3, you will make money 4.

"Life changing" does not always come in the form of 6 figures. I have a simple application that makes enough each month to pay my family's phone bill and over the course of the year save up to buy a new iPad and iPhone when they come out.

I have another application that makes enough to pay for our family's health coverage. When we had a baby last year it was not the insurance from my full-time job that paid the bill; it was the insurance paid for by one of my apps.

Neither of these make a ton of money. But, I have not touched them in years and the income makes a tangible difference.

Either way

Ultimately any senior developer will want to learn more than just one language and one platform. If you pick web first, come over and learn iOS next. If you choose to learn iOS first, eventually go learn web development.

If you are considering becoming a developer; do it! Learning to develop is a life changing experience. Whether you focus on iOS or the web, it will be exhilarating. We are excited for you. Software development is a mentorship driven industry.6 There are millions of experienced developers on the other side, and they are ready to put their arm over your shoulder and welcome you to the party.

In the end, the best I can offer is my experience.

I left my corporate stooge job. I quadrupled my annual income. I obtained the freedom to work on whatever I want, and only on products in which I believe. I get to decide how much money I make.

I get to wake up in the morning and spend time with my little girls. I get to take a day off when my wife feels overwhelmed. My best friends work and build with me everyday.

Learning iOS development is one of the best decisions I have ever made.


  1. The platform is bursting with users and powerful APIs and the products we are building are fun and exciting. Developing on a native platform means you can take advantage of hardware, and provide your users with better experiences. The list goes on and on. 

  2. This is not true if you select a gaming platform like Cocos2d or Unity. Those will also limit the libraries available to you as you are building an application. 

  3. The DevMountain iOS course indeed covers app marketing.  

  4. Making significant money from iOS applications on the app store takes a full business. You will need to focus on market fit, marketing, keeping your app up-to-date, and maintaining relationships with your customers. It is not simple. But it is also not a pipe dream. I have multiple friends (not flukes) that make or have made 6 figure incomes from the app store. It takes work and dedication. And it is very real.  

  5. I built Lettercheat and Ward Finder to scratch my own itch. They are not on the store anymore, but they were still a ton of fun, and I was so proud of them while they were available. 

  6. Especially in iOS. I am always amazed by how much developers love and assist one another. Just look at Marco Arment's latest product Overcast. It is an iOS podcast application, and he received help and guidance on how to build it and what to watch out for from PocketCast and Castor developers - other independent competitors.  

Programming Is The New MBA

It’s obvious to me that learning to program could be one of the best things you could do for your own career. Similar to an academic graduate program (like an MBA) programming will open many doors.

I love my job. There are definitely non-monetary benefits to this career. As a developer I feel like part of a brotherhood with millions of other developers. I see the world differently from the way I saw it before I learned to program.

There are also, indeed, monetary benefits that make learning to program that much better. There are many opportunities that are available to me because I learned to program.

Programmers earn a lot of money

I want to be very careful in how I introduce this post. This is meant to be a 'well that's an interesting way to think about it' type of post. I would not advocate that everyone learns to program rather than attend a graduate program in another study (like an MBA). I will say, that for many of the people that read this blog learning to program was (is) as valuable as getting an MBA.

This morning Ben Podgursky uploaded a list with household income reported for developers that contribute to open source projects. The list is ordered for income for the given programming language.

It's old news that programmers can make a lot of money. In Silicon Valley the average salary for a developer was $118,900 according to a study by Riviera Partners - it was as high as $130,000 for database programmers.

Programming is the new MBA

I thought it was interesting to compare the income from Podgurky's chart for a programming language with the average starting salary1 after graduation from an MBA program. Here is a simple chart listing a couple of the languages from the research (Rounded to nearest $1000):

Language

MBA Program (Ranking)

Average Income

Python

UCLA - Anderson (11)

$97,000

Ruby

USC - Marshall (23)

$98,000

C++

Yale - School of Management (13)

$99,000

Go

Duke University - Fuqua (10)

$101,000

Objective-C

UC Berkeley - Haas (8)

$102,000

Java

Dartmouth College - Tuck (14)

$103,000

ActionScript

MIT - Sloan (7)

$108,000


If you work for a 5-7 years as a programmer in one of these languages (honestly, likely any language with the exception of PHP2) you could very likely apply for a senior position getting paid a very respectable salary.

Similarly, if you apply for a top MBA program it's very likely that you've spent 5 years building your resume/work-experience. You go to school for 2 years and exit with a very respectable salary.

We are very blessed

If you're trying to pick between an MBA and becoming a developer you are a unique individual. Most people choose their path based on their personality. Some people are born to program software, and some people are born to lead in management roles. If you're a natural programmer I hope this gives you confidence that you're in a great position. Learning to program was like getting into one of the best MBA programs in the US.

Regardless of the comparison, we are very blessed to be in this industry. This job is new (relatively), and the influence and value of developers over the next couple decades will only continue to grow. I feel blessed for the mentors and opportunities that have allowed me to be numbered among you.


  1. 1) Here is a massive caveat: if you can get an MBA from one of the top 20 programs it is very likely that you'll earn much more than the immediate 'post-grad' salary. Graduates of MBA programs not only have an instant boost in income, but also a long term increase in salary for years after graduation. In fact, according to a Forbes study, the average salary 5 years after graduation the top 5 MBA programs was over $200k. 

  2. 2) This is meant to be tongue in cheek. There are other languages that are just as bad as PHP. 

I have a lot of friends using affiliate links for apps in the store. The click.linksynergy links are embarrassing. The redirection is ugly, and tacky. You can create affiliate links that generate revenue without the poor user experience.

Take an iTunes link:

https://itunes.apple.com/us/app/rise-sunrise-sunset-calendar/id585146605?mt=8

Add the LinkShare partner ID and your site ID to the end of the URL. (The easiest way to find the site ID is to build a sample link using the Link Maker tool.)

&partnerId=30&siteID=

You'll have a functional affiliate link with no redirection:

https://itunes.apple.com/us/app/rise-sunrise-sunset-calendar/id585146605?mt=8&partnerId=30&siteID=J9ctC9ORkAk

Note: You will lose click tracking analytics with this approach. However, it is a much better user experience.