Ten years from now, I see myself as an MIS Programmer in a large organization. To achieve this goal, one of my strategies is to acquire the top ten traits of a good programmer. These traits are:
1. Think! - This is the most important trait of a good programmer. I must never jumps into anything. Given a problem, I must first think over it. The more I think, the more ideas, questions and alternate solutions come to his mind.
2. Learn! - Learn Baby, learn! A good programmer has a burning desire to learn new things every day. I observed learning itself is so formalized and force fed that students are bored with it.
3. Help others! - This to me is the golden rule of programming. "Help other as you would want others to help you". The advantage of helping others was: immense experience in solving programming problems, various ways people see a particular problem. Also you come across interesting/weird/strange ideas!, empathy towards programmers. The difficulty they face in their day to day job. But sometimes, "Help others" is not something officially appreciated.
4. Lead by example! - Another important trait if you are a senior programmer or architect. If you are a technical lead or a lead programmer, lead by example. Write code in front of your team members. You will get more trust, respect and support from your team!
5. Know a bit about everything! - For example, If you are a core Java programmer, you should also know about SQL programming. It also helps if you know a bit of regular expressions or a scripting language.
6. Know basics of computer science! - There are many programmers out there who doesn’t have the basic knowledge of computers or their inner workings. This is very essential. Many of the programming difficulties that people face is due to the lack of knowledge of how computers work! If needed take a computer science course.
7. Perfect it as much as you can! - Nobody is perfect. You can’t write perfect code in the first iteration. Refactoring is the mantra. Analyse your code, find code fragments that can be reused and refactored.
8. Use tools! - Many programming tasks can simplied if you use appropriate tools. For example, in all my projects I use Adobe Dreamweaver to develop web applications.
9. Explore code! - If you want to improve your coding skills quickly, one thing I recommend is exploring code written by others. If I would have said this 10 years back, you would ask me- "Where can I find good code?" But now the scene is completely different. Open source movement has revolutionized everything. There is so much good open source code out there that I feel overwhelmed by it!
10. Be Humble! - Humility is the last of the top 10 traits a good programmer should have. But it is not the least! As you get more and more experience, it is very natural to feel arrogant. The moment you become arrogant, you loose the trust and respect of your fellow programmers. Being arrogant also shows how ignorant you are! Remember, no one is perfect. You can also make mistakes. If someone points it out, thank him and accept his valid comments.
Here’s my other adopted strategies:
Never stop learning
Computerworld's "40 under 40" are a varied group, but one trait you'd be hard-pressed to find among them is a willingness to rest on their laurels. IT professionals who have to be asked to learn new skills confine themselves to narrowly defined careers.While it's essential to master a technical specialty, those who become leaders tend to broaden, not just deepen, their areas of expertise. Attending a conference on a topic that's outside your comfort zone is a great way to stimulate your thinking. In addition to traditional classes and seminars, seek out other ways to learn, like finding a mentor or taking on projects that stretch your abilities.
Keep track of blogs and Web sites in areas that interest you, participate in online forums, and attend trade shows and networking events, always with a critical eye on your future. What new technologies are most likely to shape the industry? By keeping up with changes in technology, you gain the ability to steer your career toward growing specialties (such as wireless security, to use a current example) and away from less marketable ones.
Soft skills set you apart
Keeping your technical skills and knowledge up to date is important, but if you want to help bring about change rather than just respond to it, you'll also need to take a look at how you work with others. In a survey by Robert Half Technology, CIOs cited interpersonal skills, the ability to work under pressure and communication skills as the top traits they seek in IT professionals, aside from technological proficiency. Soft skills may be trickier to assess and improve than hard skills, but they're critical to the impact you have on your colleagues, company and industry. It's a good idea to periodically assess your soft skills to determine where improvements should be made. Ask trusted colleagues for feedback on your strengths and weaknesses. When you identify a shortcoming, make a plan to address it. For example, if you think you could stand to improve your presentation skills, you might consider enrolling in an organization like Toastmasters or volunteering to give your team's status update at the next staff meeting.
Business savvy is another key attribute that requires deliberate effort. Whenever you're uncertain about the bottom-line "why" of an IT project, refresh your knowledge of the company's priorities and goals by talking to your manager. A big-picture perspective is a prerequisite to making meaningful contributions to your firm. In addition, understanding the big picture enables you to anticipate the needs of your company and your industry before those needs become apparent to everyone -- a major distinguishing characteristic of IT innovators.
Establish your leadership potential
For the most successful IT professionals, job descriptions are just starting points. When you take the initiative to expand your role, people start to think of you as a leader. Serving as a leader also means demonstrating integrity and selflessness. For example, the willingness to "own" a mistake or a failed project does more to establish your credibility than making sure you get your share of the credit when a project succeeds.
Your role as a leader should extend beyond the walls of your company. Joining a professional association, going to conferences and offering to speak or present at industry events are good ways to build your reputation and become an active part of the exchange of ideas. Many successful IT careers get stuck on plateaus not because of any shortage of ingenuity or persistence, but because they take place largely in a vacuum rather than in constant, creative interaction with others.
1. Think! - This is the most important trait of a good programmer. I must never jumps into anything. Given a problem, I must first think over it. The more I think, the more ideas, questions and alternate solutions come to his mind.
2. Learn! - Learn Baby, learn! A good programmer has a burning desire to learn new things every day. I observed learning itself is so formalized and force fed that students are bored with it.
3. Help others! - This to me is the golden rule of programming. "Help other as you would want others to help you". The advantage of helping others was: immense experience in solving programming problems, various ways people see a particular problem. Also you come across interesting/weird/strange ideas!, empathy towards programmers. The difficulty they face in their day to day job. But sometimes, "Help others" is not something officially appreciated.
4. Lead by example! - Another important trait if you are a senior programmer or architect. If you are a technical lead or a lead programmer, lead by example. Write code in front of your team members. You will get more trust, respect and support from your team!
5. Know a bit about everything! - For example, If you are a core Java programmer, you should also know about SQL programming. It also helps if you know a bit of regular expressions or a scripting language.
6. Know basics of computer science! - There are many programmers out there who doesn’t have the basic knowledge of computers or their inner workings. This is very essential. Many of the programming difficulties that people face is due to the lack of knowledge of how computers work! If needed take a computer science course.
7. Perfect it as much as you can! - Nobody is perfect. You can’t write perfect code in the first iteration. Refactoring is the mantra. Analyse your code, find code fragments that can be reused and refactored.
8. Use tools! - Many programming tasks can simplied if you use appropriate tools. For example, in all my projects I use Adobe Dreamweaver to develop web applications.
9. Explore code! - If you want to improve your coding skills quickly, one thing I recommend is exploring code written by others. If I would have said this 10 years back, you would ask me- "Where can I find good code?" But now the scene is completely different. Open source movement has revolutionized everything. There is so much good open source code out there that I feel overwhelmed by it!
10. Be Humble! - Humility is the last of the top 10 traits a good programmer should have. But it is not the least! As you get more and more experience, it is very natural to feel arrogant. The moment you become arrogant, you loose the trust and respect of your fellow programmers. Being arrogant also shows how ignorant you are! Remember, no one is perfect. You can also make mistakes. If someone points it out, thank him and accept his valid comments.
Here’s my other adopted strategies:
Never stop learning
Computerworld's "40 under 40" are a varied group, but one trait you'd be hard-pressed to find among them is a willingness to rest on their laurels. IT professionals who have to be asked to learn new skills confine themselves to narrowly defined careers.While it's essential to master a technical specialty, those who become leaders tend to broaden, not just deepen, their areas of expertise. Attending a conference on a topic that's outside your comfort zone is a great way to stimulate your thinking. In addition to traditional classes and seminars, seek out other ways to learn, like finding a mentor or taking on projects that stretch your abilities.
Keep track of blogs and Web sites in areas that interest you, participate in online forums, and attend trade shows and networking events, always with a critical eye on your future. What new technologies are most likely to shape the industry? By keeping up with changes in technology, you gain the ability to steer your career toward growing specialties (such as wireless security, to use a current example) and away from less marketable ones.
Soft skills set you apart
Keeping your technical skills and knowledge up to date is important, but if you want to help bring about change rather than just respond to it, you'll also need to take a look at how you work with others. In a survey by Robert Half Technology, CIOs cited interpersonal skills, the ability to work under pressure and communication skills as the top traits they seek in IT professionals, aside from technological proficiency. Soft skills may be trickier to assess and improve than hard skills, but they're critical to the impact you have on your colleagues, company and industry. It's a good idea to periodically assess your soft skills to determine where improvements should be made. Ask trusted colleagues for feedback on your strengths and weaknesses. When you identify a shortcoming, make a plan to address it. For example, if you think you could stand to improve your presentation skills, you might consider enrolling in an organization like Toastmasters or volunteering to give your team's status update at the next staff meeting.
Business savvy is another key attribute that requires deliberate effort. Whenever you're uncertain about the bottom-line "why" of an IT project, refresh your knowledge of the company's priorities and goals by talking to your manager. A big-picture perspective is a prerequisite to making meaningful contributions to your firm. In addition, understanding the big picture enables you to anticipate the needs of your company and your industry before those needs become apparent to everyone -- a major distinguishing characteristic of IT innovators.
Establish your leadership potential
For the most successful IT professionals, job descriptions are just starting points. When you take the initiative to expand your role, people start to think of you as a leader. Serving as a leader also means demonstrating integrity and selflessness. For example, the willingness to "own" a mistake or a failed project does more to establish your credibility than making sure you get your share of the credit when a project succeeds.
Your role as a leader should extend beyond the walls of your company. Joining a professional association, going to conferences and offering to speak or present at industry events are good ways to build your reputation and become an active part of the exchange of ideas. Many successful IT careers get stuck on plateaus not because of any shortage of ingenuity or persistence, but because they take place largely in a vacuum rather than in constant, creative interaction with others.
1 comment:
Great Post .... Keep Writing .... Thanks for sharing ....
Homework Help | Assignment Help
Post a Comment