05 April 2007

Programmer to designer

I think every person who has wanted to get their hands dirty in code, should rethink their strategy and what they want to ultimately end up as. I have said before that ideas will ultimately mean more for hacks than the implementation and the code itself. This, as I’ve experienced, is not just restricted to web application programming. The ultimate “design” is of more interest to a concerned person than the actual implementation itself.

Ideas are what make you creative. Learning to code isn’t so hard, as all it takes is a book and enough hours. It’s how you can apply that knowledge to complement your idea which forms a basis of how good your programming skills are. But before that, you need to have the idea, a clearly thought out plan to execute. Just knowing how to write code doesn’t cut it.

Anyone who has asked me how to get started with programming, has been replied with one question — “What are you planning to do?”, and later followed up with an algorithm, not the code. I want people to understand why something is being done. I want to teach them how to look at a problem, and break it down for them so that they can implement in their own way. From experience, I know that this works much better than handing out individual chunks of code for people to plug in and use.

Here in college I have a subject SDOOP which, very simply put, teaches us how to tackle software development, how to “design”, and not program, a software. Becoming a designer is the ultimate goal. Creating a diagram, a schematic for programmers to follow, and implement in their own way. We are taught to come up with the fastest way of connecting different parts of the software, so that no matter what the code, the algorithm pushes the program to be easy to implement.

Aim for the idea and the working, not the mumbo–jumbo.


Efendi said...

yes, you've entered the college world well :) i got the same subject too back then ;) 'analyzing & designing' :)

was the hardest part for most programmer (that started immediately without thinkin' of the designs etc. etc.) :P

when you're a single programmer you often skip this phase and do the mumbo-jumbo instead, if everything goes wrong, who changed the code here and there :P

they (and me) should really learn to design first :P since all the great concept must be realized first in the diagrams and flows etc :)

you really should master this subject well ;)

and when you're working, the salary for those who are an analyst are much bigger than the programmer i believe ;)