3 Steps to become a Good Programmer
Categories: Programming
Tags: Programming Tips
Written By: admin
Hmmm…. Developers this is for you guys, this is a nice presentation on becoming a Good Programmer……
1. Learn programming languages in an efficient Way.
2. Programmer should be able to Debug the code efficiently
3. Should always try to Keep updating yourself. (Self Motivated)
1. Learn programming languages in an efficient Way:
There is a professional way of learning any programming language. Every programming language has some common elements to learn. If we can learn the common things in a sequential manner then we can learn any other language with out others help.
Below are the common Elements of any programming language.
- History of the Language
- Introduction
- Purpose
- Features
- Advantages
- Limitations
- Variables, Keywords
- Input / Output statements
- Syntax to use, Basic programs
- Conditional Statements like if-else, while, for etc.
- Arrays to store Data
- Functions ( pre-defined & User defined)
- Any File operations ( Input / Output)
- If it is an Object-Oriented language then you need to include some common concepts like Class, Object, Inheritance, Polymorphism, Abstraction etc.
In this way you can learn any programming language easier.
Compare these with any language. It suits for almost all languages.
———————————————————————————————————————–
2. Programmer should be able to Debug the code efficiently
- The Most fun part in programming is Debugging.
- Debugging is fun, because it begins with a mystery. You think it should do something, but instead it does something else. It is not always quite so simple—Debugging requires creativity and ingenuity.
- If there is a single key to debugging is to use the Divide and Conquer technique on the mystery.
- Suppose, for example, you created a program that should do ten things in a sequence. When you run it, it crashes. Since you didn’t program it to crash, you now have a mystery. When you look at the output, you see that the first seven things in the sequence were run successfully. The last three are not visible from the output, so now your mystery is smaller: ‘It crashed on thing #8, #9, or #10.’
- Through sufficient hands-on experience on programming will automatically increases the debugging capabilities. Important steps to follow for better programming.
1) Clear Documentation is must
2) Follow Software Engineering principles for the Programming
3) Should have some knowledge on testing the programs with required methods such as Black Box testing, White Box testing, Unit Testing, Integrated Testing, Performance testing etc.
4) Use own experiences to debug the code such as checking code with alert messages, divide and conquer method etc
———————————————————————————————————————–
3. Should always try to Keep updating yourself. (Self Motivated)
Software Strategy is to Live Today, we should be learning tomorrow’s Advanced Technologies, otherwise we will be lost some where.
- So keeping that in our mind, we should keep us updating with new technologies and softwares by all means. Like
- 1) Checking the upgrades, new versions.
- 2) Latest Technology trends
- 3) Customer Focus
- 4) Browsing Technology sites, blogs, participating in discussions etc.
- Follow the above specified flow to learn any programming language
- Follow Good Programming techniques, Best Practices like Documentation, Good Logic etc.
- Learn how to debug the program, Implement traditional techniques like Divide and Conquer and other testing techniques.
- Keep yourself update with Latest Technology Trends.
Developers!! Please let me know your thoughts on this…… I will be waiting for your valuable comments on this…… Do you guys agree with this……








July 4th, 2007 at 5:35 am
Lack of documentation seems to be the biggest hurdle we have to overcome where I work…
July 4th, 2007 at 6:07 am
Its easy say keep updating yourself with latest technology. I only get time for myself only on weekend whether is it feasible to update myself after working five day in a busy schedule. If you have any suggestions on this please welcome.
July 11th, 2007 at 12:41 pm
I agree. Best way to become a “programmer”.
If you had said: “3 Steps to become a Good Developer”, then I would totally disagree. Actually, I would be off topic if you hadn’t asked “Developers” for comment.
PS: Yes, there is a HUGE difference between the two. I have worked with some who are AMAZING programmers, but would NEVER be able to write/design a large app that would work. (read: unscalable, buggy mess…kind of like your typical large scale php app
I don’t have time to go into masses of detail, but:
i.e.1 2/3 steps would not use the word “efficient”. The word would most likely not be in the top 10. 98% of the code you write need not be performant, but thread safe, well laid out, DRY, proper exception handling, (unit) tested etc.
i.e.2
“you need to include some common concepts like Class,”
yes…well…
Architecture and best practice would at least make a showing….
i.e.3 “The Most fun part in programming is Debugging.”
NO!! Maybe for a “programmer”/script monkey/etc.
Unit testing was invented BECAUSE of this. If you said your favourite thing about programming is debugging, I would NOT HIRE YOU. (yes, I have hired many people before for myself and companies I work for)
Unless it was for a testing team, of course!
i.e.3
It wouldn’t all be about the language. I know about 16 languages to various degrees. They are all just tools. The principles behind their best practice are FAR more important.
“Developers!! Please let me know your thoughts on this…”
Done.
July 16th, 2007 at 2:39 am
mrmagoo you are right. Debugging code is outdated. The second step should be renamend to “Programmers should use Test driven development and XP to get good and maintainable code”.
July 16th, 2007 at 11:12 am
Hey,
This is very good presentation for the new comers to Software, but will be some what bore to already people. i think the presenter published this article, keeping freshers in Mind.
But my comments are as follows:
It seems its completely theoritical presentation. Why dont you include some real time examples such as
1) Learning Programming Languages in efficient way
ex:- follow these rules and flow of concepts like first History, variables, keywords, datatypes, syntax, input/output, functions like that,
2) debugging :- examples should be given like how to debug, no. of ways testing the code, etc..
3) Self Motivated:- How to update ourselves… need to give live examples such as watching technolgy sites, searching in google, reading IT magazines and technology trend magazines like Digiquest. DIGIT etc,
Am i right?
Let me know your thoughts.
August 1st, 2007 at 8:49 pm
I have no programming background but this is good stuff. Keep it up!