Don’t Enron Your Software Project

Yes, I decided to make “Enron” into a verb in my latest InformIT article on technical debt titled “Don’t Enron Your Software Project”.

The idea is quite simple – if you are hiding technical debt rather than disclosing it to the project sponsor at the time of turnover of version 1, you are really doing something similar to what the guys at Enron did – namely, selling an asset that has hidden, undisclosed debts attached to it.

Read more here.

Don’t Enron Your Software Project

Back from China

Sorry for lack of posting, but true to my moniker as a “Nomadic Developer”, I have been in China off and on (mostly on) for 5 weeks, working with a team on a project that we are doing at our ThoughtWorks office in Beijing.

Some thoughts so far. The first thought is how awestruck I am by the dynamism of China as a country. You always hear about it, but it is amazing to actually get to see it in person. Every time I go on a walk in Beijing, I am awestruck at just how vast of a city it is. Imagine something like the Chicago Loop, but it just keeps going and going, in all directions, for miles. That is basically what Beijing feels like to me.

However, the second thing I have observed – or really more just confirmed – is that China is really coming along as a place for software development talent. We all knew it would happen, I am just not sure I knew it would happen with such speed. During my trip, I paired with several developers from our office on our project, and truth be told, I am certain I learned far more from them then they could have possibly learned from me.

One example – and perhaps this is a ThoughtWorks thing generally – or maybe specific to China, is that on that project we are constantly pushing what we can do in our editor forward. Every time we repeat some action – such as finding usages for symbol – or anything else – rather than just muddle through using a mouse, we find a way to make it a keyboard shortcut. Pairing with this group has probably helped me increase my own developer productivity 2x, just in being around people who are constantly molding and navigating a codebase through ReSharper keyboard shortcuts (if you are not a programmer, ReSharper is a tool that adds a ton of productivity to Visual Studio, the typical tool people use to do .NET development).

For anyone who has some notion that “offshore” developers are somehow “lesser”, I can be sure that you can disabuse yourself of that notion immediately. I never learned so much in 5 weeks.

What does this mean for consulting in general? Well – I am becoming more and more convinced that, beyond the boutique stage of a consultancy (<10M in 1 or a small handful of cities working purely on founder relationships), if you have no global story, you are going to face an uphill battle. There is simply too much talent overseas, and the barriers to trade are simply too low, for you to be cost competitive on a large project. So much so that, if you were to ask me what skill you need to learn to keep your software development career humming, it would not be a programming language – it would be the Mandarin language.

Back from China