All the way back in November of 2015, Shia LaBeouf did a performance piece entitled #AllMyMovies. Shia and some friends rented out a theatre in New York City, queued up his entire big screen career in reverse chronological order, and for the next 3 days sat there and watched while a camera was affixed to LaBeouf. No audio was available for the stream, however people were invited to join them in the theater for free at any time.
Many touted this as one of his more ‘stupid’ antics, in a line of odd behavior, me included. Performance art has always been one of those things I’ve never fully grasped, even in my days of art school, but as I kept going back to the live stream to see how weird the concept was…something happened. I caught a glimpse of reflection in his face as he watched a scene from “Surfs Up” (a movie my son loves watching).
Reflection is Good
Now, I can’t state exactly what he was reflecting on, or what was in his mind at that exact moment, but putting myself in LaBeouf’s shoes as a creator, I can look back at things I’ve done in the past, and remember interactions with colleagues on the project, discussions, celebrations, or even disappointments. In that one moment, you could see someone’s joy as they remember a moment of their past, by watching their past.
It helps us remember the good, learn from the bad, honor the forgotten. Reflection is a vew into one’s actions.
Reflection as a Developer
In the case of #AllMyMovies, it’s pretty easy and entertaining to queue up a bunch of movies and snack on some popcorn while you and your friends hang out for 3 days. As a developer…it’s a little different. All I can picture (in the same medium) is a “Star Wars” style intro scene, with my GitHub commit history scrolling upwards…most would be entirely boring, some profane, others half-assed. I think we’d have to dub it #AllMyCommits
One thing we can do, however, is periodically go through and refactor our code. Now, some will say that refactoring for the sake of refactoring is just a waste of time, and I would mostly agree with them. If you’re working on a time sensitive environment, the luxury of having time to refactor comes few and far between. When it does happen though, it’s a great moment of reflection on how far you’ve come as a developer, and what you’ve learned since the initial code was written.
Refactoring your code can become a reflection of your journey as a developer. Click To TweetSomething else you’ll end up noticing though, is the non-code related things happening in your life when you were working on said projects, will start triggering memories. It’s an interesting thing, as a developer, to be looking at code, and remembering “That’s the day I went to that place with that person…good times.” Some might even remind you of less fortunate times, which can help lead to reassurance of where you are now. Development isn’t just about what’s happening now, it’s our form of journaling. It builds a record of our state of mind, at the time it’s written.
Don’t believe me?
How you feel, is usually how you code
Ask any high-performing athlete, and they’ll tell you that preparation, routine, and mindset are all very important to their success. The same goes for you as a software developer. If you’re not feeling well, there is stress in your personal life, or your routine is out of whack, you’ll be less productive. Reflecting on your past code can also reflect on your past influences (good and bad).
Some people have the ability to completely isolate their external stresses and not let it affect their code. It’s not easy to do and typically consists of routines. Setting the environment, certain type of music, temperature, etc. Find your ideal environment, and consistently re-create it, and you’ll see a boost in your productivity and quality. One that, as you reflect, you’ll notice.
My challenge to you: #SomeOfMyCommits
I know that challenging you to review #AllMyCommits would be near impossible, and take days or even weeks in some of your cases. So, I want to challenge you to review one single project. Go through something you remember writing more than 6 months ago. Look it over, dissect it, and see if you can do it better. See if it brings up any memories of life at that time. I’ve got a few pretty vivid ones.
As I am working on the upcoming Post Promoter Pro 2.3 release, I’m refactoring some code that was written back on the initial release. A release that I finalized when I was vacationing with my family and parents and brother, down in the Tucson area. My son ended up being sick with what we later found out was an ear infection. My brother and I went to a Friday Night Magic event at my local game shop. There are a ton of other details that I’ll spare you of, but I think you get the point.
Reflection is good, and you should do it from time to time.