Yeah, Right. You Can Do It

I ran across this post today:  http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-hacker-news/ The basic story is that the author is refuting the claim that StackOverflow.com could be replicated “easily”.

I think this is an awesome post because it’s a warning to others and reminder to myself that everything is not as easy as it seems.  Often we look at an application and say, “I could do that.”  Yes, you could.  Without a doubt.

Here’s my advice though:  Take your estimate of weeks and make it months and turn months into years and you’ll probably be closer to the truth.  Even copying user interface and data structures verbatim I think most people would still have a hard time replicating an existing application quickly.

One project I worked on was a QuickBooks-like accounting application.  On a four person team.  Five days a week.  For FIVE YEARS!  And we had QuickBooks as the blueprint, if you will, for the accounting side of the application.  Guess what?  Even though I’ve moved on they’re STILL adding to and modifying the accounting engine.  QuickBooks is a moving target and I wish my old teammates luck in striving for it.

Every now and then someone gets a hair up their rear end and brag that THEY could do REALbasic better than REAL Software (because some bug has really pissed them off).  It’s quite possible that someone out there is working on an awesome RB clone and someday release it.  But don’t expect it anytime soon.

The same goes with claims of “I could easily make the RB IDE do this or that!”  If it was easy no doubt RS would already have done it.  Let’s face it, software is often a case of the mistakes of the father now make our lives a living nightmare.  This is not to knock our forefather developers just that what seemed like the best way five or ten years ago is woefully inadequate in today’s terms and to make it do ‘x’ (which seems easy) isn’t because the infrastructure isn’t there to do it.  So the whole thing has to be redone and done so you don’t break backwards compatibility.

Again, sorry for the blog about another persons blog.  I hope you find these discussions helpful and thought provoking.  Thoughts?

9 thoughts on “Yeah, Right. You Can Do It

  1. I could replicate this blog posting easily! 😉

    I think that the “I could do it better” attitude is just a reflection of frustration at seeing software products that could be improved or made less buggy but are not, either due to business priorities of the developers or just lack of resources. Yes, a product may have flaws, but the huge amount of effort expended to get the product’s positive features often goes unrecognized.

  2. I’ve come to really think twice, if not three times, before saying “That should be easy” since having started work for REAL.

    🙂

  3. npalardy :

    I’ve come to really think twice, if not three times, before saying “That should be easy” since having started work for REAL.

    :)

    I bet! The more complex a piece of software is, the harder it is to change. In the case of the RB IDE you’re dealing with a lot of intertwined legacy code that was based on the ability (or lack thereof), direction from management, and assumptions of developers that are no longer with the company. In most cases you can’t even go back to the original author and ask, “What the heck were you thinking!?” Norman, I don’t envy your position. 😉

  4. I agree. I work for the largest payroll processing company in the US and let me tell you….it’s very strenuous and frustrating trying to code a legacy app that’s so convoluted it literally gives me headaches. Any financial or accounting type of program is huge and cumbersome to work on.

  5. Tom, all I can say is, “I’m sorry.” My task with this accounting project was to implement payroll. No requirements of any sort and I had to do it as quick as possible. That means, of course, that I ended up writing it twice.

    If I never touch a payroll application again it will be too soon….

  6. If you really want to feel “sorry” for me….

    It originally started out from some wannabe programmers who were lawyers, took object pascal and paradox tables….eventually rolled that into Delphi and are now in the process of converting it to java/flex for web based used.

    And I’m getting drug tested per employer’s requirement:)

  7. @Tom Russell
    First job I had was as a member of a team to write a payroll application for one of the largest companies in Canada
    That took years and was constantly being updated to deal with changing requirements, banks, international payment processing etc etc
    And it all hooked in to the job costing system which was ……

    I ended up leaving that company and working elsewhere for several years then went back on contract to help review/fix my code for Y2K (fortunately there were very few changes required)
    At that point I really did ask myself “WTF were you thinking” from time to time 🙂

    And if you’d like to know how to beat drug testing I have these friends who ….. 😛

  8. Jeeze, words that make me run from any project: payroll, job costing, and anything with ‘tax’ in the description.

    Anyone who says accounting is easy has never dealt with any of those three.

  9. I was hired to do a DOS to Windows port of a financial management software product (CAPTOOLS). It was mind-bogglingly complex. In the end I could not get my brain around the awful financial code or concepts, and just designed the thing so that the principal of the company could plug his g*dawful DOS code into my GUI framework, which worked “fine”. Never again.

Comments are closed.