When to Teach and When not to Teach

The past week in the office has been somewhat trying. With the termination of my manager, things have been running at a certain level of chaos. Motivation and productivity are severally effected, and not a lot is being done to address it.

In all this chaos, I having taken it upon myself to voice my wish to change over certain technologies to other, better supported technologies. One of which is my desire to remove ORM from our ColdFusion 9 technology stack.

Little over a year ago, I was told to start building a new unified subscribers system to replace what was the current three or four different methods we were utilizing at the time, and was told that I had to use ORM to do it. Like many others in the ColdFusion world, I had played around a bit with it when it was implemented in ColdFusion 9. Although I found it cool, I also found it a little wanting in the feature set (many of my concerns have sense been addressed in ColdFusion 10). I raised my objections to the team, and to management, and was told to move forward anyway. Two months after that decision was made, the office terminated the team member responsible for spearheading that decision (that decision was due to entirely unrelated issues with this post, so I wont go into it). I was told to continue on the path I was on.

Now I am at a point where I need one of two outcomes to occur to move forward intelligently. Update to ColdFusion 10, or remove ORM from our systems. This statement has caused a lot of discussion, and has severally set off the scrum master. This finally brings me to the topic I wanted to start with.

My teams scrum master is not a programmer. She has learned a little ColdFusion, CSS, and jQuery, and with this knowledge she seems to count herself as a fully trained programmer. For the most part, in a web shop, this isn't a huge deal, we teach her things as needed, and she has little issue using google to find things out for herself.

Where all this comes together is that she was one of the proponents to using ORM, and with me and other team members now "suddenly" against it, she is trying to come up with documentation as to why we should keep it.

ORM in ColdFusion uses and old version Hibernate, a Java framework which manages the sessions and databased work outside of ColdFusion. The vast majority of the documentation she is looking for is in Java, or one of the other higher order languages that do not apply to ColdFusion at all, so she is, quite understandably, getting lost and confused in the terminology of things.

This brings me to the question at hand. Where do we draw the line at explaining things. I am hoping there is a point somewhere where the right thing to say is: You pay me to know this stuff, trust what I am telling you.

This is going to take more a blog post to work out. Lets see what Google has to say about the matter...