The Tip of the OO Iceberg


Author’s plea: Be gentle…

Diving more into lessons and self-study of object-oriented programming with C#, I’ve begun learning about what inheritance can do for a programmer by practicing with abstract and sealed classes. It’s a mindset change, for sure.

Given the majority of my experience with code has been in procedural languages from days long gone, the first lesson I encountered introducing static methods caused me to move from feeling intimidated to completely confused. My inexperience (and ignorance) with OO was causing me to blend method with function as I know it: why the hell wouldn’t I want a method to be accessible without first creating an instance of the class? If I want to use a method, damnit, let me use it!

But after continuing more into classes and inheritance tonight, I’m realizing that a method is not a function akin to my experience. There’s a whole level of abstraction here that makes me nervous; no one likes to be working with something that makes him/her uncomfortable, let alone knowing there’s so much more that still needs to be understood. If I’m uncomfortable now, just wait until later…! Continue reading

C# From Scratch

Image courtesy of Flickr (charmelody)

I am a terrible programmer.

Or, at least, that’s what I tell people is the reason I gravitated away from code and towards organizational behavior, dysfunction, and systems thinking. I’ve decided not to be a “doer”, but rather, someone who doesn’t actually do anything: an Agile coach. When I think about programming, I feel envious of those that create and master the art of coding. When I think about programming with Agile–and the organizational environment to cultivate amazing people–I sense that I can contribute to others’ realization of success. While that feeling is joyful, I admire those “doers” every day as they build software that delights customers.

(At a recent employer, after my hire, a programmer casually quipped that the company “hired someone who doesn’t do anything to help do something.”) Continue reading

The Inevitable First Post

Every blog has a first post. This is mine.

What is the meaning behind “Agile Out Loud”?

Agile Out Loud suddenly emerged when I came to appreciate the dynamic of my steady stream of thought. I feel things deeply, particularly about people and Agile, and relish in the opportunity to converse with people. In doing so, my thoughts naturally flow in conversation and listening to others provides a satisfying counterbalance for my assumptions and beliefs. Yet, when I write about my thoughts, I stare at the screen and feel enormous pressure to be intellectual, inspiring, innovative… perfect. Writing becomes a painstaking affair that languishes in neutral, as every sentence is scrutinized for self-demanded poetry that exceeds my ability.

Perhaps this is why I’ve spent years contributing to other peoples’ projects and blogs. After all, a guest blogger has no expectations for frequency of contribution. These same years spent using apathy to hide from the torture of placing letters in sequential fashion to construct words. Continue reading