Tuesday, December 21, 2004
Its all about the attitude!
I have always been interested in learning different computer languages although I havent been able to sit down and work with one long enough....call it laziness or what you will. But then I started to think - is it really important to know many languages? What would be a fairly reasonable evaluation of a "good" programmer? If I were looking for work, would I hire me??
This led me list down what I thought would be winning skills in a programmer. The more I thought about it, the more I got convinced that its not about skills - its about attitude. Attitude comes with experience, something that cant be taught. Armed with the right attitude, the programmer can master any skill or language - and more important, use the skill effectively.
So what are the attitudes that a programmer should have for me to hire him? I came up with 3 for now:
Be solution-oriented: Whatever the situation might be, the first thing that a programmer must aim to do is solve the problem quickly. Given a problem, whats the simplest way to get a solution? Thats what the programmer should aim for. No grand designs, no fanfare. You can do that when you work on a personal project. When it comes to business, make yourself known as a problem-solver.
Code for maintainability: Give utmost importance to making the code maintainable and readable, once you get it to work. This is not only a skill, but is more a reflection of your attitude towards programming. The programmer must ensure that his work is changeable easily in future, because rest assured, its gonna change. As Martin Fowler puts it, "Any fool can write code that a computer understands, good programmers write code that humans understand."
Curiosity and eagerness to learn: Never mind if the programmer does not know some basics that some people think he should know. The important thing is always to want to learn. This applied not only to software but also to people. When you see something or someone behaving differently than you would expect, always say "Why do you think it should be done that way?" rather than "I dont think you are doing it the right way". The reason, more than politeness, is to learn some things that you might have not known before.
If you have the above, you are a winning programmer in my book. And I am sure, in many (winning) managers' books too!
I have always been interested in learning different computer languages although I havent been able to sit down and work with one long enough....call it laziness or what you will. But then I started to think - is it really important to know many languages? What would be a fairly reasonable evaluation of a "good" programmer? If I were looking for work, would I hire me??
This led me list down what I thought would be winning skills in a programmer. The more I thought about it, the more I got convinced that its not about skills - its about attitude. Attitude comes with experience, something that cant be taught. Armed with the right attitude, the programmer can master any skill or language - and more important, use the skill effectively.
So what are the attitudes that a programmer should have for me to hire him? I came up with 3 for now:
Be solution-oriented: Whatever the situation might be, the first thing that a programmer must aim to do is solve the problem quickly. Given a problem, whats the simplest way to get a solution? Thats what the programmer should aim for. No grand designs, no fanfare. You can do that when you work on a personal project. When it comes to business, make yourself known as a problem-solver.
Code for maintainability: Give utmost importance to making the code maintainable and readable, once you get it to work. This is not only a skill, but is more a reflection of your attitude towards programming. The programmer must ensure that his work is changeable easily in future, because rest assured, its gonna change. As Martin Fowler puts it, "Any fool can write code that a computer understands, good programmers write code that humans understand."
Curiosity and eagerness to learn: Never mind if the programmer does not know some basics that some people think he should know. The important thing is always to want to learn. This applied not only to software but also to people. When you see something or someone behaving differently than you would expect, always say "Why do you think it should be done that way?" rather than "I dont think you are doing it the right way". The reason, more than politeness, is to learn some things that you might have not known before.
If you have the above, you are a winning programmer in my book. And I am sure, in many (winning) managers' books too!
Comments:
<< Home
Hy, my name is Gustavo, and I am Brazilian. I read english. I have a blog: www.baath.blogspot. com
I have fascination for other languages. Visit me in my blog. There are somes posts in english.
God saves Iraq!
I have fascination for other languages. Visit me in my blog. There are somes posts in english.
God saves Iraq!
Hi,
My take on the post.
- Be Solution Oriented: I think the money lies not in finding solutions, but in finding out where the problem is.
- Code for maintainabiilty: I say, job security comes before. WRite code that no one else understands, so they HAVE to keep you around.
- Curiosity and eagerness to learn: Instead, find ways to appear like you know a lot, and do as little as possible about it. => become a manager :)
Just kidding. Nice post. :)
Post a Comment
My take on the post.
- Be Solution Oriented: I think the money lies not in finding solutions, but in finding out where the problem is.
- Code for maintainabiilty: I say, job security comes before. WRite code that no one else understands, so they HAVE to keep you around.
- Curiosity and eagerness to learn: Instead, find ways to appear like you know a lot, and do as little as possible about it. => become a manager :)
Just kidding. Nice post. :)
Subscribe to Post Comments [Atom]
<< Home
Subscribe to Posts [Atom]