Quit Coding? Here's How To Start Building Apps Again

Written by: Reinder de Vries, October 12 2017, in App Development

Quit Coding? Here's How To Start Building Apps Again

Coding is hard, right? When you’re learning how to code iOS apps, you’re not always as inspired to solve that next bug as you want to be.

Bugs, errors, frustration and confusion – sometimes enough is enough! You don’t want to be stuck forever, so you give up on coding.

Sounds familiar? If so, then this article is for you. I’ll show you how to get back to learning how to code, back to building apps again, and how to have a fun time doing it.

Ready to give it one more shot? Let’s go.

  1. Where Does Your Motivation Come From?
  2. Clean Up Your Coding Environment
  3. Find Something New To Learn
  4. Learn To Enjoy Getting Stuck
  5. Further Reading

Where Does Your Motivation Come From?

There’s something you gotta understand about motivation. How do we humans stay motivated to do anything, even when it’s hard and challenging?

Motivation works like a bank account, we think. You make withdrawals and deposits. You’d say that positive experiences, like completing an app feature, deposits motivation in your bank account. Negative experiences, like wasting days on a frustrating bug, withdraws motivation from your bank account.

Sounds plausible, right? Unfortunately, it’s not as black-and-white as deposits and withdrawals. Think about the last time you did something challenging, like competing in sports, hiking a steep mountain trail, or going on a run.

Those things challenged you, even made you hurt, but you felt good about it all the same. The experience didn’t seem to take motivation out of your bank account, it sometimes even appears to have added motivation to it. How’s that possible?

In his book Deep Work, Cal Newport argues that work needs to be meaningful to be sustainable. Research into happiness has shown, for instance, that the feeling of happiness isn’t just a balance between gaining pleasure and avoiding pain over a longer period.

Feeling fulfilled, doing work that matters, feeling satisfied with the results of your work, are much better explanations of motivation than a “bank account” ever could be. In fact, things like inspiration, willpower and the ability to focus are more like a balance between many forces, than a just a balance between positive and negative.

Once you understand the impact of your experiences with programming on your ability to stay motivated, it becomes much easier to get motivated again.

Ask yourself these questions:

  • What got you interested in coding in the first place? Since you started, did you experience any of the things you thought would be interesting or exciting?
  • What’s the end goal for you? Why are you learning to code, and building apps? Do you think this end goal is (still) attainable?
  • Looking back on past experiences, were there situations that motivated you, and what did you feel depleted your motivation? In coding, what do you look forward to, and what do you dread?

These questions are meant to made you think. When you’ve answered them, I’m sure something stands out. For instance, you thought a particular experience with coding would excite you, but it hasn’t, or you haven’t found it. Is there something you can do different, to make that change?

Grab My Free iOS Development Course

Get complementary access to my course, Zero to App Store, and learn how you can build a real-time chat app with Firebase and Swift!

Yes, Send Me The Free Course!

Clean Up Your Coding Environment

“If a cluttered desk is a sign of a cluttered mind, of what then, is an empty desk a sign?” – Albert Einstein

It helps to keep your coding environment clean, tidy and without too many distractions. Not too clean, as Einstein so aptly put it.

Think about:

  • Is your desk riddled with paper, books, trash?
  • Is your working environment quiet enough to focus?
  • Are you constantly being distracted by Facebook, email and incoming messages?

Learning to code, and building apps, is an intensive task for your mind. You need to focus 100% on what you’re doing right now. Research has shown that humans perform very poor on doing multiple tasks at the same time. We can accomplish a lot if we do just one thing.

In our increasingly distraction-rich workplaces, the ability to work undistracted will become an important skill that distinguishes you from those that won’t get ahead in life. Differently said, you gotta learn how to stay focused if you want to make progress.

Your physical surroundings aren’t the only workplace you have. Your PC or Mac is perhaps even more important than your desk. What notifications are coming in? How many open tabs, apps and windows do you have? Can you find the file you’re looking for, or is it burried in downloads, documents and funny JPEGs?

And what about the stuff that’s inside your mind? It’s hard to focus if you’re constantly worried and anxious. Keeping your mind tidy is easier said than done, of course.

So, now that you know that a clean work environment is important, how do you move forward? I want to argue against always keeping it clean. Life happens, funny JPEGs happen, and you can spend your entire life getting and keeping your ducks in a row – and get nothing done.

Seth Godin puts it very aptly:

Getting your ducks in a row is a fine thing to do. But deciding what you are you going to do with that duck is a far more important issue.

Here’s a few ideas on how to move forward:

  • Distractions, trash, change – it comes and goes. Understanding this is important. Learn to work with it, without it, and try to leave your desk clean at the end of the day.
  • Spend some time to organize the files on your computer, from time to time. It really helps, but don’t overdo it.
  • If you want, practice with meditation. If you think that’s too much, then practice simply getting back to what you were doing when you notice you’re being distracted.

Now that you have a duck, what are you going to do with it?

Quick Note: Join me and beginner app developers like yourself in learning how to code, and building iOS apps! Check out the LearnAppMaking video courses and build that app you’ve always wanted to build.
» Learn more

Find Something New To Learn

I regularly “meet” many beginner app developers like yourself, mostly through email. Recently I received an email from a developer, it went something like this:

I’m doing this project. There should be a map view, with a table view, that connects to a back-end that has information on locations around the user. There should also be a button for filtering. Can you help?

I replied back, as I always do, with the question if he could break it down into smaller pieces.

When you ask me such a “complete” question, that lets me do the hard work, I also always ask you what you’ve done so far to solve the problem yourself. (It’s smarter to ask me small, detailed, comprehensive questions.)

This email came from a person who is very close to giving up. He’s already given up on finding an answer to the problem, because he’s asking the easy questions. Can I help? Of course!

Think of everything you know about building iOS apps as a big bag of small gold nuggets. Your skills, information you have, experiences you’ve gained, are all part of the bag.

When you want to solve a problem, or build something, you look into your bag of gold nuggets and look for the ones that appear to fit. You take them out, use them, and build your app.

The developer that emailed me has two problems:

  • He doesn’t know the gold nuggets he’s looking for
  • He doesn’t have the gold nugget he needs

See the difference between those two?

A lot of frustration in learning something new comes from trying to find out what you don’t know. You’re effectively looking for a path in the dark. You need to find the path before you can walk it. Unfortunately, this is very frustrating and it’s one of the main reasons people give up on coding.

So here’s a different approach…

  • It’s important to work on a project while you’re learning to code, but forget about the project for now. Don’t focus on the big app you’re dreaming about, or that Facebook-like app you want to build, or the million dollar business you hope to create.
  • Every time you work on your app, and on learning how to code, find something new to learn. It’ doesn’t matter what: how to code functions, how optionals work, how to use ARKit, or how to apply the DRY principle. Anything!
  • When you learn something new, try to connect it to what you already know. How can you use a map view together with a table view? How does it fit the bigger picture?

You’ve already guessed that this “expands” the bag of gold nuggets. It also reinforces it, because you’re connecting what you don’t know with what you already know. This is crucial for learning, I can’t emphasize that enough.

How does this tie into getting back to coding? Well, it’s an entirely different approach. Instead of getting frustrated by trying to find the things you don’t know, you simply grow by learning things that might come in handy.

In time, you’ll start to make more connections, learn the fundamentals, and recognize how it all fits together.

Grab My Free iOS Development Course

Get complementary access to my course, Zero to App Store, and learn how you can build a real-time chat app with Firebase and Swift!

Yes, Send Me The Free Course!

Learn To Enjoy Getting Stuck

What kind of advice is that? Who enjoys getting stuck!? Well… coders do! It’s said that 75% of programming is solving bugs, and 25% is building new things.

It’s easier to understand that developers enjoy getting stuck if you don’t think of getting stuck as a bad thing. No one enjoys frustration – so to enjoy getting stuck, you must try to avoid getting frustrated.

“The problem is not the problem. The problem is your attitude about the problem.” – Captain Jack Sparrow (Pirates of the Caribbean)

If you think it’s not a problem, is it still a problem? These are not Jedi mind tricks – it’s just looking at challenge, frustration and problems from a different perspective.

App developers spend a lot of time on these activities:

  • Designing technical projects
  • Writing lines of code
  • Finding causes of problems

There’s nothing really wrong with any of those, right? So let’s take a look at the same list, from a different perspective:

  • Feeling overwhelmed by the size of a project
  • Feeling lost in supposedly simple lines of code
  • Being stuck solving a bug and not knowing how

Now these things suck! If you compare the two lists, you’ll quickly see that the causes of frustration, confusion and challenge aren’t the things you do, but how you feel about them.

Feeling overwhelmed, lost and stuck are experiences no one enjoys. Should you always avoid them, then?

No. It’s said that all suffering in life comes from avoiding pain and clinging onto pleasure. You gain more by accepting both, accepting that they pass, and recognizing them for what they are.

Once you realize this, you’ll see that the problem goes away when you close Xcode. When you leave work, to do something nice, you can leave the frustration, confusion and challenge right were it is.

Of course it’ll be there when you get back, but now that you know it, it doesn’t seem so confusing, frightening and frustrating anymore. You realize you have a gold nugget in your bag just for this occasion.

The hardship from solving a coding error or a bug comes with a bit of pain, but you know that it passes.

Before you know it, you start looking forward to solving bugs. You welcome it, instead of wanting to avoid it. And in time, you notice that the bugs get smaller, and you keep growing bigger.

Further Reading

Thanks for reading! I sincerely hope that you’ll get back to coding again, and have a fun time doing it. In case you have a question, please leave a comment!

Want to learn more? Check out these resources:

This article is better when enjoyed together with friends. Please share it!

Written By: Reinder de Vries

Reinder de Vries is an indie app developer who teaches aspiring app developers and marketers how to build their own apps at LearnAppMaking.com. Since 2009 he has developed over 50 apps for iOS, Android and the web, and his code is used by millions of users all over the globe. When Reinder isn't building apps, he enjoys strong espresso and traveling.

Grab My Free iOS Development Course

Get complementary access to my course, Zero to App Store, and learn how you can build a real-time chat app with Firebase and Swift!

Yes, Send Me The Free Course!

Comments & Thoughts