UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Tips on making a great side project

Recorded – watch the full episode on YouTube.

What do you need to make a great side project? What goes into it do you think?

Kaya Thomas: That's a good question. I think there's a lot I think that goes into making a good side project. I think scope is really important. So before you jump in to start coding or anything, there needs to be a lot of thinking time and you can't neglect that thinking and planning time. So you need to take time to think about audience – who is this app for? Who do you want to be using the app? What are the positive ways you're going to impact the audience who is using the app.

And then scope: what's the smallest amount of features that you think would make this a good app? Smallest amount not the largest amount. You could list all the features that you would want to build in the future, but realistically scoping, okay, maybe I can start out with two or maybe I can start out with three max or something.

“So before you jump in to start coding or anything, there needs to be a lot of thinking time and you can't neglect that thinking and planning time.”

And then thinking about how you can make those pitches to the best of ability. And then wire framing, you mentioned Keynote, that's a great way to start, right? Putting things together on Keynote and playing around with it and then showing it to people. I think that's a scary thing, right? To show your wireframes or things to people, but show it to people – see what they think, right? And not necessarily taking people's opinions as everything, you can take them with a grain of salt, but getting feedback I think is important.

For any developer, especially working solo, it can sometimes be a really lonely experience. So you want to make sure that you are asking your friends or other developers, what they're thinking, getting feedback and then once you figure those things out and you really have thought it all out, then started working on the implementation.

“Then don't try to perfect it before launching it. I think that's the thing is like, it's not going to be perfect. You have something that's working, you're getting some good feedback, launch it, just go for it, just go for it. And don't hold back.”

And I think if you get that first working MVP, that minimum viable product, then go on TestFight, right? Putting your app on test flight and then asking either friends or other developers to give you feedback on what the beginning experience is like. Then don't try to perfect it before launching it. I think that's the thing: it's not going to be perfect. You have something that's working, you're getting some good feedback, launch it! Just go for it, and don't hold back. I think those are kind of the steps when you're launching. And then once you have launched it, make sure you're being realistic on how much time that you can actually spend on it. And so it's not like taking over your life or anything, but you're still putting in the amount that you feel proud of or that you feel good about.

“Really stay focused on singular goals I think is important.”

And then making sure you're still staying and focusing on one or two features at a time and not trying to build all these things at once. Really stay focused on singular goals I think is important.

Paul Hudson: Gosh, there was a lot of packed information packed in there, but it really sounds like getting your MMMVP initially is critical, then staying focused on that MVP it's writing chunk by chunk by chunk is a really key thing here.

There's a brilliant book which I expect you've read or definitely want to read, The Mythical Man-Month by Fred Brooks, where it talks about the second system effect. And it's the idea that you build version one of something and you make it ship and it gets out the door and it was hard work, but it shipped eventually. And when it ships, you think, okay, it's time to plan version two. And you think, right, all those things, we catch they're everywhere around, every story. And it goes to version two and it just ends up being a difficult overwhelming overburdening nightmare. And of course, no one wants that, not even in a side project.

Kaya Thomas: Exactly. I think that the incremental part of it is super important and not trying to do too much at once.

This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.

Listen on Apple Podcasts

Hacking with Swift is sponsored by Essential Developer

SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until April 28th.

Click to save your free spot now

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.