Hacker News new | comments | show | ask | jobs | submit login
Advice for a beginner iOS developer?
10 points by tagabek 1870 days ago | hide | past | web | favorite | 13 comments
Hi, HN! I recently got into iOS development, and I absolutely love it. Last year, I fiddled around with Python, web design, some Java, and even a very tiny amount of Android development. I knew for a while that I wanted to move towards iOS development, but I thought that because I didn't have a Mac, my dream was just a dream. Well, I came to a pretty huge turning point in my life last year, and that shift completely changed my view on what can be reality. I ended up trading my gaming laptop with a friend for a Macbook Pro. After a bit of testing a few methods of learning Objective-C (I tried Stanford's iOS Development class on iTunes U, but I was only able to get through the first assignment), I got Big Nerd Ranch's Objective-C Programming eBook and literally blew through it in a week. I loved it! Immediately afterwards, I bought BNR's iOS Programming eBook, and am now blasting through that. It's an extraordinarily awesome feeling to tackle and accomplish the challenges within the chapters. I also have a few ideas that I cannot wait to build after finishing the book.

Anyway, I apologize for my novel, but now I'll get to the point. Can any current iOS developers share some advice?

Here are the main things I am looking for:

- What are the best ways to get noticed? (My main goal is to work for a startup - I am 18, and a freshman in college as a CS major, but I am open to taking a hiatus if the opportunity came up. I also started meeting developers in my area, and blogging is beginning to be a natural activity for me.)

- What are your experiences with building/marketing your first (few) app(s)?

- What are the biggest things I should look out for as a beginning iOS developer? Any and all advice is highly appreciated!

Side note: I am not solely interested in iOS development but it is 99.9% of my focus right now. I hear, "Software engineering is an industry where you will adapt and constantly be learning," quite often, and that is exactly what I want to do!

"I am 18, and a freshman in college as a CS major, but I am open to taking a hiatus..."

Finish school first. The degree (and the knowledge you'll gain while you pursue it and the free time you'll have to pursue other avenues of interest) is priceless. It's easy to want to rush through college and be a Gates or a Zuckerburg but realize that there are tons of people that dropped out of college and are worse off for it.

Working at a start-up is a very risky venture and you're only going to drastically increase your long-term financial risk by not having a degree going into it. One may argue that the knowledge you'll gain at the start-up will be worth more than a degree but my counter is that you'll be closing doors to other (more-traditional) opportunities by not finishing (it is substantially harder to go back to school if you take a hiatus for a number of reasons beyond admissions).

As far as "getting noticed" goes, scrub that mentality right now, prove yourself first. If you spend 10 hours a week the next 3.5 years writing apps (and polishing your abilities) and giving them away for free without ads you'll have proven yourself, getting noticed at that point is just pointing to an existing body of work. (If you don't know what app to make just clone every game you've ever liked but make sure it has an awesome UI).

Mind you, these are just my two cents. In my life I've found that as long as I set a metric for "progress" and work to meet it I've been able to accomplish my goals. Best of luck.

First of all, thanks for the advice. I am not necessarily planning on dropping out, but I want to keep myself open to any potentially wonderful experiences. I also really enjoy school (mainly the CS classes), and I truly understand how beneficial it is. I've been setting small goals yhat lead to bigger goals for myself, and it's been working so far, and that is an awesome feeling. I really want to polish all of my abilities, and assuming I stay in school, I will dedicate a good portion of my free time to that.

Again, thank you for this bit of wisdom. I realize that I have to remain realistic, along with being incredibly motivated and pushing for innovation.

You sound like you have a good head on your shoulders so I have no doubt you'll do fine. The one thing I should mention that I didn't cover already is : be able to handle failure and rejection. It's a little divergent from your original question but the less you get discouraged by the big set backs the more likely you're to succeed. There's a lot of commentary on this subject but the tl;dr is : don't give up even if you don't succeed at first.

In the end it all boils down to an odds game, you can do everything to increase your odds to a very favorable level but you still have to keep putting yourself out there when things don't work out as hoped (I haven't heard of anyone successful who didn't fail drastically at some point.)

That's another great point. From what I've observed, failing seems to be a natural part of the entrepreneurial process. As you said, anyone who has had any success, has also tasted failure. When I face this harsh lesson someday, I will do my best to remember that it happens. Statistics was my favorite class in high school, so I tend to think of every outcome as a result of odds.

I just ran across this : http://www.thielfellowship.org/become-a-fellow/about-the-pro... which seems like another option if you really have a dream to chase and don't want to wait the 3.5 years. Still risky but less so because Thiel is attached.

It's funny that you bring that up. A few months ago, there was a show called "20 Under 20," which was a two-day special that followed the Thiel Fellowship application process. I literally waited 2 months to watch the show, and it was amazing. Students (all under 20) were put together to accomplish a wide array of interesting tasks. They got to talk with each other and build a mini-network within their group. They were put to the stage to give speeches in front of some of the Valley's top people (entrepreneurs, investors, etc.). In the end, a handful were chosen to receive $100,000 to follow their dreams, but they had to drop out of school if they took the offer.

Thanks for the link, though! I really appreciate this fellowship!

I agree with RandallBrown, get something out there and show the world that you can finish an app. It'll be good experience too.

As for getting noticed, if you get you get fast at developing, I'd recommend participating in a hackathon and developing a simple, but useful, app with a random team. It's a great networking opportunity, and I still get startups and recruiters trying to hire me from my last hackathon (over a year ago now) in New York (I wasn't event looking for work).

My main experiences in building my first apps were:

1. Novel UI is usually not very intuitive, using what Apple gives you will take you far. People know how to use the basic UI elements, trying to teach users new behavior is hard (learned this the hard way).

2. Managing data will be messy if you don't use Core Data. I highly recommend going back to Stanford's iTunes U course and watching the one (two maybe?) on Core Data (and watch the Grand Central Dispatch one too if you're unfamiliar with it). Believe me, Core Data is awesome and once you learn to tame it you will learn to love it. Far better than rolling your own data storage/management.

3. Getting people to use your app is hard - make something useful. People download plenty of apps, but only open a handful of them. Don't bank on being another Instagram (there are plenty of clones), but make something really useful. TurboScan is a good example of this. Their UI is rather horrid, but its really good at doing what its meant to do. Its an app that is truly useful, and has made it to my (and my closest friends and family's) first screen. I probably use it 1-3 times a day because its actually very useful.

Good luck with your iOS adventures, love to see what you'd produce.

Thanks for the incredibly helpful advice! I definitely want to participate in a hackathon within the next couple of years. The experience seems grueling but extremely rewarding (for most people).

1. It seems like a good idea is to keep functionality more or less the same, but maybe amp up the design aspect of the view.

2. BNR's book has an entire chapter dedicated to Core Data, but I will definitely check out the lectures on that subject (I may even go through the entire course if I feel the need).

3. This is a subject that I have witnessed many developers struggle with. The idea of creating something that people will WANT to use is something that excites me more than anything. I realize that I should focus on building concrete features before I attempt to make a plethora of them. I want to plan out my future apps before actually coding any of them. I want to teach myself to develop professionally, right from the beginning.

I really appreciate these tips, as I know I will be checking this thread again when I really start my own projects.

Thank you! I cannot wait work on amazing projects someday!

I recently graduated and got a position doing iOS development for a start-up. I'm nearing completion of my first app and two iOS concepts I've found to be of vital important are Core Data and GCD. Being able to persist the data you're working with and manage it in a multithreaded context are keys I've found to creating a good UX.

For learning, I've browsed the Stanford slides, but I mainly read www.stackoverflow.com. Determining the issue at hand and then seeing how other developers have solved that issue, I've found, is the easiest way for me to learn.

First off, congratulations on your graduation and employment!

- Would you recommend the startup route for a first job?

Core data seems to be one of the top 3 important things with iOS development. I will make sure to go above and beyond when I get to learning Core Data and GCD. That shouldn't be more than a week from now!

Build some cool stuff and send out your resumes if you want a job. Smaller startups are going to be harder to get in with if you don't know someone, but not impossible.

A really great way to differentiate yourself is to build and publish an app. It doesn't have to be popular or even that great. Just showing you can build something from start to finish is a big deal.

I guess I assumed that most younger (or just beginning) iOS developers had built apps prior to getting offered positions. Right now, I would love a part-time job or an internship (that pays, because I wouldn'y be able to survive without money), so that I could remain in school, while doing something within the software engineering field. I've applied to some local internships, and am keeping my fingers crossed.

Keep meeting developers in your area. meetup.com and google and yahoo groups are good. Sign up for linkedin.com and add your contacts. Start shipping apps. The developers you meet will lead you to paying gigs.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact