Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

What’s This Blog All About?

Thanks to the fellows at CodeBetter for letting me set up shop here.  This has been consistently one of my favorite web destinations for quite a while and I’m excited to be joining the crew.  I’m just starting the process of moving my blog over from http://jeremydmiller.blogspot.com, but for now here’s my introduction.  The original post is at http://jeremydmiller.blogspot.com/2005/03/whats-this-blog-all-about.html


When I was growing up in a farm community in Missouri, there was a “special” breed of folks around called Shade Tree Mechanics. Usually they were not the most reputable people in the world, but they had a knack for fixing mechanical problems and a reckless fearlessness to tinker with anything. A shade tree mechanic can be spotted by finding the pair of legs sticking out from under a beater car on blocks, surrounded by other skeletal vehicles crowding the rest of his scrubby, junk-laden yard. The beaters you see abandoned all around him aren’t useless, they’re fodder. He takes bits and pieces and tweaks and tunes, and comes up with a creative solution to your needs. Reputation notwithstanding, a shade tree mechanic knows how to get things running. While I don’t have any particular mechanical ability (despite a degree in mechanical engineering), I like to think that I am the developer equivalent of a shade tree mechanic . My hard drive is certainly littered with the detritus of abandoned open source projects (and one successful project here). I’ve had a short, but varied, path into and through the land of software development …

  • Shadow IT – Getting my feet wet writing rogue applications for my engineering team. Having a blast cowboy-coding and generating a lot of fodder for the DailyWTF. Oracle, ASP, VB, and DHTML. I moved on to be a “real” developer.

  • Captive IT – Working in in-house IT for a Fortune 100 company designing enterprise applications. I actually got to be the technical lead and architect on a mission-critical system for my first real development project. No prior experience, no adult supervision, no problems. I described the architecture to a former colleague, and his only comment was, “You’re going to spend some time in Purgatory for that one…” I also got to experience my first Death March Project, a lot of corporate politics, and secretive reorganizations. On the positive side, I learned about high availability, disaster recovery, and instrumentation, and I began to successfully apply OO design patterns and UML modeling. Our waterfall process changed often, and was enforced capriciously by a dizzying array of compliance bodies, laying in wait like 18th century highwaymen determined to ambush hapless travelers.

  • Non-Coding Architect – The last reorganization left me a non-coding architect just as the Microsoft world was dumping the DLL Hell (think VB/COM/ASP) technologies for .NET. I got to sharpen my Powerpoint skills while decorating my cubicle walls with Dilbert cartoons. The organization simply could not resist any type of evil fad — CMM, Six Sigma, “It’s not a process, it’s a framework,” fuzzy-headed SOA strategies, offshoring, “programmers are a commodity,” “Who Moved My Cheese?”, the “Fish” book, and a matrix model (yay for dotted-line bosses). I made a half-hearted, quixotic attempt to introduce iterative and incremental processes, but no one in management cared. In order to regain some type of technical relevancy and avoid 80-some hours of mandatory CMM training, I jumped again to become a consultant.

  • High Priests of Agile – I spent a mostly positive year and a half working in the .NET practice for an elite consulting company. Extreme Programming, Test Driven Development, Continuous Integration and .NET. Consulting is a great experience. The intellectual opportunities are abundant, and no matter how bad an assignment or client is, you can solace yourself that it’s only a matter of time before you’ll get to move on to a new venue. I had to learn software design all over again to incorporate TDD techniques. Besides too much StarBucks on the expense account, I got an absolute bellyful of XP theory and zealotry. If I hear, “In the white book, Kent Beck says …” one more time, I’m going to puke. XP, and agile in general, works — but software was written successfully before XP, and some of the older stuff (UML, Responsibility-Driven Design, Design Patterns) is more effective in certain situations. Besides, constant travel with an infant at home is a non-starter, so I left for a job close to home.

  • Independent Software Vendor – I am now working for a product-development company doing .NET development with a Scrum process. I am finally getting to make a positive impact on an organization by helping introduce TDD, CI, and new architectural ideas. Being empowered in a pragmatic and stable organization to proactively make improvements has been a ray of light after a series of frustrating positions. A ten-minute commute via a scenic backroad doesn’t hurt either.

I would like to use this blog to explore my thoughts about software design, .NET development, and agile methodologies. TDD and XP practices are getting a lot of attention, but I think there is a huge gap in writing between agile theory and successful practice. In particular, I would like to share my experiences with TDD and the role of design within an agile methodology.

My name is Jeremy Miller and I am a .Net Developer and Architect in Austin, TX.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://codebetter.com/blogs/steve.hebert Steve Hebert

    Hi Jeremy,

    Welcome, it’s great to see you are blogging here! I’ve been following your blog for some time – now it’s time to go update RssBandit.


  • http://codebetter.com/blogs/jeremy.miller jmiller

    Carlton, that doesn’t sound like a place you’d miss much. We were *supposed* to read the Fish book. We were even supposed to carry around those silly fish stickers on our badges. I played hide and go seek quite successfully with the fellow who was in charge of insuring that everybody read the book.

  • Carlton

    I had to read that stupid “Fish” book, too. Who thinks up that crap?

    There was also some other wierd book about pyramids or something – who knows what it was about anymore. When I told my boss I did not get much out of it, it was not long before I was eventually shown the door.

  • http://www.codebetter.com/blogs/ranjan.sakalley/ rsakalley

    Welcome Jeremy, would love to read about Scrum from you.

  • http://codebetter.com/blogs/peter.van.ooijen/ pvanooijen

    Welcome aboard from another part of the world. We have a place called Amerika over here but it does look a little different as most inhabitants emigrated to the US long time ago. And are now working in the shade of a tree.

  • David

    welcome, I look forward to your posts on SCRUM and agile processes

  • http://codebetter.com/blogs/ben.reichelt/ Ben Reichelt

    Welcome Jeremy!

  • http://codebetter.com/blogs/brendan.tompkins Brendan Tompkins

    Welcome aboard Jeremy! We’re all very glad you’re here!