Over a million developers have joined DZone.

It's Not Waste, It's Learning

· Java Zone

Navigate the Maze of the End-User Experience and pick up this APM Essential guide, brought to you in partnership with CA Technologies

In one my my rare weekends at home, I found myself on a pottery course (this is the sort of thing that happens when you’re a “yes” person).

OK, not pottery, horses. The course was on a farm.

OK, not pottery, horses. The course was on a farm.

I had a fantastic time on the course, there was something enormously satisfactory and therapeutic about working with my hands, on something creative that was for me, and only me.

My first bowl

Honestly, I think the one I did in primary school when I was seven was better.
And I don’t care, because I loved creating it.

One of the things that really struck me that day was embracing failure and destruction as part of the creative process. Let me give you a couple of examples:

The teacher showed us several techniques for creating pottery, one of which was using plaster moulds and very liquid clay to produce more complex items (for example, mugs and animal figures). He told us that when using a new mould, the first few items would be useless. But these “failures” are an important process for the mould itself. The class was in Spanish, so my understanding was imperfect, but I think it was something to do with the fact that the plaster moulds are supposed to absorb water, and therefore I assume at the beginning they absorb far too much and the clay ends up being too dry and brittle.

Pottery created with moulds

Pottery created with moulds

The second example was when he showed us why it was so difficult to create a clay plate - bowls, mugs, cups were fine, but a plate is difficult as it’s flat and the shape doesn’t have enough structure for it to have any rigidity if it’s even slightly damp (and clay stays damp for a looong time, even in a climate like Seville’s). He demonstrated this by cutting straight through the plate that he’d put into the mould earlier and folding it up, to the collective intake of breath of the whole class - a class of people of a range of ages and backgrounds. We seem socially programmed to find destruction of any kind upsetting (which is probably, overall, not a bad thing), when the teacher sliced the plate in half to demonstrate how floppy the plate was, we were all disturbed by this waste.

My pieces

Even when I broke my bowl when preparing it for the kiln, I couldn’t bring myself to abandon it - I turned it into a candle holder

But here’s the thing - it’s clay. Clay is mud. It’s from the ground. Moreover, it’s almost completely reusable. All of the leftover clay from our earlier exercises, all of the excess liquid clay from the moulds, all of the pieces that didn’t make it, it was put aside and saved for later. It’s not a waste. It’s learning. It’s experimenting.

It’s not failure.

It got me thinking. If we can be like that about something concrete, something that exists in the real world, why aren’t we like that about something as ephemeral as code? Why are we so afraid to throw away code? And don’t tell me we’re not afraid - how many “spikes” and “prototypes” have you seen running in production? Have you read people talking about creating code and throwing it away, and thought “that sounds nice, but I think I’ll stick to just producing useful code”? (Note: I’m not talking about throwing away perfectly good production code, nor am I talking about refactorbation, a term I just discovered and love. I’m talking about creating for research, spikes, learning etc, and then throwing it away).

Java
What?? I needed to carve something into the medallion

Coincidentally, I’ve been reading Build Your Routine, Find Your Focus, and Sharpen Your Creative Mind, and there’s a section in there that talks about getting into the habit of creating just for the sake of creating. Not for your side projects, not for a client, not even for your portfolio. Simply to get into the habit of creating. Maybe some of those ideas, or processes, will come in handy later down the line. Or maybe, like the clay moulds, simply creating something for throwing away actually helps the overall process.

These experiences have left me with a feeling that I should start getting used to the idea of throwing code away, and start creating things for no reason other than the feeling of creating. It could be like running - in theory I run so I have to worry less about my weight and my fitness, but actually I run much more frequently when I run just for the joy of running. The fitness and health are side benefits.

Maybe we’re so reluctant to throw code away precisely because it isephemeral. Maybe with the clay, we can see that concrete thing, that mud, being turned into something useful eventually. With running, you can feel the difference in your attitude, in your fitness, maybe see it on the scales. With code, when you delete those characters, revert that change, you feel like you lost something, and have nothing to show for that precious time. When actually you created new pathways in your brain, added new memories and learnt new lessons.

I’m not sure I’m ready yet to create just for the sake of creating, I think I’m just too results-driven. But I’m going to write about it here to remind myself that it is something I want to do. Sometimes it’s the exercise, not the end result.

The full haul

The final pieces, still needing the kiln to finish the glaze.

Thrive in the application economy with an APM model that is strategic. Be E.P.I.C. with CA APM.  Brought to you in partnership with CA Technologies.

Topics:

Published at DZone with permission of Trisha Gee, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}