Friday, March 25, 2011

The importance of UML Certifications

This blog has a new home:
http://selectioneffect.info/blog/design/the-importance-of-uml-certifications/

To become an effective programmer, you need to have formalized knowledge, and you need to be able to apply it. This is where UML certifications come in. Everyone can benefit from a UML certification, and from reading UML books.

How do you program? How do you design your solution?


Most programmers cannot design. They think about the problem (as presented to them!) for about two seconds, and then jump in and "code a solution". This often involves a lot of patching and refactoring-as-you-go, and there is the inevitable point where the programmer runs into an unexpected problem, one which is actually the result of a fundemental flaw in the approach she's taking to solve the original issue.

For a business, this has several negative implications:
  1. The issue will now take longer to fix, because of all the unexpected problems encountered along the way, and time is money.
  2. The actual fix will impose restrictions on current and future abilities of the program, because no care was taken initially to make sure that the changes works with the whole program, fits in with the standard flow, conforms to standards expected by components the fix interacts with.

  1. The on-the-fly refactoring that the programmer had to implement, often referred to in the friendly, and correct sounding, term of "workarounds".
  2. All future development has to either conform with the new implementation architecture, or it has to add a design and refactoring phase to its development time, which has nothing to do with the issue at hand, just because this phase was skipped in this phase, favouring an often longer type-compile-see-what-happens approach.
I'm sure all of the above is not new to the distinguished programmer or systems architect reading this, but do managers understand that the "pragmatic approach", in which quick and easy solutions yield quick turnaround times for issues, actually become a soft of self-fulfilling prophecy of doom?

Ongoing projects become maintenance nightmares.

Just use proper Object-Oriented Analysis and Design (OOAD), and document the project using the UML (Unified Modeling Language).

Getting a UML certification guide will be of tremendous help to the motivated individual that wants to improve her skills, should get an OMG UML Certification, and also an IBM UML Certification. Then move on to IBM RUP Certification to complete your knowledge of a good, well designed, well documented, and widely demanded development process.

One good place to look for more information is at  UMLBase.com

Go ahead and improve your professional skills.

Tuesday, March 22, 2011

The life of a programmer


This blog has a new home:
http://selectioneffect.info/blog/programming/the-life-of-a-programmer/


I guess I'll always be a programmer. And I guess I've always been one. You can be a programmer without ever touching a computer, if you're inclined to view it as a state of mind, or as a philosophy.

As it happens, I am so inclined, but I am also a computer programmer by profession. Or by obsession, if you happen to talk to my fiancée about it.

A programmer starts life without knowing he's a programmer, or that programming can be done, or that programming is even necessary. He regards the world around him as correct, perfect, and complete. Nothing needs changing, and nothing needs improving. Life, and the world, is good.

Typically this phase doesn't last very long.

When the good doctor slaps you on the behind and you are forced to take your first gulp of addictive oxygen, you begin noticing little glitches all around you. Things that don't fit. Clear signs of people powering and sustaining otherwise untenable systems. Manual labour and physical work, repetitive and mind-numbing and bureaucratic: this is the world in which people think they live.

Because they made it that way.

Programming is the glue that holds the universe, the world, and the society we made for ourselves, together.

Programming assists the quest for a better world, and makes possible the science on which our entire civilization depends for its survival.

And, oh yeah, its a lot of fun!