I recently completed a MOOC, the end project was a peer one.During which I got a chance to review programs written by my peers who were taking the same course. I went through about eight of them and then gave up. Most of them were quite “clever” to wrap my head around. I wanted to reach out to each of the programmers and lend my two cents, which is not possible for obvious reasons, so, instead, I decided to share what I have been wanting to for the past two months…
Almost a year and a half back I was introduced to design. I loved it. Since then I have been following design religiously. The more I learnt about these professions, the more I realised that the “stuff” that makes good design and great code have very similar origins.
When a designer sits down to sketch an interaction or a wireframe his main focus is on the user. Every added or removed detail goes through a level of consideration. The motivating factor being that, their work will have an audience, in the sense that the user will directly interact and see their creation. A simple fact that many programmers fail to realize is that their code is read more number of times than it is written. The computer is not the primary audience to our craft, we don't write code just to be read by compilers or interpreters. There are actual humans with emotions and feelings that go through every line of code trying to understand the nitty gritty of what the code is trying to do. And it is our job to make it easier for them. Just like a designer does for its audience, the end user. Designers don’t try to make an interaction twisted or clever. There are no Aha! moments in good design. Best is given to make sure all their intentions and assumptions are plainly understood. And that is what should be aimed while programming too.
Its very easy to get lost into the details of logic while programming and forget about more human aspects of code. What I believe is that if code is written with a simple idea in mind that someone will be going through it later, can result in more human code being written. Because when you build something you should not only be proud to show the final product, but the code too.
Towards the end of the article, to make the point more crystal I would like to include some great programming advices, quotes and articles that I found scattered online. Enjoy
- Senior software engineer to me while I was interning
“Oh I see how you did that. That’s very clever” my reply “thanks!”
Senior software engineer “that wasn’t a compliment” (source : What is the best programming advice you’ve ever received?)
- Bruce Lee was a programmer
- The Art of Programming
- And of course Writing code for Humans
If you liked reading this article be sure to Recommend and share it.
Thanks for reading.