Solve Your Problems Algorithmically

In mathematics, computing, linguistics, and related disciplines, an algorithm is a finite list of well-defined instructions for accomplishing some task that, given an initial state, will terminate in a defined end-state. (wikipedia)

Most innovative and successful entrepreneurs, whether they know it or not, think algorithmically when attempting to solve a problem in the cleanest, easiest, and most efficient manner.

When you think algorithmically, you think in steps — not in large blocks. Thinking this way isn’t a pragmatic process, it’s one of defining small and concise steps (re: instructions) that all work together to solve a problem and produce the end result that you are seeking.

Let’s use a super simple example to demonstrate this concept. Say that you are a web designer and you are getting ready to jump into a new project. Now, there are two ways to approach a project, the sloppy way and the efficient / clean way.

The sloppy way goes something like this:

  1. Find the client
  2. Briefly discuss the project to get a “general” idea of the direction
  3. Jump into the project without breaking it down into tasks
  4. Complete the job
  5. Present to client
  6. Correct and revise
  7. Present to client
  8. Correct and revise
  9. Present to client
  10. Correct and revise – get the idea?

This is a very sloppy and inefficient manner to approach a problem. Your time is being wasted. The client’s time is being wasted. There is a lot of noise between you and the client. Confusion arises. Concepts become nebulous. And it’s just a downright dirty way of doing business.

Now when you think algorithmically, you approach problems much differently. You’d approach the job like this:

  1. Evaluate the needs of the client and gain an intuitive understanding of what needs to get done. You’d meet with the client with a pen and paper in your hand and start outlining exactly what will be needed to accomplish the task.
  2. Reduce, subtract, and simplify: You now take the general concept and break it down into smaller, fine-tuned, tasks. These tasks would be assessed in detail and broken down into milestones. At this point, you’d also assign your team responsibility and state who needs to do what. The idea, here, is to break things down and keep the steps simple as possible.
  3. Get to work: now it’s time to build the site and get the design rockin’. You would begin with mocks, present them to client, and then move on from there. Minor tweaking and adjusting will take place in this stage, but it shouldn’t be anything serious if you’ve followed steps 1 and 2 and kept the lines of communication open with your client.
  4. Complete design and review again with client. The site should be 99% complete and a small widow of time should be kept open for final adjustments and revisions.

You see what happened here? You broke things down into small steps and your time was spent in the most efficient manner as possible. You saved time, there were 85% less corrections because you and your client were on the same page throughout the process. Responsibilities were delegated. The job was completed smoothly and everyone was happy.

Of course this was a super simple example and thinking algorithmically goes way deeper than web design, i.e., building large-scale web platforms and dynamic applications that resolve large amounts of data. Think google, digg, etc…

The point: Break things down! Don’t approach problems in large and sloppy blocks and ignore the little steps in between. You’ll lose time and work inefficiently. Don’t work hard, work smart.

Here is a guide to get you started:

Basic Strategy for Algorithmic Problem Solving


learn how to make money from your passion

Read some related articles:

  1. Another Reason Why I Became an Entrepreneur There are many reasons why I became an entrepreneur, perhaps I may have been born an entrepreneur and it just took a few years to...
  2. Patience and Consistency: What a Deadly Combo! Have you ever placed yourself in the position where you’re trying to tackle way too many projects and tasks at once? I’m sure you have,...
  3. What a Client Wants to Hear One of the most important parts of running a successful design company, is attracting, maintaining, and keeping clients! Without the clients, there can be no...
  4. Mommy Talk for the Entrepreneur (Part 2) Catch up with part 1 Kids, clients, and customers all have a language of their own; As a mother running a business, I know this...

About David Askaripour

I've been thinking about life, existence, and truth for as long as I could remember. When I was about 7 I remember getting a headache trying to figure out who created God...and if someone created him, then who create him? I love investigating and testing, taking nothing for truth that outside my direct experience. At the age of 12, I started my own candy selling business; it grew so large that the principal ended up closing me down (but that was just the beginning...) Through my videos and articles, I share my journey with the world.

Follow mindpetals

on facebook, twitter, and youtube

3 Responses to Solve Your Problems Algorithmically

  1. lawrence May 27, 2007 at 5:01 pm #

    breaking things down to simplify, and not get congested.

    same goes for one’s metabolism…instead of eating 3 relatively large meals a day…it’s better/healthier to divide that total food into 5 sections throughout the day

    thereby increasing your metabolism and ability to burn if off.

    well i guess than can be said of alot of things. basically, more refinded – is better than less refined, lol

  2. DanaJ May 28, 2007 at 4:37 pm #

    Do you have documentation from a project that you can post as an example? That would turn this article from ‘kinda interesting’ into ‘bookmark and reference’ :)

  3. David Askaripour May 28, 2007 at 5:04 pm #

    Hey Dana, good point. I’ll try and add something. In the meantime, I just added a link to the bottom of the article that will help you get started.

Leave a Reply