When I started freelancing a few years ago, things did not go well at the beginning.
I started freelancing at a moment in which I was not happy with my employer and I was looking for another job. Back then a friend told me that there was a lot of work freelancing as an iOS developer.
That was what convinced me to make the sudden jump. But it turned out to be quite different.
At that time, my friend was telling me that he was getting offers for projects all the time, but he was declining them because he did not have time.
So he promised me he would send all these offers my way. I always wanted to have my own business and I saw this as an opportunity for a transition. I saw many other developers get freelance work while building their own products. So I made the sudden jump.
Reality was different though. My friend only sent me a single client, my first one. In hindsight I also charged a ridiculously low amount of money for my work. He was a nice guy and I still see him from time to time, but I was not the best at pricing my offering.
But that’s not the worst part. After this initial project it took me a couple of months more to find another one.
The money from that new project gave me a bit of breathing room but it also looked like more rope to hang myself.
After that project finished, I wasted months looking for other clients in the wrong way and I saw my savings go down very rapidly, until I got to the point where I was considering getting a job again.
In the end all turned out well and today I have no shortage of clients. I now make a very comfortable living making Swift apps for iOS. What is the difference from those first days? Am I such a better developer today? The answer is no.
Although I definitely kept improving my skills, I was a fairly good developer back then already. That was not the problem.
The problem was that I jumped into freelancing having no idea how that works.
And to add insult to injury, the few freelancers I was asking to had no idea either. They were just lucky that somehow they were finding some work, but they could not explain how.
The worthless activities that will waste your time and the skills that will bring you forward
But I did not give up. I knew that there was something that I was missing.
So I began walking on a path of learning that lead me to where I am today. Along this journey I learned again and again an important lesson: for your career as an iOS developer, as for any other career, your skills at making Swift apps are not as important as you think.
Yes, your skills as a developer are important and you have to be good. If you are looking for that kind of material, I wrote a lot of it in this blog. You can start from this article on how to structure the code of iOS apps.
But you need to learn other skills as well.
This applies whether you are an employee, a freelancer or you want to make a business creating your own apps.
If you are an employee and want to more responsibilities and a higher salary, your skills as a developer are not enough.
If you are a freelancer and you want to find good clients, your skills as a developer are not enough.
If you want to have your own business and make your own apps, your skills as a developer are not enough. Required, yes. Enough, not even close.
At this level it is assumed you are good at writing Swift app. That is a given, not a unique selling point. Your clients are not interested in how view controllers communicate, nor is your employer. You need to show them you have other skills other than programming ones.
This is a hard truth that many will not tell you, because most people don’t know it themselves.
The problem with most of the advice you find online, reading blogs of other developers is that it is useless.
I wasted months following useless advice to set up a website, create a portfolio, build a brand, get business cards and other stupid activities that never brought me a single client.
Compare that with a single direct outreach email that brought me my first good paying client and then two more later through referrals. Three clients and tens of thousands of euros from a single email. That is some serious return on investment that things like building a useless portfolio will never generate.
The problem is that developers usually recommend you to spend time on things that are easy but will not bring you results.
The activities to get a salary raise, a promotion or better clients are not related at all with the latest design pattern or the reactive iOS framework you found on github. These things are easy for us, but if you want a better career or business, you have to focus on harder, less obvious stuff.
The books I used to propel my career forward, even if they are not about developing Swift Apps
Everything I learned about business and careers comes of course from books and courses that are not about software development and were not written by developers. All the lessons I learned brought me today to make another leap in my career as an iOS developer making Swift apps.
Yesterday was the last day on a project for a good client I worked for during the past months. I took the decision not to take other projects for a few months and concentrate on building my iOS courses instead.
During the past year I was able to make some decent money out of it, but that money is far from being enough to make a living. But I have seen steady growth and I am confident that working on it full time I can bring it to a point where it will be sustainable.
The first implication of course is that from now on I will be able to also produce more free material for everybody. I have already a list of articles I want to write.
I try to make my free material better than most of the paid material you find on the web.
There is still so much more stuff I want to cover, ranging from more foundational material on iOS development to more advanced topics like Auto Layout and dynamic interfaces, testing, advanced architectural concepts and even app design and business.
In the coming months, the more people I can bring in my free mailing list, the more I will be able to produce high quality material. And a lot of it will be free for everybody to use.
But in my usual fashion I am not one to ask for something without giving massive value in advance.
What allowed me to turn the tide was learning the fundamental concepts of business, freelancing and careers. I learned most of it through books that you can access cheaply. These books are gems that had a huge impact on my life and business.
Before I give you the list, I want to share with you one more insightful and useful lesson I learned from Ramit Sethi: his “book buying rule”.
If you are interested in a book, do not waste time pondering whether you should buy it or not, asking friends or reading internet reviews. Just buy it.
It took years for the author to gather all his or her knowledge and write that book. You can have it all for just 10 bucks. Just read the first 50 pages and if you find it’s not for you, put it aside and move on.
But if you will learn even one life changing lesson from it, it will be worth it.
All the books I am going to list here are for me worth reading. They are so packed with insightful information that they had a huge impact on my life. I am sure you can get a ton of value from them too. So, without any further ado, here is my list:
- I Will Teach You To Be Rich – Ramit Sethi
As I said, Ramit is my mentor and the person from which I learned the most. In this book on personal finance Ramit shows how to use systems to save money and make it work for you. He also shows how you can start earning more by negotiating a raise at your current job or getting a better paying one. The principles in this book are at the foundation of my personal finances today. - Book Yourself Solid – Michael Port
If my story above teaches anything, is that you cannot get into freelancing without knowing what you are doing. When you read the next online article on building your brand, run away as fast as you can. iOS development is in high demand nowadays and there is a lot of money to be made, but if you don’t know how to do it, you will not find any client. In this book Michael shows you the solid strategies to find more and better paying clients. Although I perfected the system by more reading and courses, this book shows the system that got me many of my clients. - Getting Everything you Can Out of All You’ve Got – Jay Abraham
Jay is the world’s mot preeminent business growth expert. He worked with clients in practically any industry and put together all the strategies he learned. These strategies “will have the effect of an atomic bomb” when applied to your business, as he writes it in the book. When I read this book, I was indeed blown away by the quantity of ideas inside of it. I apply them all to my business today and I use them to also help my friends with theirs. - How to Fail at Almost Everything and Still Win Big – Scott Adams
Scott is more known for his Dilbert cartoon, but this book is a great read nonetheless. If you noticed mentioned already systems when talking about the other books above. In this book Scott shows you how working with systems will lead you to better outcomes in your life. In this book there are a lot of lessons I was already applying to my life and brought me very far. But I still found many new great ones. - Bonus book: Quiet – The Power of Introverts in a World That Can’t Stop Talking – Susan Cain
This is not exactly a book on career or business. Nonetheless I found a lot of value in it. Most of us developers are introverts and it is our introversion that brings us to software development. Another one of the big lessons I learned is that mastering your own psychology is important in shaping your success in life. You will find this concept in some of the books I listed above already. In this book Susan explains how the mind of introverts and extroverts work and how you can use your introversion to get an advantage in the work you do. I got some useful insight from this book too that helped me understand how my mind works.
Conclusions
If there is a single big lesson I think is important repeating is that you need to learn other skills outside of iOS development if you want a better job, better clients or a better business. Your development skills are still important of course, and I have a lot more technical material planned for the future. But you need to build also the other skills that complement your programming skills if you want to be successful in what you do.
And now, I want to ask you a favor: if you find the material I produce valuable, get on my mailing list from the the form below if you are not in it yet and help me bring in more people. You can do so by sharing this article with anybody you think is going to find it useful. Just send them an email with the link, or share it on social media.
[referral-form title=”Learn the skills that allow you to work at the best companies, get great clients and transform your ideas into high quality apps in the App Store” button=”Send me the FREE course”]
Matteo has been developing apps for iOS since 2008. He has been teaching iOS development best practices to hundreds of students since 2015 and he is the developer of Vulcan, a macOS app to generate SwiftUI code. Before that he was a freelance iOS developer for small and big clients, including TomTom, Squla, Siilo, and Layar. Matteo got a master’s degree in computer science and computational logic at the University of Turin. In his spare time he dances and teaches tango.