Have you ever seen an acronym as a developer and said to yourself “what the hell does that mean?” You are looking at this acronym and you know that you *should* know what it means, because you are a developer, aren’t you? In the software world (well, Technology world in general) we are absolutely inundated with acronyms. Let’s take OOAD for example. Just what is OOAD? A quick query over at Wikipedia tells us that OOAD stands for Object-oriented analysis and design. Okay, great, that tells me the words behind the acronym, but what does it *mean*? So, I read further and see that OOAD is made up of OOA and OOD. So, let me get this straight, we have an acronym to shorten it up so that we don’t have to use two acronyms. Wow.
So, how many acronyms are we supposed to remember? Do we ever find ourselves guessing at words in certain acronyms? Ummm… was that Object Oriented Application Design, Object Oriented Analysis and Design or Object Oriented Application Development? I believe that we as developers are often embarrassed when we forget something or don’t know something. But the truth is that…
We are knowledge workers and knowledge represents our value.
So, when confronted with something that we do not know about, we can often find that it is hard to say "I don't know." I have definitely been guilty of it in the past. In the last few years though, as I have become a more seasoned developer, I have learned that it is much easier for me to say “I really have no idea, but I *think* that…” This wasn't a too terribly difficult process, I just had to come to terms with the fact that reasonable co-workers and bosses are going to be aware that everyone has gaps in their knowledge. This is why I used OOAD as my example, some of you probably saw that and said "This idiot doesn't know what OOAD is, there would be no way I'd ever hire him." Well, first, I do know what it is!!! But second, there could be a very small gap in my knowledge that I need to fill. I could have been using UML and solid OOAD practices for years, but somehow I just never picked up on the exact definition of the acronym. So there you have it, I challenge you this coming week to admit that you don't know something, and then go and immediately fill that gap in your knowledge. And at the same time I challenge you to answer a co-workers question about something, *without* being smug about the fact that they don't know. Because this is the only way that any of us learns, and we all want to be better developers.
And for anyone who is not fully versed on OOAD. To quote Wikipedia “OOA focuses on what the system does, OOD on how the system does it.”
Further Reading: Both classics.
Object-Oriented Analysis and Design with Applications (3rd Edition)
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.