By Peng Xie
(Part I of this series can be found here)
In Part One of this blog post, I mainly talked about how I got started with iOS development and some ways I find useful for learning iOS development. At the end of Part One, I also promised to share a habit of mine that has benefited me a lot on iOS development. If you haven’t read the last part yet, you can find it here and see if my experience can be a helping hand to you. Otherwise, sit back relax, grab yourself a drink, and let me unveil my secret habit on iOS development.
The Situation(s) and The Solution
- Have you ever encountered a bug in your app that makes you think you’ve seen it somewhere before (but you forgot how you solved it)?
- Have you ever worked on an old project of yours and wanted to travel back in time to hug yourself or beat yourself with the keyboard?
- Have you ever wanted to mimic a design from an app or a library but forgot which app or library is it from?
I have been in all those situations and even more. Every time I’m in those situations, I wish I could remember but I simple can’t. I think as normal human beings, our memory is highly limited and new things will replace old ones as time goes. Therefore there has to be a solution to this. For me, it’s simply to write down things I want to remember. Yup, it’s just taking notes.
What to take notes for and how do I learn from them?
I’d like to approach this from a leaning perspective. I usually take notes for the mistakes I made, the projects I worked on and the tricks or designs I leaned from other apps or libraries so that I can learn from mistakes, past and others.
Taking notes on bugs I encountered and solutions to them makes me able to learn from my own mistakes. It can be a boring task but I guarantee that you will not regret doing it. Sometimes I may find a bug that I’m 100% sure I had some time before. But I just can’t remember how I fixed it last time. If I don’t have my notes or for some reason it is not in my notes, I have to go through the process to fix it like a new bug, which can be a pretty time consuming and frustrating task. However, if I can find it in my notes, everything becomes much easier. Taking notes on my own mistakes has greatly reduced the time for debugging and the number of mistakes I may make while coding.
Just like learning from my old mistakes, I review my old projects on a regular basis and make improvements (or upgrades) if needed. While reviewing the old projects, I take notes on the bad designs I find and changes I need to make. This can keep my projects as well as my brain up to date and with the notes I can be more mindful when working on my next project. The notes make my projects more “future-proof” so that I can love, instead of hate, myself more when I have to come back to work on an old project.
In addition to taking notes on my own mistakes and projects, I also spend time checking out interesting apps and libraries from other developers. I take notes on things I want to do or use when I see them in other people’s apps or libraries. Therefore, I always have some sort of reference when I need them. I spend time checking out apps in App Store’s top lists as well as other popular and award-winning apps every now and then. It’s a good way to learn what kind of design is trending and it also gives me a rough idea on what users want from a developer’s perspective. I learned even more from open source libraries and projects. The source codes themselves can give you a pretty good picture on other developers’ design style and some good practices. And the issues page of the project is a good place to see what kind of issues other people had and learn something from how they solved it. Try to start with some popular and well-received open source projects. They have more people contributing to them and usually have some pretty good documents to help with learning.
Where to go from here?
Taking notes is a habit that is simple yet hard to keep. It is also a small habit that can make big difference. Leave a comment and let us know if this blog post is helpful to you. We will be also happy to hear from you about your development habit and how it helps you. Make sure to check back on the last part of the blog post, which I will share my thought on how a developer can evolve from “just being a developer.”