Monday, February 9, 2009

I AM NOT A BOBBLEHEAD

A Dark and Dreary Winter Day


Corporate coders don't take ownership. The one thing that allows them to remain stoic, well obtuse, is the fact that each line of code is like the one before it, the one after it and every other one in their repository. There is no context, no concern. They just don't care.

Today I found out officially that I am not longer on a project that I did a ton of work for a little over a year ago. This annoys me not only because of the time invested, but also because this was a project I had a lot of passion for, had a educational background in, and was more than just fitting data into grids.

Why am I annoyed


The paragraph aboves gives good indication as to why this annoyes me on one very personal level, but it exposes a larger issue here:

We as developers are treated as totally and uniformly interchangeable

At some level, each developer should understand the basics and the standards of their company. But at a deeper level we are each individuals who have different interests,strengths and weaknesses. Failing to recognize these traits in your developers will only lead to disatisfaction and demoralization of the very people who create great applications. But the failure to recognize the individuality of the developers and then failing to rcognize the fallout is maddening.

But these things happen when the 80/20 rule has 80% corporate coders and 20% individual contributors.

I can't document that...


It is one thing to do a handoff of a project that is basically data in and data out. It is an entirely different thing to hand off concepts and understanding. This project required me to understanding search engines in general, our new product in particular. These concepts are deeper than just settings and flags in a UI. In addition I worked on creating API calls for custom front end searching, paging, and navigation. Python had to be learned, so that dictionaries could be compiled and merged at indexing time. These are not just step one, two, three type of operations. There has to be a careful overview and understanding as a whole, not only of the technology, but also of human use of language. And this is just the search side, forget about talking about querying the search engine.

Repetition and waste


Two of my biggerst pet peeves are having to repeat myself and negligent waste. Trying to teach someone what took me several months to learn and assimilate, which was assimilated over a certain educational background, is nearly impossible. More time would be spent re-iterating all that had happened than would be needed to actually develop the applicaiton.

But surely developer one can come right in and take over the work of developer 2 right? But now since developer one is no longer on the project, he has to help developer 2. But if the goal was to keep developer one on another project, what is the point? His time will still be spent on the old project just in a different role.

Does any of this make any sense?

....this is so incoherent.....

No comments:

Post a Comment