Choice of programming language is a design decision

Sayeed Anjum
2 min readJan 3, 2018

This year we want all our product and UX team members to undergo at least 50 hours of learning in areas of design and design thinking.

So we identified IDF (Interaction Design Foundation) as a great resource for our learning goals. The content and value are excellent and the pricing is affordable.

To get things rolling, we start of with 2 members and then add more people aswe go along. I am the very first member because I can’t resist the urge to take the courses. (My yearning for learning is a boon for those who plan earning through learning.) After all design thinking is important for entrepreneurs, managers and product leaders. Moreover, experiencing the course design and content first hand helps in decision making.

I start my first course and the first lesson. I breeze through it and earn 4 points.

I know this but learn once again that design is important and poor design can endanger life. The lesson discusses how a simple button can cause havoc if not designed well — nuclear accidents, car crashes, daily annoyance. What we normally attribute to human error is really system error due to poor design.

The lesson is over.

It’s time to invite a few more guys on our team as IDF members. I head over to the Company membership page and click on the “Increase membership size” button. I increase members from 2 to 4 and click “Next”.

Next is an error page:

Here is a simple typo that costs your company upsell revenue. Maybe the programmer was careless, overworked or incompetent. A simple case of human error. But wait…

Let’s put the lesson to good use. Could this be a design issue? Could the choice of programming language and tools stop such silly mistakes. Dynamic languages like PHP, Python or JavaScript that lack type checking usually suffer from this problem. (See: variable declarations prevent typos.)

Good design could mean picking programming languages that side step such issues (Typescript instead of Javascript), using IDEs like PHPStorm or WebStorm and using linting tools that are part of your build / CI system.

Bottom line: design thinking can help you in every aspect of your business from your development process to UX, from marketing to account receivables.

--

--