We Heart Swift: Lowering the Learning Barrier for iOS Developers
We Heart Swift: Lowering the Learning Barrier for iOS Developers
If you're looking for a great place to start learning how to build apps, We Heart Swift is the place for you. James Sugrue talks to Andrei Puni, the man behind it all.
Join the DZone community and get the full member experience.Join For Free
I first stumbled across We Heart Swift when I was browsing for some good books around Swift programming. Having already released Learn Swift Programming from Scratch, a book used in universities across the world to help students get into Swift, Andrei is building on the success to bring about his latest publication, the iOS Spellbook.
With an excellent title and cover that really catches your attention, this book, still in pre-order, is something that you will want by your side as you work through your Swift applications. The book is shaping up to have everything that you need to know, broken into three sections - fundamentals, exploring iOS, and advanced workflows. Until the book is ready it will be at a discount - right now you can get it at half price for $20!
I met with Andrei, the brains behind the operation, to find out more about the site, the book, and his thoughts on Swift.
DZone: Can you introduce yourself and your experience?
Andrei: I'm one of those nerdy kids who started coding really young. In high school I trained a lot for programming contests - I even got a bronze medal at the International Olympiad in Informatics. Quickly after that, I started learning iOS and dropped out of college to focus on learning iOS. I worked at a local company for about two years and after that, I started consulting on different projects. So far, I've helped build over 100 apps.
I've also enjoyed teaching. Over the years, I've had hundreds of students in different classes or one-on-one mentoring. With Swift Programming from Scratch, I've pushed this forward a few orders of magnitude, helping over 100,000 people learn how to code.
DZone: What inspired you to create We Heart Swift?
Andrei: When Swift was announced, the whole room at WWDC went nuts. Millions did the same at home. I skimmed through the book released by Apple and picked up the basics of Swift in a few minutes after the conference ended.
I saw the opportunity to get into online education and decided to start a blog and see where it goes. A lot of people saw other opportunities, so many that GoDaddy was crashing and asking big bucks for .coms containing swift. WeHeartSwift.com was $9 and sounded ok so I went with that.
I made the first version of the site in about an hour and started writing tutorials. I was amazed with how many people were reading and using my tutorials. I was hooked! This is the most fun, challenging, and rewarding project I've worked on so far.
DZone: Do you work alone, or is there a team there?
Andrei: I'm the main person working on the site but there was always somebody around that helped me with the site in one way or another. Some of my friends wrote a few tutorials. At the moment, there are about five people besides me working on different We ❤ Swift projects including a book about algorithms, improving the swift sandbox, and creating great content.
DZone: Tell us a little bit about Swift Programming from Scratch.
Andrei: I worked mainly as an iOS Developer, and wanted to make a guide for people to learn iOS with Swift but there were two problems: the first was that things were changing fast and that meant that I had to update a huge resource right about the time that I finished making it; the second was that 9 out of 10 people that would be interested in this course also needed to learn how to code. I decided to make a book that teaches programming to solve this problem.
I was really surprised at how well the book was received. Because of my programming contest training, I thought of making a platform to help people solve the exercises from the book. The combination of the book and training app have been a great success - we had thousands of satisfied customers.
There's a wide range of people who use the book and app, but the one that surprised me the most was schools and universities. The platform was launched in June, and by October it was in the hands of hundreds of students learning Swift at school. This is more of a testament to Apple and Swift than to the Swift Programming from Scratch book and app, but I'm really proud of this achievement.
DZone: The iOS Spellbook looks like an essential for the desk of any Swift programmer; how difficult is it to distil so many tips into a single book?
Andrei: I've had a lot of experience making and updating apps. I actually wrote a huge list with hundreds of things you can do as an iOS developer on a day-to-day basis. After that, I rated each skill/task on a couple of factors and decided the top 100 must-know items for an iOS Developer. After that, I had to create a path that will make you pick them up by applying them. This will take you all the way to the point where you kinda know what you have to do—you know how to use Google & developer references and can learn on your own.
Another key thing that I've learned is that you have to test your content on as many students as possible in order to be able to optimize it. Less is more in this case as well. I'm really passionate about all things code and I could talk all day about any programming topic... I had to learn to say as little as possible, test knowledge, and build on top of that. Swift Programming from Scratch had almost double the amount of theory before it was published. Everything that was eliminated distracted the student or made things more complicated for him/her. With the current format, the majority of people who have finished high school can go through the book in less than a month.
DZone: Will the spellbook be free, or is there a cost involved?
Andrei: I believe that education should be free. Unfortunately, that’s not how the world works. At We ❤ Swift we try to do the next best thing and make most of our content available online for free. As a result, at least 100,000 people have learned to code on the site and many more have spent a few hours on the site reading different tutorials and articles.
This will be the case for the iOS Spellbook as well—the complete experience will not be free but most of it will. We are optimizing for impact, not revenue.
DZone: Do you plan on going into more in-depth topics like application architecture, testing, and other topics?
Andrei: Not too in depth, but the learning never stops. The last part of the book will focus on all the other things you might have to care about as an iOS developer like testing, version control, open source code, how to level up in your career, and more.
DZone: When is the book available for sale?
Andrei: Swift Programming from Scratch is already published and updated to the current Swift version. You can pre-order the iOS Spellbook and get the first 250 pages that go into the fundamentals of iOS Development. The book is almost finished, I'm currently refining the content and publishing it one part at a time.
DZone: Have you any advice for those looking to get started in Swift?
Step 0: Learn to code
If you are interested in learning iOS Development, first learn how to code. Try my book—it's free! And if you can afford it, give my app a try—it's priced less that a tutoring session.
Step 1: Play around
Make a lot of tiny apps. The first 20 or so should have only one screen. Go nuts! Be creative! Have fun!
Step 2: Challenge yourself
Now you are ready for the next level. Make more apps—try not to stop. Increase the number of screens by one with each app.
Step 3: Get a job
Nothing will motivate you more than a job. Get one. It should be pretty easy for you if you've made it this far. You already have experience making apps and a portfolio of apps you've made by yourself. If you are feeling entrepreneurial, start a consulting business and help other businesses make apps.
DZone: What is the most common pitfall that you have seen app developers fall into
This is common to all developers, not just iOS Developers. Developers tend to be lazy and use shortcuts whenever they can. If you work long enough on a project, any one of those shortcuts will eventually turn into code cancer and suck a lot of resources.
Do things right. You only have to do it once.
DZone: Have you created any apps available on the app store for the public yourself? How did you find the process?
Making and maintaining an app requires resources. I've had a few apps on the store but none of them are still live. I've done this a lot of times—after you get a hang of it the process is fun, you send the app for review, you wait, you get a bit emotional and dream of changing the world with your app.
DZone: What are your plans for the future?
This year is going to be the best! I'm currently preparing to move with my wife and one year old to Zurich, Switzerland where I'll be working at Google.
I'm going to continue writing. I'm hoping to be able to write one book each year in my spare time. I'm going to focus on fundamental programming concepts like algorithms, object-oriented programming, and functional programming.
We ❤ Swift is also maturing as a company. For the past few months, I've been working on assembling an online team that will take it to the next level.
Opinions expressed by DZone contributors are their own.