Puzzle’ing Then and Puzzle’ing Now

Computer programming can be as creative as you like!

The more I learn about programming, the more I notice the similarities between interior design and software engineering.

Before my learning adventure into coding, the syntax felt very rigid, cold, and uninspiring; nothing can be further from the truth!

Throughout my 16 years in the Interior Design career, I always felt that I was putting puzzle pieces together. We use the client’s needs, programs, adjacencies, and floorplans as a boundary: We evaluate them, explore options, consult with client, and re-evaluate them. Finally, we provide the best product that would suit our client’s needs with our own design mixed into it; this process always thrills me.

At my very first interior design lab class at college, everyone was given the same basic things to start: an empty floorplan, which had the exterior walls and columns, the programming, and the requirement of the project. After several weeks later, everyone turned in something different. Not one floor plan or design was the same. Everyone was given the exact same requirement; however, every solution was different. I don’t know why, but I love what a creative mind can do and how it can produce unique and diverse results. I am amazed at how each individual’s creativity can be formed by their backgrounds, their style, their taste, their personality, and their knowledge.

Computer programming is similar to interior design in the sense that we are putting puzzle pieces together using problem solving skills. Each of us can take the same scenario and form a different approach to solving the problem. For instance, one person may start drawing a diagram or write out the ideas into bullet points. Another person may instead start with an “if” statement first when they are creating a method, or start with an “if not” statement first and end with “else” statement for the Boolean value “true” condition. Another example, would be tackling the hardest problem first and work their way to the easiest or easiest to hardest, depending on that person’s preference. The sky is the limit when approaching how to solve a problem.

A person can express their style through writing and creating software. Every person has a different way of going about how to write code. For instance, one person might be slow and methodical, checking every detail character by character, while another may simply write code fast, and piece things together after they have coded the general idea. In the programming language “Ruby”, we can write a method that gives the same output, but the code and/or syntax within the method can be different. The example below shows a method iterating through an instance method. The exact same intent was used, but code itself looks slightly different.

Have you heard of Tangram? It has 7 flat shapes: 2 large tringles, 1 medium tringles, 2 small triangles, 1 parallelogram, and 1 square. You have to use all 7 shapes to form different shapes. None of them can be overlapped and it must touch each other. With these 7 shapes, about 6,500 different form of shapes can be created. These 7 shapes can create a lot of different things!

Both interior design and computer program is similar to Tangram. Every problem has multiple solutions and each person can use their creativity to come up with a solution or two.