Read this in 6 minutes

Surfing and coding, what do they have in common?

A strange comparison, you might think. And you'd be right. But extreme sports, and software development have more in common that you might realize.

Published Nov 18, 2017 in posts
Scroll

Shakas bru

Howsit bru, how’s the swell looking? Ja no lekker hey, had an epic sesh, got so pitted. You should have seen my choob bru! The water was so glassy and these sets were just firing with p-lekker barrels bru.

Okay, no one actually talks like that. But, the long, salt and sun stained hair, olive skinned aesthetic is one many people aspire to emulate. People idolize this look, it epitomizes “chill” and “cool”. Seeing surfers rip waves on clear waters, throwing out big turns and hitting the rail of every wave, and finally, coming out the water exhausted, with a Clint Eastwood-esque squint on their face, exhausted - everything about it is just so stereotypically cool right? I bet you are already drawing your own comparisons between software development and surfing.

Just look at this guy:

You get the best barrels ever dude

After that you just drop in, ride the barrel, get so pitted like that

Okay, not true, developing software doesn’t really stereotypically epitomize “chill” and “cool”. You may be asking, “Stu, where are you even going with this?”. The point is not what each represents, but what people strive to be.

I hate surfing

Okay, I don’t, I kind of love it. I’m really awful at it still, but it’s about the most fun I can have for nothing - now that I have a wetsuit and a couple of boards. The beach is a 20 minute drive, and the waves are generally pretty good. The water in Cape Town is usually fairly icy, and even the nicest wetsuits aren’t impenetrable, but, at least they make it bearable… Kind of. A lot of folks wear boots and hoods too - because the brain freeze after your first duck dive really makes you question whether driving out at 6am was worth it, and the sting in your feet from the temperature adjustment after rinsing off in a lukewarm shower is so uncomfortable it’s hard to compare to anything.

In addition to this, it took me many, many months of falling over, and getting completely crunched from every direction by massive (okay, not massive) waves, before I could stand on a short board. It took me ages, to have the confidence to drop in on a five or six foot wave. Sometimes, I still chicken out. For a long time, I tried to understand how to pop up on a board and didn’t get it. And when one day I clicked, my journey of surfing only just began, and from there on in I had to try and learn how to turn on a wave, and surf backhand properly, and so on and so forth.

Illusion vs Reality

Illusion vs Reality

A pretty common misconception

Now, there are plenty of surf schools that advertise “3 lessons and you’ll be a surfer!”. In reality, 3 lessons will get you standing on a longboard on foamies, it will not make you Kelly Slater. It’ll get you started, but you aren’t quite ready to hit Crayfish Factory just yet.

Now, I may just be a slow learner with no real knack for the sport, because I’ve had the three lessons and then some and I’ve been trying it for a few years now, but sometimes, I still feel like a clown paddling out and getting wiped by nearly every wave… But then I look at some of my friends who’ve been doing this for 15 to 20 years, and realize, even they fall. Those 3 lessons can get you started, but the journey is very long, and requires a lot of persistence, and the definition of “being able to surf” becomes a bit cloudy. I think what makes it so interesting is that, with surfing, everything is moving beneath you. It’s not like snowboarding, or skateboarding, or even wakeboarding for that matter, because in those boardsports the surface beneath you is, for all intents and purposes, still. With surfing, the water beneath you is unpredictable, and exciting, and different every time.

Zomg parallels are being drawn ||

So, how does this relate to software development? Well, in the same way that many people aspire to that surfer aesthetic, despite having no real knowledge of how difficult or tiresome or even unpleasant it sometimes is, everybody nowadays wants to talk AI. Everybody wants to talk ML. Everybody wants to talk blockchain. Every other person wants to combine all of these to propose a new AI-based-blockchain-solution-mobile-app that will make them a billionaire. The tech scene is exciting, and the privilege of being deeply involved in it is exciting too.

But, it’s hard. I’ve been messing around on computers for a long time, I’ve done the four year courses, the subjects in school, and there are still things that have me falling down - of course. Sometimes this gets me discouraged, but then I look at some of the greats in the industry, and realise, even they make mistakes and often have to learn something new every day.

# Algorithm for Success

def how_to_success
  while !success do
    self.is_dead? ? break : try_again
  end
end

The tech industry moves beneath us, just like the wave moves beneath your board. So many people want to paddle onto the tech waves, with new sets rolling in every 2 to 3 years, but so many have done a 3 week bootcamp and get sold this dream that they’re now Linus Torvalds. Eventually, it clicks - the water out here can be cold and rough, and you spend a lot of time falling over before you learn to design effective solutions to problems. The appealing industry you see presented at conferences for new ML-based solutions isn’t always the reality you’ll experience, just like watching the WSL highlights isn’t exactly what a Sunday morning at Muizenburg will be like. In the same way almost anyone can stand on a 10ft board on the foamies, almost anyone can write hello world in Python. Not everyone, however, can take on Nazaré when it’s firing, and not everyone can solve massive real world problems with code.

The software industry moves fast, and being an effective developer in the industry will be a never-ending journey as such, as it is with becoming a great surfer. If there’s anything I’ve learnt, it’s that no matter how many times you fall off your board, no matter how often you find yourself gasping for air, when you finally get that system right, and you’re swallowed into the cerulean bliss and serenity of the barrel, you’ll find yourself filing that memory under the section, “coolest experiences ever”.