NAVmoble - the pocket-sized ERP
Optimized for Microsoft Dynamics NAV and Windows Mobile powered devices

Sunday, December 10, 2006

True or False: The geek's quest for the golden hammer

I'm looking at me as a regular tech geek spending the most of my personal time to educate my self . I'm reading ,listening , attending ,arguing and blogging in my private personal march to the perfection.
Experts, blogs,podcasts, community sites, companies, journalists - all of them are arguing about the best methodology, technology and techniques. All of them are yelling that this or that is the silver bullet for my problems:

"So this week, we're introducing a general-purpose tool-building factory factory factory, so that all of your different
tool factory factories can be produced by a single, unified factory. The factory factory factory will produce only the
tool factory factories that you actually need, and each of those factory factories will produce a single factory based
on your custom tool specifications. The final set of tools that emerge from this process will be the ideal tools for your
particular project. You'll have *exactly* the hammer you need, and exactly the right tape measure for your task, all at
the press of a button (though you may also have to deploy a few *configuration files* to make it all work according to
your expectations)."
                                                                                                                                     Why I Hate Frameworks, BenjiSmith

And I'm in the center of all this madness! Alone with my geeky problems waiting to recognize the real panacea for my daily technical problems.
I'm into this everlasting quest for the golden hammer for quite a long time and actually this is what thrills me the most in my lonely geeky nights. I don't know actually what I like the most: the moment of feeling, that I found the silver bullet or the next day, when I'm realizing that my geeky quest will continue. We geeks are kind of explorers, arn't we! If we discontinue our exploration activities, we won't be explorers anymore.

I've got this moments, when I feel consistent:  I do not have doubts, I know exactly which tool or technique to use, I feel I'm following up all the new concepts around. And there are short moments, when I feel lost, tired and totally disoriented. This is the payoff for raping my brain with tons of information night after night.

Along with my nightly activities, It is not rare for me to answer to questions from other people around me. Often these are new "kids" in the industry, who think I know the answers of all questions.
And here comes my big personal question: TRUE OR FALSE?
I am spending a lot of time around my team's young devs and hence I get this kind of questions, when I doubt, what is the right answer. All these guys are trying to get a simple and straightforward answer - the answer of all answers. They ask:

  • Is the ORM approach better than the classic Table-driven approach. Why we use ORM, when in on CodeProject somebody said it is a doomed concept.

  • Why we have a 3  layers architecture. I've read on Channel 9 that the 4 layers architecture rules.

  • Why we are not using WCF, but classic Asp.NET Web Services. They all talk about WCF.

  • They said on that  Rubby is so great,  but we are still using C#. Why?

  • Why we use Scrum?  My university teacher said that XP is better!

  • There is article on MSDN, which says that the future is in the Software Factories and we use some third party Code Gen products. Why's that?

  • Shall I use custom Service Locator implementation or using some light container implementation like Castle?

  • They said that Personal Social Number should never be a primary key in a table. Why we broke this global rule in our project?

TRUE or FALSE? What to tell these guys, who want to get a simple question to solve their problems. How to give them a simple answer, when there is only a long and complicated one. How to give them this simple answer, when the decisions are bound also to our specific political , business and culture context. They want all-time global and easy answers. This are the moments, when they are learning how to get decisions. Shall I tell them that (often) there is no global and absolute arguments. Shall I tell them that I just don't know for sure , but I think this way it will work just fine . TRUE or FALSE?  Telling TRUE may break their confidence in the industry, in experts  in practices. Telling them FALSE (by hiding some part of the truth) may gave them the wrong idea that this industry is like a religion:that it is all about idols and absolute true.


What do you answer in such situation? TRUE or FALSE?

1 comment:

Robert Roels said...

Hi Rusian;

You are right, it is one big bullshit factory all right. I design and write with Delphi 7.0 with mysql databases and use c# for the pocket pc portions.

Every year they invent new words for the same thing. All these layers are OK if you happen to be on the Fortune 1000, but most businesses have a long way to go to get to first base on technology.

It is like driving a car, the steering and brake pedal are the same, no matter what you drive. In software, it isn't.

Some software out there should never have been, and some great software never made it.

It is a simple reflection on the world we live in.

A good post.