I'm building a iOS (iPhone) app which makes requests to a C# .NET Core WebAPI back-end.
I'm creating the WebAPI back-end as I create the App itself. There's a lot of back-and-forth as I change a thing in the App and then need the WebAPI to give me different data.
Everything's Broken
It started me thinking about how that as I work on the project, at any moment either the App or the WebAPI is broken.
It gets worse really, because any time I change the WebAPI then I have a broken App and I have to fix things over there. It's back and forth between the too and just makes a developer feel like everything is garbage.
How Do Minds Deal With Broken Stuff?
That started me thinking about my interaction creating the new software and how that actually affects me. The thing is that no one really wants to deal with broken things and always fixing things. Your mind will work against you as you face the software you are working on, because we want things to "just work".
It feels terrible as we confront all the broken pieces of the thing we are trying to create. But, that's just how your mind deals with things. It tries to run away from difficult things that are in disarray. Brains like things to be organized and perfect, but the real world just isn't that way.
That's just a normal brain being normal.
Super-Power: Being Able To Deal With Broken Things
However, if you take a moment to assess why you feel grumpy or uncomfortable or upset as you work on the project that is in broken pieces you'll discover it is just because of wanting things to be right.
Things can't get right though, unless you confront each challenge and beat it.
Break Broken Things Into Small Pieces
My best advice (and what I'm doing in my project) each challenge into smaller things to resolve and then just work on one of them.
- Make a list so you don't feel overwhelmed -- I've found that often when I think there are a ton of things to do it's only a few when I actually write them down
- Start with the smallest thing you can succeed with
- Turn the challenge into a Learning Experience. Take the problem and decide that you will solve this so no one else ever has to because you will document the challenge and its resolution (this helps you get the focus off the bad feelings of things being broken and puts the focus on doing the work to resolve the issue
Now, I'm going to head back over to my iOS App / WebAPI and
- work on the smallest thing I can fix
- look at it as a learning / documenting experience
If you're stuck, break your challenges down into small pieces and examine them as if you are going to explain the solution to someone else.
Good luck.
Top comments (1)
That's great advice.
I too find I get lost in the back-and-forth when building things.
What's worse is when you realise you've got to do something, but you've also got to do something before you can do the first something, and so on (hope that makes sense).
But you're right. Making a list definitely helps. Once everything's written down, I find I can clear my mind and focus on getting one thing done at a time.
There's one school of thought that says get the simple things done first. It helps tick off the items and gives me a sense of momentum as I'm getting things done.
Another philosophy is to do the hardest thing first. That way, it feels good because there are only simpler things from that point on. But it can take more time, so I find it really depends on my mood at the time whether I take this approach.