My experience jumping off walls came in surprisingly handy.

In parkour, the process of overcoming mental barriers is known as “Breaking Jump”:

…breaking a jump is a process that YOU initiate which presents a situation challenging your limits and taking you out of your comfort zone. It will reveal fears and doubts that you will eventually address, face and overcome to gain more confidence and self understanding. It reveals your potential through the process of seeing, feeling, visualising, deciding and acting. (source)

That’s not me. But you get the idea. PM me if you want pictures of me practicing parkour.

Like many new slightly-outside-my-comfort-zone jumps I performed for the first time in parkour, pushing code felt a little intimidating to me.

Well, it wasn’t jump-off-a-cliff intimidating. But as a UX designer who spent most of his time NOT working with code, I definitely felt hesitant to approach it even though deep down I knew I could somehow do it. I guess you could say it’s like the hesitance some people feel towards holding a pencil to draw, or turning on a stove to cook.

In the spirit of becoming a better version of myself, I applied the “Breaking Jump” process to my first code-pushing experience, and here’s how it worked out for me:

1. Answer the call of the jump

After seeing Yu Sheng, my fellow UX designer, encouraged to push code, I felt empowered to do the same. To me, nothing is more rewarding than seeing an idea you came up with impact the lives of users. Pushing code myself seemed like a great way to sprint towards the changes I wanted to see.

In parkour, a 10-storey jump wouldn’t call out to me because I know it’s way beyond my limit. Likewise, I didn’t feel inclined to code a Facebook-like app from scratch immediately.

What called out to me was pushing a few simple code changes to the ReferralCandy product, which seemed doable and just slightly beyond my capability.

2. Familiarize yourself with the jump

To familiarise myself, I asked questions to turn all the “unknowns” into “knowns”, one by one:

What are all the things I need to know?

How does the codebase work?

How is this similar to the simple HTML/CSS stuff I know?

What’s the easiest code-pushing project I can work on to get me familiarised?

What are the actual steps I need to take from start to finish?

How does writing in this language feel like?

Daniel, our software engineer, helped a lot by introducing all the required steps of pushing code to me, on top of answering my never-ending questions. (“We’ll get back to your question later,” he sometimes said.)

What initially felt infinite and vague gradually became finite and clear.

3. Manage your emotions and visualise the jump

I thought deeply about the emotions I was feeling and visualised what pushing code might look like:

Worry: What if I spend too much time on it? Will I cause inconvenience to someone?

What if I spend too much time on it? Will I cause inconvenience to someone? Fear: What’s the worst that could happen? What if I break something?

What’s the worst that could happen? What if I break something? Ego: If I can’t do it well, what does it say about myself? Will I look dumb?

If I can’t do it well, what does it say about myself? Will I look dumb? Self-doubt: Am I really capable of doing it?

Am I really capable of doing it? Plan: How do I prevent worst case scenarios that I have identified? If I fail to prevent them, how do I fix things and recover afterwards? What does a perfect scenario look like?

The more I thought about these (not without making some minor mistakes along the way), the more I realised things weren’t all that bad.

More than that, I figured out how to keep those emotions under control.

My fear was diminished by knowing about the measures in place (such as code review) to prevent anything catastrophic from happening.

was diminished by knowing about the measures in place (such as code review) to prevent anything catastrophic from happening. My worry was reduced by Daniel’s willingness to guide me along.

was reduced by Daniel’s willingness to guide me along. I reduced my self-doubt by thinking about all the other things I used to suck at doing, that I can now do comfortably.

4. Commit to the decision to jump…

This was the “Alright, let’s do this thing!” moment. It was a commitment with every fibre of my being, and there was nothing holding me back from pushing code anymore.

… and just get it done!

My first time merging code changes into master!

I merged a code branch into master, and finally deployed code to production.

My first code push was a very, very subtle change in the border width of boxes throughout ReferralCandy

It’s true when they say you are a slightly different person on the other side, after the jump. I’m now Desmond the UX designer who can work with code!

That’s it?

Of course not. Breaking a jump once is never the end of the story. Getting to a point where one can perform the jumps with complete ease requires constant practice.

My parkour coach, Faiz, from Move Academy once said:

“Once is never. Twice is clever. Thrice is forever.”

Breaking a jump today doesn’t mean that you’ll be able to successfully perform the exact same jump tomorrow. You might feel different, forget certain things or just face it in a different context. In cases like that, you’d probably have to break the jump all over again. It’s a continuous process!

So, that was my journey of breaking the jump of “pushing code” at ReferralCandy. What’s the next jump you’d like to break? ;)