Watershed Moments, defined in multiple places the least of which not being Quora, is defined as:

A “watershed moment” is a point in time that marks an important, often historical change.  The pertinent original usage of “watershed” is to describe a ridge of land separating waters that then flow into two different bodies.

This idea isn’t isolated to web development or software development, though since that’s the area in which many of us work I think it makes for good conversation.

This weekend, I saw my friend Justin (who, if you’re a WordPress developer, should be following) tweet out the following:

And each time I tried to respond using 140 characters, there wasn’t enough space (or tweets) to share my opinion on the topic (and no, this is not my advocating longer tweets ;).

But seriously, I thought it was a great question and the more I thought about it, the more I thought it might serve better as a blog post.

My Watershed Moments

Naturally, this is one of those things that will vary from person-to-person, and there’s no wrong answer. That’s what, in my opinion, makes these type of questions so interesting.

Watershed Moments

Anyway, to answer Justin’s question I have to say that a portion of my watershed moments come in the context of general software development and some of them come within the context of WordPress.

  • Processes, threads, and how programs are scheduled on the processor,
  • Multithreaded programming (glad I don’t do much of that on a daily basis) and blocking,
  • Certain design patterns like the decorator pattern and the abstract factory pattern (some are easier to understand than others, in my opinion),
  • Dependency Injection and Inversion of Control,
  • Prototypal Inheritance in JavaScript,
  • Programming to an interface, not an implementation,
  • In WordPress, de-coupling the registration of classes from their hooks to make for easier testing,
  • And so much more.

Here’s the thing about answering questions like this: You’re sharing areas that clicked for you. And when you do that, you’re giving a sense of a benchmark for where you are in your career.

A Word About Others’ Words

Some can end up criticizing your specific answers but ignore that. We’re all at different places, and we all know a different level of a variety of things.

It’s a wide, wide field and there’s a lot to know all of which is dictated by projects we’ve worked on, the material we’ve read, the education we’ve received, and so on.

All of that to say, if you don’t understand what someone else shares that doesn’t mean you’re not where you’re supposed to be. In fact, you may know something that very person don’t know.

Simply put, there’s no win in comparison. So take it more like something that’s interesting to hear versus something used to showcase where you are or aren’t in your career.

What About You?

With that said, I’m interested in hearing what some of your watershed moments are. Or, more correctly, Justin’s interested in hearing about it.

So if you provide an answer in the comments, remember to link Justin to your comment. Conversely, if you reply to Justin’s tweet then link it up in the comments as I’m curious.