Managing time

Time is an interesting resource. There’s a fixed amount of it in a day, and we can’t buy more of it. We can’t slow it down. We can’t rewind time a little to give us more of it.

Ever since I’ve started working as a freelance developer I’ve found that time management is absolutely crucial to me being able to do a good job.

My weeks typically are a mix of working for various clients, doing work for myself (blogging, exploring SwiftUI, preparing talks and workshops), and doing the boring but important administrative tasks that come with a business.

For me, the best way to manage my time is to make sure I’m busy and know what to do. If I’m not busy enough, or run out of tasks to do for a day it’s easy to get distracted and start slacking off. Usually that’s no big deal, but sometimes it’s just a result of poor planning and I should really be doing something else.

To get around this I have given myself an important rule.

Every working day must start and end in Notion

Notion is where I keep a ton of my notes, and it’s where I do a lot of my work. It’s also where I plan my weeks and days. I make use of a Notion database that’s visualized as a board to make it easy to glance at my planner page and know exactly what I need to do for the day. At the end of every day I will plan and refine the tickets I have for the next day. This involves checking my email and calendar to make sure I don’t forget or miss anything important.

Doing this helps me focus, and makes sure I keep my mind in the right space without getting lost in distractions, or focussing on a single task or client for way too long when there’s something else I should be doing.

It definitely took me a while to find a good way to manage myself without feeling too restricted or formal and it’s funny how my current setup is actually very tight and formal since every day now starts and ends with me planning my work. When I was still working for Disney Streaming, a lot of this was done for me. We’d plan sprints, and I knew that every day I would look at the Jira board, pick up my tasks, and I’d complete them all at the end of the sprint.

Being a freelancer comes with a lot more freedom, which I love. But I’ve also learned that it’s important to realize that I’m now in charge of your own planning way more than I ever was. Which is great, but also important to get right.

Now that I’ve explained a bit about how I plan my weeks, I wonder… how do you plan your weeks? Do you have a similar system? Do you do something completely different? I’d love to hear a bit about how you do planning for yourself regardless of whether you’re freelance, an employee, or still focussed on becoming a developer!


ps. Did you see my website now has darkmode?

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.

Badflower - This Is How The World Ends

Badflower are a relatively new band from the US that I’ve really come to love over the past year or so. My first experience with them was their song “Family” which is from this album. Their musical style is very interesting to me. It’s a bit of a rock ’n roll vibe mixed with punk / emo or something. I’m not sure how to label them but I do know that you should go and check them out.

Other content that I really want to share with you

A few weeks ago I did a rehearsal of my SwiftUI property wrappers talk at a local CocoaHead meetup. Even though the talk has changed a bit since doing it there, I figured it’s worth sharing anyway because it should give you some insights into what an early version of a conference talk might look like, and it’s simply an interesting topic.

An article by Donny Wals

Something that I hadn’t noticed myself is that iOS 16 has some huge improvements for app startup times. This post from Emerge tools explains exactly how much faster, and also why iOS 16 launches apps so fast. It’s a quick read but very interesting!

We’ve had background tasks on iOS for a while now, which is great. However, implementing them required that we had an AppDelegate to respond to tasks completing and other task related events. On iOS 16, SwiftUI comes with nifty view modifiers that help you implement background tasks without needing an AppDelegate at all! Read everything you need to know in this post by Majid.

An article by Majid Jabrayilov