I tend to carry lot of information and ideas around that don’t all quite connect. I’m not always sure when those ideas form into something congruent enough to communicate. I think sometimes I have to hit a wall before I can get enough perspective to synthesize all the information and everything that’s been happening and internalize the result. Basically, I’m saying I have to learn some things the hard way. I recently hit a wall. Since then, I’ve been analyzing the wreckage trying to figure out what the heck I was thinking. It’s important to decompose my thought processes because, at the time, as I hurtled full force, into that figurative brick mammoth; it seemed like precisely what I should have been doing.*
I Know About The Technologies I Need To Know About
In the past, I was pretty much all Microsoft. In fact, when people asked me what technologies I used I almost always started with “I write software for the Microsoft stack”. And for a long time, I thought that was a good thing. Sure, I’ve been using open source libraries for a while now, but it’s all been open source libraries designed for and in the Microsoft ecosphere**. Big stupid me and my arrogance. I thought that I could reasonably deliver great results in reasonable time using what I knew and what I was learning about. I didn’t think I knew everything. I just thought that I could do everything I needed with Microsoft technology. (hence my embittered diatribe about 9 days ago)
I Know What The Finished Puzzle Looks Like, I’m Just Missing Pieces
Over the past year, it’s been very disheartening to see how much time myself and others spend working on things that aren’t value add for the customer because they’re things “you have to do”. I kept convincing myself that I was only missing pieces to the puzzle but that I was definitely putting them together right. Until August, I had no idea what message based architectures were about. I thought transactional databases were always relational databases and that you always wrote reports against your transactional db unless you were fortunate enough to have the time and resources to build a warehouse. I used services more like distributed libraries that your application invoked via some RPC method whether that was WCF, WCF or WCF. I believed that my primary barrier to better application development was finding the right ORM and using it correctly.
Failure Is Not An Option
I recently read a snippet from someone that said “The quickest path to success is to increase your rate of failure”. At first glance I thought that was cool in a development context because it had implications for logic and short-circuit operators and TDD. Neat-o. Then my brain stored that away somewhere and I didn’t really think much more about it. In my career, I’ve always worked very, very hard to try and insulate from failure. If a project looked like it wasn’t going to make the deadline, I’d just go into crazed mode and work all hours to get the project out the door. When the going gets tough, right? It wasn’t until recently that the quote came back to me while thinking all this through.
The Problem Is The Process
I know I’m not alone here. A lot of developers feel the problem is that no one understands what it takes to build software. Software doesn’t turn on a dime. What I thought I needed was more information. More statistics. Better means to communicate what’s going on to the users so they’ll understand what’s involved. Then I can communicate the importance and rational for processes. Once the processes are in place, I can plan and estimate better, and everyone’s happy right?
It’s Easier To Point Out What’s Wrong
The next part should be where I tell you the positive corollary to each of those fallacies but this post, like this sentence, is already too long. Instead I’m going to let this post be about where and how I was wrong and why it’s important that it happened because I believe it has already and will continue to introduce new, invaluable learning opportunities that I want to write about on my blog.
* In classic “If you think I look bad, you should see the OTHER guy…” form, I just want you to know that I tore a nice Alex-shaped hole in that wall…
**ecosphere is a fun word.
Tags: