Tuesday, August 02, 2011

Emerging from the Den

I've been working on a project lately that involves some very sophisticated evaluation and extraction of data from JSON and XML web responses. Not that I wanted to; I'm a tester and my coding efforts have been mainly quality-oriented for several years.
Someone, though, had to write this code as it wasn't writing itself and I seem to have developed this inability to communicate abstract requirements to meet concrete needs to others. So I had to adopt a show-and-tell mentality and write the durn thing to prove it's worth.
It is (mostly) written using VS 2010 and C#. It's the sort of extensible utility that, if I were to show it, would garner a lot of oohs and aahs but I'm restrained from showing it as it's proprietary to my employer.
Hence the title of my post, "Emerging from the Den". Maybe I'm not the Lion in Winter any more. Maybe I can still eat lightning and crap thunder as a developer. Maybe...but I learned a few things:
  • Mentally and on a whiteboard I can architect a service or app with the best of them. This is probably because I have 30 years in this business and also because I don't have to think about implementation at that level.
  • My actual code likely sucks. I mean...it works but it's likely brittle. In my gut I know there are better ways to do a lot of what I have done. If I were focused as a developer it would be written better but as a tester forced to code I settle for "works within acceptability".
  • There are still things we could do in old VFP that aren't easily done in C#. For example, I need to read a value from a serialized file and ensure I can cast to a member with the right type. For the life of me, I can't figure out how to cast when the value type in the incoming file is not known until runtime.
To summarize I guess I'm relieved that I can still mix it up with hardcore developers on content without being pretty in code. My falldowns are due to not being a developer day to day and knowing where my syntax is weak; my upsides are knowing abstractly what should work and doggedly pursuing it.