I want to get an app on the app store but I am a newbie. Should I learn how to code? Or hire a developer?

I get this question every other day so here is an attempt to tackle this topic in depth. 100 words in an email is not able to do it enough justice, so here goes.

Should I learn how to code?

Programming is kind of becoming mainstream. What used to the domain of geeks and nerds is now starting to become cool. Are you for real? That’s some crazy stuff

Don’t believe me? Here is the the mayor of New York, Michael Bloomberg who has famously proclaimed that he wants to learn how to write code. And now some companies are also sending their entire teams (sales, marketing etc) to learn JavaScript.

Why is this the case? My take on it (and this whole post is simply that, just my own take, make your own conclusions) is that we are now entering an age where software products are seen as a way to make money.

There are enough tales about the Instagrams and billion dollar exits to entice enough of us to want to replicate the success even if it was just 1% of that billion, that would be enough:-)

There are no problems with wanting to have success but it cannot be your main motivation. Coding is hard and takes a lot of time and sweat and long nights in front of a computer trying to figure out why a button you put on the screen seems to disappear every time you start your app.

I am a developer and I love coding but last night I was developing an app that loads a file to Dropbox and I spent 4 hours on finding the path of the file alone. I was about to pull all my hair out ( then I realised I had none)

These glitches happen often and of you don’t love a challenge and solving problems analytically, don’t bother learning programming, you won’t make it past month 3.

If you are one of those people, you may be the luckiest person on earth because you may have just escaped the curse of a developer, which I will explain more about later in this post.

How do I Iearn how to code and write apps?

Okay, let’s say you like solving problems and you can’t wait to get your hands dirty and start making great apps, the question is now “Where do I start”?

You are in luck because it so happens that developers are the most generous people on earth. There is so much free stuff and sample code on the Internet that you probably don’t need to spend a dime to start writing your own apps.

Where else will you have a bunch of people who spend tens of hours figuring stuff out and posting it online for others to use for free?.

The first step is to learn the basics. All programming languages have some common concepts that you need to understand. Object orientation, code structure etc.

A good place to start is Codecademy which will help you with the basics. Once you have the basics, the next step is to start making some sample apps in the language of your choice. If you are on this site, chances are you want to make iPhone apps, so that means you need to learn objective C.

A great way to start is to go through the tutorials on Ray Wenderlich’s site. There you have full length epic tutorials that walk you through the development of an app from start to finish. If you want to start from the beginner level and get more basic tutorials, get the apprentice eBook. You will get more tutorials that hold your hand through the process.

After that, you are ready to start rolling out those apps. Get your hands dirty by browsing sample code on GitHub and discover how the world best developers do stuff.

Those are the things you need to do if you want to learn how to code, what if you don’t or can’t be bothered?

Should I hire someone to build my app?

Earlier in this post, I hinted at what I call “the curse of a developer” and you may be better off not knowing how to code. Read this post to find out more about to curse.

The main gist of it is, coding is not the most important skill to have as a startup. Being able to market and get attention for it is 80% of the work that needs to be done. Your time is better spent where it matters the most.

I spent years making software products hoping that someday someone would take notice and I would hit it big. When that didn’t happen, I tried to hire a marketing manager that was going to market my stuff like a pro and get me thousands of customers. That also did not happen.

I decided to learn marketing and stuck in it and now I know how to get the word out about my own stuff. Now, I freaking love marketing and I don’t know why I didn’t learn it earlier.

So I believe the best way is to have someone else do the work of developing the app while you focus on getting the word out there.

Spending 4 hours animating a button will make you $0 but spending 4 hours emailing potential partners can make you $10,000. Choose one <- Tweet this.

That being said, you still need to know enough developer speak to communicate well with who you want to hire. So I still recommend learning the basics and knowing what it takes to make an app.

How do I hire someone to make my app ?

The global economy means we now have access to the whole world as a resource to tap into when we are looking to hire talent.

Sites like Odesk.com and Elance.com have a marketplace where you can post a job for free and have tens of talented app developers bid to work on your app.

This means you need to have some funds to invest upfront. The two sites I mentioned will allow you to hire someone from $600 – $10,000 depending on how complex your app is.

I will advise you start with a small idea to get your feet wet. Don’t go gun ho with your complicated app idea and want to hit it out of the park. Outsourcing is like an art and you need to master it so you don’t get taken for a ride.

There are lots of talented developers out there but there are also lots of crappy ones. Please take a look at the previous jobs they have done and the feedback they got from previous employers. Don’t always go for the cheapest, because you get what you pay for.

So that concludes this long ass post on what to do if you have the question…. Should I learn how to code or hire someone to build my app?

If you have any questions, please leave it in the comments or if you disagree with anything I have said, let me know too… It is a free world (I think)….

22 comments

  1. Leno

    thank you for this. I just posted my 1st job for an app on Elance.com. Something I can maybe mention is that when you are looking to hire someone to make sure they speak English very well and that they are able to communicate very well.

  2. Peter

    I was able to find a developer on guru.com. The company I found from India has a team of developers that can work on your app. I think they underbid the project, but then, that is now their issue and not mine.
    Although I’ve started to code in Xcode, as Tope suggests, there is just so much other stuff you need to do in terms of marketing, testing and just thinking about the app, that the coding is best left to experts. It was very helpful to me to understand the way the device works from the code level, as it helped me to design a better program flow.

    • tope

      Hi Peter, Good to hear you agree. Make sure you hire good developers, most of the time, you get what you pay for.

  3. Ghaladen

    Stanford University has put their entire CS193P – iOS Development class (lectures and notes) up on iTunes U. While it’s not ideal for someone learning programming from scratch, it is comprehensive to both Objective-C and the iOS platform. Plus it’s an entire class from Stanford for free.

    • tope

      That is where I learnt iOS programming about 4 years ago. Very in-depth course, I will recommend that too

  4. Deafallah

    it does not matter how many books you read, without parcticing can not learn and do your app. practice practice practice
    only by this way you can learn and get start .

  5. Bill

    I’m a big fan of the Corona SDK app development environment. The language (Lua) is so much easier to decipher for me than raw Obj-C. Plus– and this is key– it creates binaries for both iOS and Android (and Kindle and Nook).

    coronalabs.com

  6. Nenad

    Tope very nicely put I love your sence of humor on the topic of get down and do the hard yards,most often in life the challenge becomes more of a reward than the actual marketing,of which I had totally ignored. So a big thanks for that one word ( Marketing ) it has given me a new perspective on my road to learning code. Thank’s your email made my day cheers Regards Nenad,

    • tope

      Happy to hear that Nenad. Yes, it is an important word. Build it and they will come doesn’t work anymore. did it ever?

  7. Abd-Elrhman

    Well, I really love that! you post really cool stuff here. But, I disagree with you at some point, You don’t have to start with such hard language like Objective-C and a platform like iOS. You have to start with website development and HTML which will make you understand what is programming and how programming things are done, spend some experience in website development and then start with an Objective-C related language like C and start with your first easy project then start taking a look at Objective-C and iOS SDK and start watching some tutorials and things like that. However, if you have taken these steps ordered or unordered you will reach the same point in the end. That was my experience and I’m 15 years old now. Also I’d really thank you for pointing my attention to “Marketing”, I think this is more important than the app development itself.
    Cheers!

  8. Paril

    I am big fan of yours and I have subscribed my email id for your weekly (almost) newsletter. I always love to hear something new from your side. I agree with you ,” you get what you pay”. As an indie developer (partly), I am always eager to upgrade my self with new ios technology. But at my work place, I am not satisfied with the process they follow to make ios application. When I became to know about some real process from well known developers then I found I follow crap process. Can you please let me what should be the best way to create one ios app,specifically about initial process before actual development process start e.g. architecture,design etc? I have referred developer.apple.com for reference. But its always great to hear sounds from you, So I need suggestions from your side also. Thanks in advance.

  9. Colleen

    Tope,
    Great article. I just completed my first app, learning objective C mainly though Ray Wenderlich’s tutorials and books. As I’m sure happens to many developers I think I have a great app, and it’s just sitting in the app store. You mentioned how important marketing is to the success of an app, which makes perfect sense. For those of us that would like to learn more about marketing – how, where to start etc, do you have any advice?
    Thanks!

    • Tope

      Hi, Colleen,

      Knowing that you need to start marketing is the step in the right direction. Many developers still think all they need to do is upload the app.

      So at least you are ahead of 90% of the others. Take a look at this resource on the Apptamin blog.
      http://www.apptamin.com/blog/app-marketing-strategy/

      It goes in-depth into app marketing and steps you can take.

  10. Romesh

    Hi Tope,
    I agree on what you wrote. I learned objective-c from Ray books, they are awesome and very helpful. I am now learning from code school.com and also another good site which is NSscreencast.com ,all of them pretend that you know a basic of coding, but I found recent that is not always true. Knowing everything of theory is not so important but if you practice coding, that is the way (my opinion )to learn. Sometimes I can’t figure when is a method or a property but when xcode fails and then i start manipulate and at the end it works, is a great satisfaction. I still learning from a lot of tutorials that i find on youtube and I have to say that the one on how to design the app that you did, helped me a lot. So if you please continue do them on your youtube channel it will be a big gift for the new year or why don’t you put lessons on udemy?I will pay for you tips and tricks….
    Wish all the best and happy Christmas
    romesh

  11. Rick Richard

    Hi Tope,

    I really don’t think everyone learning to developer iOS or Android apps is practical. Learning a new skill because you are interested in it is great! However, learning to program for iOS or Android because you have an app idea is a little misguided. That’s like saying you have an idea for a great house design (or even kitchen remodel) and instead of hiring a professional architect and contractors, you hit the books.

    — Rick
    groovedevelopment

    • Gords

      Rick, you are probably right. Like any profession, if you are sitting in the position of being properly trained and industry experienced, the notion of a tutorial trying to convince amateurs to walk down a path that you know full well is laden with pitfalls, is probably a cringe inducing one. Its true that most if not all will step into the pitfalls that your services could avoid for them. But i still subscribe to the blog’s ethos. That being to help empower people by providing initial direction and pointing to available resources. Something that can only be done by a professional who remembers full well what the start of their journey was like. Never assume people cannot accomplish for themselves and put up the barrier. YOU can only warn them of their undertaking and this post did just that more than adequately with reference to problem solving, examples of coding headaches and Marketing as an alternative priority etc.

  12. Icreate

    Ur so right everything u said is what I was thinking I’m a sales and market kinda guy with graphics as well. I went on freelancer to find a dev bad experience at first but found someone good now. Just like u said cheaper aint always better. I have amazing app ideas and now I’m able to be the middle man and sell apps to companies. I thought maybe I can learn how to code to save money and speed up. NOPE.

  13. greggdavis

    Interesting ideas and comments, all. I like the idea that Gords says above, about having a good idea for a house design, but then hitting the books. It makes more sense if you need a specific and complex app built, to hire the talent instead of learning it all yourself.

    However, I’ve had success with Tope’s fully functional apps so far, publishing for the Newsstand, as well as starting in on the quiz app and Newsfeeder. By understanding a little bit of code, and how the larger systems work together, I’ve been able to create (and customize) working app templates without hiring anyone, and I’m so thankful for that!

    I think striking a balance between understanding what you can accomplish yourself, and what you need to outsource is important. If you’re like me and you don’t want to take the risk or spend the money on hiring a stranger, try adapting a “fully-functional” app template from Tope here, or even from Envato or another developer marketplace – learn just what you need to launch a working app yourself.

    check out this magazine I made with Tope’s template: Wild Edible Notebook – available in the App Store