Saying no to new projects

When I started my journey into freelancing and generating my own revenue last year, my biggest fear was running out of work. Of course, I had a plan, and I had some revenue from my books and workshops, but that didn’t get me much more than just my cost of living at the time. Before I started freelancing I had decided that I would need at least one client that would get me a couple of days of work every week.

July 2022 came up and I started freelancing. I already had my first client lined up so that took care of a lot of my worries. It wasn’t long until a second client came up with a request for just a couple of hours a week. I liked the project and the person I’d be working with so I happily accepted.

Shortly after that another potential client reached out. They needed help with their SwiftUI work so far, and could use some advice on Combine and Core Data. Of course I said yes. This was a big name client with a project that sounded fun, I would be out of my mind to skip this project.

My original plan was to be working on a book on Swift Concurrency for 1-2 days a week but instead that turned into doing lots of client work. A part of my reasoning was that these contracts would end towards the end of 2022 and I would either be scrambling to find a new client, or I would be comfortable knowing that I did some extra work in 2022 and could afford to not have a client at the start of 2023. I chose to do more work now, so I could relax later. How naive I was…

The end of 2022 came up, my wife was pregnant and lo and behold, my clients wanted to renew contracts. With a baby on the way, that was great news. Just one more quarter of grinding 50 hours a week should get me a nice buffer to spend a month or two without working at all so I can focus on my new family once the baby’s there.

And of course, after the quarter ended and Q2 started I still had more work than I should have had. Contracts got renewed, workshops got planned, conferences started being planned too. In the end I did take a couple of weeks off when Oliver was born, which was amazing, but after about a month I was about as busy as I was before.

I just could say no to any of it. In part because it’s all just so much fun. But also because there’s this part of me that thinks, any work I do now is work I don’t have to do later. Which I guess is true in the sense that you can afford to not have work for a longer period of time if you did more work earlier. But in the end it just doesn’t work like that. At least not for me.

In July of this year I’ve decided to not renew one of my client contracts that filled about 20 hours of my week, every week, so I could focus on my own projects more. So far, it’s working out pretty well. I’m still terrible at saying no to stuff so I’m doing way too many things at once but at least I have some more room to shuffle things around.

Saying no is really hard, and I’m very grateful that I’m in a position where not saying no enough is my problem. While not everybody that reads this might be able to relate to finding clients, or saying no to new client projects, I know that most of you can relate to having a job that will casually ask you to do overtime. Saying no to that every once in a while is equally important. “Just this once” is almost never just once, and “I’ll do better next quarter” is likely to be one of your goals for a very long time if you don’t put a line in the sand and start saying no.

Thanks for reading,

Practical Core Data

Practical Core Data helps you learn Apple's Core Data framework without requiring any prior knowledge. You'll learn how to integrate Core Data in UIKit and SwiftUI applications. The book also covers data modeling, synchronizing your store with a custom backend or CloudKit, profiling and improving performance in a Core Data app, and using Core Data in unit tests.

By the end of the book, you'll know exactly how you can start using Core Data in modern applications.

Buy Practical Core Data for $34,99

Practical Combine

Practical Combine is a book that will help you learn Combine from scratch. You will learn about all aspects of Combine in a natural flow where you're eased into functional reactive programming with simple examples, and the difficulty gradually builds up to complicated integrations in later chapters.

Buy Practical Combine for $34,99

🎶 Currently on repeat 🎶

If you follow me on Twitter you probably know that I play guitar. I'm a huge music lover and want to share this with you. In this section I will share a new album that I've been enjoying a lot every week.

The Maine - Loved you a little

When this song appeared in my Spotify recommendations I almost skipped it. But then I saw that Taking Back Sunday’s singer had a feature on this song along with an artist I hadn’t heard of before. I gave it a listen and… yeah, it’s good. Like really good. I’ve literally played this song several times a day since the first time I’ve heard it and I can’t believe how catchy it is. Highly recommended if you’re craving a bit of a poppunk/emo revival moment.

Other content that I really want to share with you

Creativity is an interesting topic, and I really enjoyed reading this short but sweet post from Phil Martin on how less makes us more creative. Guess less really is more.

An article by Phil Martin

If you’ve ever wondered why your view was positioned weirdly, you might have used the view debugger in Xcode, or used some other means to attempt and figure out the problem. If you fall into the latter category and haven’t used the View Debugger yet, I can highly recommend this post to help you get familiar with the View Debugger.

An article by Dominik Hauser

If you’re interested in iCloud sync and Core Data, these notes from Keith Harrison are a good read! Keith had some really good, short and sweet questions that got some good answers from Apple Engineers. Thanks for sharing this, Keith!

An article by Keith Harrison