"This feels weird."

My nine-year-old son got hit in the head at soccer practice the other day. His reaction reminds me of my own professional software development journey.

"This feels weird."

My nine-year-old son got hit in the head at soccer practice the other day.

As he sat on the ground in tears, one of his teammates rubbed his back to console him. I asked him if he was all right.

"This feels weird," he said with concern in his voice.

I started to worry he might have a worse head injury than I realized.  "What feels weird?" I asked. "Is it your head?"

He wrinkled his nose. "No, this," he replied, gesturing with his thumb at the girl rubbing his back. "This feels weird."

New Experiences Usually Feel Weird

I tell this story for two reasons.

First, it cracked me up. It's hard to describe the look of disgust on my son's face as his cootie-covered classmate consoled him so sweetly.

Second, it's a good reminder that any new experience often feels weird in the beginning.  

TDD, Classes, and WithEvents, Oh My!

I recently wrote a series of articles on test-driven development (TDD).

The first time I tried TDD I had the same wrinkly-nosed feeling as my son.  I pushed through it because I had read enough smart people who recommended the approach.  I trusted that there would be a light at the end of the tunnel.

In fact, every time I learned a new concept, I had a similar experience.  

I read lots of articles about how great class modules were, but I never quite got the point. One day, I stopped reading and started doing.  I forced myself to start writing class modules. Truth be told, those first few probably should have been standard modules.  But I kept grinding until one day the concept finally clicked.  

Several years later, I finally got around to forcing myself to see what this whole WithEvents thing was all about.  Once again, I had to work through that familiar initial weirdness.  But, once I did, I discovered the wonderful world of using WithEvents to write reusable event-handling code.

Someday It Won't Feel Weird Anymore

The only way to get past that initial feeling of awkwardness is to work through it.

You can only learn so much by reading about a topic.  If you want to understand it, you have to start doing it.  It may feel weird. It may feel awkward.  But some day you may find that you really enjoy it.

I think–in a few years–my son will agree.

Referenced articles

VBA to T-SQL via TDD - No Longer Set
In this series of articles, I go step-by-step explaining how you can re-write VBA functions as SQL Server scalar functions to increase performance without the risk of introducing logic errors during the migration.
Using WithEvents to Encapsulate Event Handling Code
You don’t need to call the event handler for every control to handle its events. Instead, you can use WithEvents to encapsulate that code in a class module.

Image by Victoria_Borodinova from Pixabay

All original code samples by Mike Wolfe are licensed under CC BY 4.0