One revelation I’ve had after nearly 6 months of professional iOS development is that if you want to be a great developer it largely becomes about making one decision, and only one:
Today, do I give my maximum or do I give my minimum?
I’m sure this sounds cheesy, surely it’s about how passionate you are, or how much you’re feeling the code right now. No. It is not. Passion will eventually fade, how you feel will change on a day-to-day, or even minute-to-minute basis, even if that isn’t an issue for you. Making a daily decision, a commitment, to give your maximum every single day will result in three things happening:
You will create the very best code you can on that day, at your current skill level. This is extremely important because even if the task is a bit dry, your commitment to create a beautifully-fashioned piece of code overrules that and you will be an example to others and feel pride in what you do.
You will feel great that you did your absolute best, using the best skills and tools you had and it will shine through your work and your personality. Only you know when you gave your best, no one else can tell you that.
You will have an impact on your team, even if you are the most junior member of it. People will wait on the feeling, the inspiration, the ‘perfect moment’, the raise, the money, the next leader. You will simply take on any task and absolutely give your all, even if you fail (unlikely). But you’ll get back up and do it again. People will watch you, maybe even initially think you’re a bit juvenile, but in the long run you will master your craft, realise there are things to learn in every situation and be extremely well-rounded and skilled in areas you knew you had to work on and you did.
Why do people not do this?
Most people are too afraid to be weak. I’m not criticising anyone here, I know all-too-well what this is like. When you start to give your all, you notice right away that you suck at some things: maybe it’s using pattern matching in swift, maybe it’s because you can’t read opcode and assembly language. Who knows. Everyone is different, and people will try to avoid their weaknesses. It takes ‘too much time to learn them’ or ‘I don’t like that way of doing stuff’ are a few excuses. The hard truth is that we all have a lot of areas to work on and when you commit to being your best, they suddenly come out and dance right in your face.
Weakness is one of the greatest teachers on earth: it is your own mind, heart telling you what to work on. Listen to it and strengthen your abilities. Make a list of things you feel weak about and commit to focussing on them for the foreseeable future.
I want to encourage you that it is possible to make a commitment to being the best programmer you can be today. It overrides the feelings (I absolutely love what I do by the way and am extremely passionate) and gets on with the best way to complete the task in hand.
I am nowhere near achieving the level I want to be yet but I know this: You’ll only ever be happy when you give your MAX, don’t give your MIN.