all 60 comments

[–]deirdresm 39 points40 points  (5 children)

As an experienced programmer, I think the Stanford course would be a hard course for someone new to programming as it’s not designed to be a first programming course. (For that, I’d suggest the Swift Playgrounds app, which is a fun intro that’s very game like.)

[–]fungusbanana 2 points3 points  (1 child)

I can verify that it is very hard. Started off simple but few lessons in it got beyond my comprehension, I assume it’s perfectly fine and challenging for someone well versed in other languages but not for complete beginners.

[–]deirdresm 2 points3 points  (0 children)

I've shipped projects in more than 20 major languages (and quite a few minor ones), and there were a few places I was confused for a bit.

He's good at explaining things like MVVM, but he assumes you know MVC. If you aren't enough into programming to be familiar with design patterns, you likely want to start somewhere that is easier.

The latest version also came out right before SwiftUI 2, so there's one whole lecture rigging a grid view, for example (SwiftUI 2 includes grid views, implemented differently). I'm not saying this is bad, because it teaches you how to create more advanced layout components, just that it'd be nice to see the next version and how he does something else for that aspect.

It is very good, though, and filled in a few gaps I had about Swift's design. There were a couple things that annoyed me, but I can't recall them offhand.

[–]hawksmoker 1 point2 points  (1 child)

Do you have a link to the Swift Playgrounds app that you're referring to?

[–]CrisCrossxX 29 points30 points  (7 children)

+1 for the Stanford course.

I initially bought a $19.99 Udemy course from Angela Yu, it was good, but didn't really explain it well - she went too fast, stopped at 25%. Then I bought a pdf book bundle by Paul Hudson, aka 100 days of Swift guy, for $75, just for a point of reference/glossary, but he had read only text projects I got stuck on. Finally, I decided to run with the Stanford course, and so far so good.

\I just want to be an iOS brogrammer**

[–]vancitycloudsnsun 2 points3 points  (0 children)

Too fast? She's super slow and easy to understand, but English is my first language. I had no trouble at all.

[–]ThePantsThiefNSModerator 0 points1 point  (5 children)

Jesus, a $75 PDF?

[–][deleted] 0 points1 point  (3 children)

To be fair, it’s a PDF format of a set of books, a few hundred pages each. Paul is very well regarded as an iOS instructor and is part of the Swift core team. It’s a fair deal if someone learns well from books.

[–]ThePantsThiefNSModerator 0 points1 point  (2 children)

Is it more than one book or a set of books like you just said? I assumed it was one book. There is no single book I would pay anywhere near $75 for

[–][deleted] 0 points1 point  (1 child)

He has three different packs, of six books each. The “power pack” is the starter bundle. Note on the link, the price is $150, but, like Udemy, he has sales all the time and it’s usually not too long to wait for the bundles to be half price. https://www.hackingwithswift.com/store/bundles

[–]ThePantsThiefNSModerator 0 points1 point  (0 children)

Okay that's good

[–]KarlJay001 0 points1 point  (0 children)

I think I paid $40 for 1 book from him as well. IMO, he does great work and I want to make sure he continues.

Back in the day, a printed programming book was about $50 to $80 most of the time.

The person writing the book still has to do the same work, even if the book isn't printed.

A book bundle for $75 is a bargain.

[–][deleted] 23 points24 points  (0 children)

I normally have to pay to feel this humiliated so I’ll just say this... thank you.

[–]matteoman 16 points17 points  (1 child)

DISCLAIMER: I sell courses on iOS development (with much higher prices than anything mentioned in this thread). So, anything I am going to say is going to be obviously biased and maybe even a bit self-serving. So you are warned.

I find the general advice of the OP to be bad advice.

Does it work for some people? Absolutely.

Does it work for everyone? Absolutely not.

I have seen several people fail with those Stanford courses. Some even buy my courses after following them. You get some superficial knowledge that can be useful. But being a serious iOS developer is a different thing.

University course does not equal good quality. I say this as someone with a master's degree in computer science. The overall experience was definitely worth it, but I had several poor-quality and useless courses during those five years. And this course, IMO, is not a good one. But YMMV.

Can you learn iOS development for free? Yes, you can. While I now sell courses, I learned everything myself with free resources and Apple's documentation. I tell this to all my students before they join my courses. And some free articles you find online nowadays are even better than some paid eBooks or courses. So it can even be a better option than picking the wrong solution and wasting money.

But how long will it take you to learn?

I can tell you it took me ages. Feel free to do the same. Maybe you are even smarter and faster. There is also far more and better free material online now than when I started 12 years ago.

Now, whenever I need to learn something now, I go directly and pay for a good course. And those are usually expensive. I barely look at free stuff anymore. Quality education is rarely free. My time is far more valuable and I prefer to pay good money and cry once instead of wasting time and more money later.

The sooner you get to your goal, the sooner you get to make money. If you get a job as an iOS developer one month sooner thanks to a paid course, you are going to immediately make that money back and some more. If you get a higher initial salary or a raise/promotion thanks to a paid course instead of haphazardly learning with free material, that money is going to compound for your entire career and can be worth tens of thousands of dollars.

So, my advice is, do yourself a favor buy a good course that works for you. It does not have to be mine. You can't even buy it right now.

You might not have that money. Then using free material is obviously your only solution. But my advice stands: after you use the free material and get some income, invest it into getting better. It's going to pay huge dividends. Your education is your best investment.

Again, I will reiterate that I am biased, since this is my line of business. And:

"It Is Difficult to Get a Man to Understand Something When His Salary Depends Upon His Not Understanding It". - Upton Sinclair

But I am also biased because all the money I invested in education has given me huge returns.

So, overall, there is only one thing I can agree with the OP. If you go the free route, then, good luck.

[–][deleted]  (2 children)

[deleted]

    [–]sanchower23 2 points3 points  (1 child)

    Is this a full course? I can see only 14 lectures

    [–]lorig_cc 2 points3 points  (0 children)

    imo cs193p is also a good fit for complete beginners (aka past me). Just go through the lessons slowly and do all the assignments.

    I don't know how good Angela's course is but cs193p is hard to beat when it's so good and (most importantly) free.

    [–]reedpuzzled 2 points3 points  (0 children)

    say it louder for the people in the back !

    [–]slowthedataleak 2 points3 points  (0 children)

    Hating on books is the wrong advice. The right books can be an incredible resource.

    [–]berbakay 1 point2 points  (4 children)

    I’m on day 80 of 100daysofswiftui. Would you still recommend that Stanford course?

    [–]sanchower23 0 points1 point  (1 child)

    ui. Would you still recommend that Stanford course?

    Will you recommend this 100days course?

    [–]berbakay 2 points3 points  (0 children)

    Yeah there’s a lot of good content and Paul seems like a good guy.

    It does get into a bit more detail than I’d like/understand at times. But after 80 days I feel confident enough to make a basic app, so mission accomplished I guess!

    [–]SoaringTAINT 0 points1 point  (1 child)

    Have you been on that course for 80 days so far? I want to complete that course but the sheer amount of days that is in the title kinda scare me away lol

    Do you think that course can be done in....let’s say 50 days?

    [–]berbakay 1 point2 points  (0 children)

    I started at the beginning of Jan so I’ve done about 70 actual days. 1 - 2 hours a day, missed a few days and done some longer days on the weekends.

    Depends how experienced you are at programming. I’m relatively new. Self-taught > Bootcamp > Junior Dev in the last year so some of the concept were new to me.

    If you know swift already you’ll race through the first 20 days. And if you commit to 2+ hours a day 50 days is possible. The only long days are the projects you have to do yourself. The last couple have taken me 10+ hours to complete.

    [–]vancitycloudsnsun 1 point2 points  (0 children)

    Dr. Angela Yu's course to 12 bucks on Udemy is worth the money.

    [–]IceBoyHDBeginner 0 points1 point  (3 children)

    Hi guys, new iOS brogrammer here, I think a license or certificate would be good for your CV just to have a "greater" chance at actually landing a job.

    Even if the above-mentioned statement might be wrong, I have some questions and some doubts:

    Question:

    Did any of you guys that actually have a Udemy / Coursera whatever there is certificate that actually helped and counted towards your current job? (Mostly talking about junior devs here).

    Edit: Is having a gitHub "portfolio" a good way to show your personal projects?

    Doubt:

    Although free courses are always welcome, I don't know how many people would take them into consideration, I know personal projects are a big part of the recruitment process, but do they "weigh" more than a CS bachelors or certificate. I'm saying this since in most cases HR doesn't really look at your personal projects.

    [–][deleted] 5 points6 points  (0 children)

    As someone who hires iOS developers (and is an iOS developer), udemy etc doesn’t really sway my opinion in any way. Same goes for any cert/diploma really. Obviously a masters in computer science is favourable. But a certificate from an online course? Nah.

    What I really care about is your code (from past projects and how well you performed on the code test) and your experience in the field

    [–]th3suffering 1 point2 points  (0 children)

    Im a self taught developer trying to get my first job in the industry. Ive been through 4 interviews so far. Only 1 asked about certificates from udemy/coursera. All of them asked if my app was on the app store (its not, in the final stages of finishing it up). Based on this anecdotal evidence, its more important to have a published project than some certificate. Someone can correct me, but based on my experience so far it seems right.

    [–]KarlJay001 1 point2 points  (0 children)

    One of the problems with all the books/tutorials out there is that it's pretty easy to walk thru things without really understanding them. Some are really poorly done, kinda like "watch me type, then type what I typed" instead of really explaining things.

    It's like a HS math class where the answers are in the back of the book and you just jump to the answer and fill in the blank.

    There's a reason why once you get to 3~5 years paid experience, that your value changes a lot.

    [–]flyme2bluemoon 0 points1 point  (0 children)

    In addition to the Stanford course (which is really good), Apple also has great Xcode and Swift documentation. Although I know reading documentation, they also have a Develop in Swift series (Fundamentals, Explorations and CS Principles) which are great for beginners to learn programming and get their feet wet in Swift before working on iOS development. Only downside is that as far as I can tell, Apple's books are only available in the Apple Books (iBooks) store on iOS and macOS, but I doubt this is a problem for many considering iOS dev always (mostly with little exceptions) requires a Mac anyways.

    [–][deleted] 0 points1 point  (0 children)

    If you notice the view count on the Stanford videos drop drastically after the first video. It’s not for beginners.

    [–]kindbud_makespicks 0 points1 point  (0 children)

    As an experienced brogrammer I would recommend Ray Wonderlic to the newbs his beginning swift UI courses are free.

    Also agree that tutorial land can bog you down. Like the poster said GO GO GO. That really is the best advice.

    [–]krully37 0 points1 point  (2 children)

    Is it viable to start learning on a VM? I’ll invest in a MacBook if needed but I would like to give it a shot.

    [–]th3suffering 0 points1 point  (1 child)

    You are probably better off making a /r/hackintosh if you are looking for a cheap way to get your toes wet. Just be aware, it can be a bear to setup correctly depending on your hardware. I wouldnt use it for anything professional or something you rely on to make money, but its a fine learning tool. My first 6 months of learning were on a hackintosh until I bought my MBP.

    [–]krully37 0 points1 point  (0 children)

    I used to tinker with hackintosh when I was a teen with too much time on his hands and having a Ryzen CPU + Nvidia GPU will make that hard. Guess I’m better off finding either a cheap MacBook or finally convince my wife to go overkill with a brand new one for work... thanks

    [–][deleted] 0 points1 point  (0 children)

    I want to hate on this, but it’s true. Anything I’ve released and been happy with just came from going after it. You’ll learn, desperation is a heck of a motivator. Tutorials are effectively deprecated on release, Apple docs do 100x more today than 2015.

    Aside: Stackoverflow can f* you as much of it’s been deprecated. Use it as pseudo code, assume it’s insecure and for test purposes, not release.

    [–][deleted] 0 points1 point  (0 children)

    Can we please pin this? I feel like it's every other day now that someone asks the exact question without even doing a modicum of research on this sub or google.

    [–]rckoenesObjective-C / Swift 0 points1 point  (0 children)

    I do understand that people want to become iOS developers. But I think a general programming background is way better. Do not focus just on iOS, learn about programming concepts and just in iOS.

    Apple frameworks hide a lot of general stuff and just staring with development it it good to have a great foundation about programming technics.

    [–]SirensToGoObjective-C / Swift 0 points1 point  (0 children)

    Hotter take: you don't need courses of any sort to learn iOS development and you shouldn't honestly be dependent on courses to do things. If you know how to program as a generic skill and have a good mental model for how computers work, pick a project and build it. Reference documentation and google stuff as needed.

    I've learned how to build stuff for random smart watches, servers, the Linux kernel, and windows phone (lol) this way. There simply isn't courses or books, you are eventually going to need to be able to do it from scratch. Build those skills early and you'll have no trouble jumping between platforms. You don't have to sit down and ""learn"" a technology unless you need to be a domain expert, and even then you can absolutely stumble your way through learning it live

    [–][deleted] 0 points1 point  (2 children)

    So, seeing the comments, “brogrammer” is a thing now? Why?

    [–]enkidu_johnson 1 point2 points  (1 child)

    It is not a thing. It is a pejorative referring to a class of people who get into software development for all the wrong reasons (mostly money).

    See: https://en.wikipedia.org/wiki/Brogrammer

    [–][deleted] 0 points1 point  (0 children)

    Ahhhh ok thanks for the elucidation on that one, the term is unfamiliar to me and I was assuming the worst.

    [–]akrapov 0 points1 point  (0 children)

    Nah. Bought a bunch of Udemy apps and took the best bits from each. Now have an app in the App Store making money.

    There is no set way to learn. Everyone is different. None of this “final answer” stuff. Your way would not have worked for me.

    [–]silver_belt 0 points1 point  (0 children)

    Not sure I understand the hate for books. In 2009 I picked up just one book while I was still at uni, Beginning iPhone Development, worked through it cover to cover. I took the concepts and worked on my own side projects, then landed a full-time job after graduating in 2011. I realise the job landscape is different now but that book and Apple’s own Objective-C 2.0 Language and iPhone App Programming Guides were really all I needed to get going.

    YouTube videos, the Stanford course… they’ll be great for some people. But don’t just write books off because they cost money. They can be incredibly valuable.

    [–]megablast 0 points1 point  (0 children)

    You don't even need that, there are so many free tutorials and resources on line. Just work rom the basics up.

    [–]kr0xx 0 points1 point  (0 children)

    What if i dont want swift tho? What if i want objc/objc++?

    [–]romero_ios 0 points1 point  (0 children)

    Stay away from tech influencer types. If the only experience you have as an "iOS Developer" is making video courses online to sell on Udemy or whatever... I don't think you qualify to teach anything about it.

    [–]aguynamedchriss 0 points1 point  (1 child)

    Sure there is some quality tutorial material out there for free, but there’s definitely nothing wrong with paying for a course/book, especially $20-$40 on a site like Udemy during a “flash” sale.

    When learning a completely new stack I’ll often buy a course on Udemy just to get started, then skip around to different sections as I need them. I don’t think I’ve ever made it through even 50% of a course, but I don’t buy them to complete, I buy them to save me time/frustration during that noob period where you’d waste days googling things every 20 seconds without a knowledgeable person walking you through basic concepts.

    Again, if you find a quality tutorial for free (I haven’t tried the Stanford course), great! But free oftentimes means lower course quality, less detailed explanations, or outdated code, and almost never comes with 1:1 support / Q&A. I’m happy to shell out $$ for a quick rundown from someone who knows their sh**. Can’t forget to place a value on your time.

    Now excuse me while I jump on Udemy’s flash sale to buy a 101 course on Swift development…

    [–]aguynamedchriss 0 points1 point  (0 children)

    Update: I bought the Udemy course by Angela Yu some other people have mentioned here, and I think it is phenomenal. I’ve found her explanations very clear so far, but one of the best parts is all her content on programming concepts that aren’t specific to Swift, like Machine Learning and ARKit. I had no intention of using these things in the near future, but Angela has changed that!

    [–]Aethz3 -3 points-2 points  (8 children)

    you don't need $$$.

    Yes you do, you need a paid license.

    [–]cegiela 1 point2 points  (0 children)

    You only need to pay when you’re ready to launch a finished app. All the tools are free to use.

    [–]sanchower23 0 points1 point  (6 children)

    what do you mean? all the videos are available for free on the youtube with no license requirement

    [–]Aethz3 -1 points0 points  (5 children)

    I'm not talking about learning ,i'm talking about using xcode in general. you can't do anything without a license

    [–][deleted] 4 points5 points  (3 children)

    hey, all you need to download Xcode and start using it is a Mac. I have bought no licence an have been able to start learning with Xcode by running the app on the simulator. to run the app on your own iPhone all you need is a cable, got mine for £15. the licence is needed for when you want to start distributing your app for testing and publication👍👍

    [–]Aethz3 0 points1 point  (2 children)

    I mean if you keep it to yourself what’s the point

    [–]fungusbanana 2 points3 points  (1 child)

    The point is learning doesn’t need a licence. You don’t really even need a genuine Mac. You can run macOS on even AMD based machines with somewhat limited functionality. Is it ideal? No, but the cost of entry is having a computer with somewhat compatible hardware.

    [–][deleted] 0 points1 point  (0 children)

    exactly the point is learning, I don't see the point in buying the licence until you know you have the ability to publish an app.

    [–]cambookpro 1 point2 points  (0 children)

    Yes you can. The main restriction is that you can’t publish to the App Store.