Make it work. Make it pretty. Make it fast.

That’s my priority when I build stuff: Make it work. Make it pretty. Make it fast.

Work: it does what it’s supposed to do and adds value to the user.
Pretty: it’s easy to use and looks good.
Fast: there’s no performance bottlenecks and the software is scalable and easy to extend.

I’m a programmer but I also want my software to look good and be easy to use. The last thing I worry about these days is performance. Not because performance isn’t important but because it’s usually not a problem until you have enough users and you will never get enough users unless you focus first on the other two.

Ten years ago my list would probably have been: Make it work. Make it fast. Make it pretty. Or even with “fast” being number one.

Not that I’ve ever been a performance freak, tweaking stuff to win an extra millisecond, but there was a time when I was obsessed with doing the Perfect Extendible and Reusable Software Design. My education is software engineering (I have a masters degree) and when I was fresh out of school (which I was 10 years ago) I used to spend a lot of time drawing class diagrams and object interaction flows and lots of other paper stuff that didn’t take me anywhere closer to a working program. I even wrote huge requirement specifications.

Make it work. Make it pretty. Make it fast. That’s my list. What’s yours?


4 Comments on “Make it work. Make it pretty. Make it fast.”

  1. sidhantgodiwala says:

    Ditto, there was a time when I did believe that UX wasn’t as important as speed, but I’ve realized that “fast enough” exists but “pretty enough” doesn’t

  2. Erik Starck says:

    sidhantgodiwala: thanks, that’s an excellent summary of my post:
    “fast enough” exists but ”pretty enough” doesn’t”

  3. A-ron says:

    Pretty usually doesn’t come up on my radar, unless I’m building a web app or something that depends heavily on the user interface. My mantra is: make it work, keep it simple, build it fast. If I can’t build it fast, i.e. within a month, then it’s too complex and I either need to break it down further, start stripping features, or get some help.

    Great blog by the way.

  4. mfpinhal says:

    Nice post.
    By the way, that was the motto at my previous software development team during my internship.
    I’m fresh out of my Master’s and the pressure I’m getting from my superiors made me focus more on this motto myself, I am glad to take your 10 years experience opinion🙂

    I also value the simplicity so I guess for now I see it as:
    – Make it work, (Make it simple), Make it pretty, Make it fast.

    Great blog! keep it in english, as much as you can🙂


    Mário


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s