Revealer Info

How to Become a Good Programmer for Beginners

Working as a software programmer in the IT business, one thing that motivates us to come to work every day is the enjoyment and love we have for programming. However, with a view to making programming enjoyable and to get permanent exhilaration from it, one must first understand and adhere to several fundamentals that will make you a successful programmer.
Become a Good Coder
So, let me provide eight practical suggestions that can serve as a flowchart to help you improve your programming abilities. These pearls of wisdom were gleaned from 35 years of experience in the computer business, much of which were spent as a humble grasshopper at the feet of some of those who defined and documented it.

1. Remind yourself of how much you need to learn.

Recognizing that you don't know something is the first step in learning it. That may seem apparent, but experienced programmers recall how difficult it was to overcome this personal presumption. Too many computer science graduates have an arrogant "I know best" swagger, a firm belief that they know everything, and an urgent drive to show it to every new work colleague. In other words, the "I know what I'm doing!" mentality may stymie learning anything new.

2. Stop attempting to prove yourself correct.

To become great, not simply excellent, you must gain experience. However, knowledge can lead us to repeat harmful conduct and form negative habits. We've all met programmers with eight years of experience... the same year of experience, eight times over. To prevent this condition, examine everything you do and ask yourself, "How can I improve this?"

Novice software engineers (and far too many expert ones) enjoy the beauty of their code. Instead than attempting to make their code fail, they build tests to verify that it works. True excellent programmers intentionally seek out areas where they are incorrect, knowing that customers would ultimately discover the flaws they overlooked.

3. "The code works" isn't the end; it's only the beginning.

Yes, your first step is always to develop high-quality software that meets the requirements. Ordinary programmers give up at that point and go on to the next task.

But stopping when it's "done" is analogous to taking a photograph and expecting it to be a piece of art. Great programmers understand that the initial iteration is just that. It works—congrats!—but you're not done yet. Make it better now.

Determining what "better" means is a part of that process. Is it worthwhile to make it faster? Is it easier to document? Is it more reusable? More dependable? The response changes depending on the application, but the method does not.

4. Repeat it three times.

Good programmers create functional software. Great programmers create software that functions flawlessly. That almost never occurs on the first attempt. Typically, the finest software is written three times:

To begin, you develop the program to demonstrate to yourself (or a customer) that the solution is feasible. Others may fail to see that this is only a proof-of-concept, but you do.
You make it work the second time.
The third time, you get it right.

When examining the work of the finest developers, this amount of labor may not be visible. Everything they make seems to be fantastic, but what you don't see is that even rock-star engineers usually discarded the first and second versions of their software before presenting it to anybody else. Throwing out code and starting again might be an effective method to incorporate "make it better" into your daily process.

If nothing else, "Write it three times" tells you how many different approaches there are to a subject. It also keeps you from becoming trapped in a rut.

5. Don’t dismay yourself by looking at changing technology world

During these years in the IT business, I spoke with many individuals who were either dissatisfied with their jobs or left to look for new ones, claiming that they wanted to study and work with cutting-edge technology. I don't see anything wrong with this aim, however the first erroneous term is 'latest technology.' What we hear and mean here is that new tools, APIs, frameworks, and other ways are appearing on a daily basis to make programming simpler and faster. This will, in any case, continue in the domain of technology. 

What must be realized is that the core and fundamental technologies develop at a considerably slower rate than the frameworks, tools, and APIs that surround them. This is similar to the sea in that the top water is extremely fast moving, but the deep water is quite tranquil and concentrated, and most aquatic life survives here. So, imagine yourself in deep water, near to vital technology. For example, in the Java corporate market, there are several web frameworks available, with new ones being released every other week. 

However, the fundamental ideas of request-based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing, and so on remain unchanged. Spend more time mastering these fundamental principles rather than worrying about the ever-changing frameworks and technologies that surround them. Believe me, learning new frameworks, tools, and APIs will always be simpler if you have a solid foundation of essential principles.

6. Workarounds do not last a long time.

Workaround methods are often implemented by software programmers (may be because of lack of time, lack of problem understanding or lack of technology experience).

However, over time, these workaround methods invariably resulted in the code being corrupted, making it less extendable and maintainable, and wasting a lot of effort. It is always preferable to implement when you understand the ins and outs of the solution. I realize that lying becomes inevitable in certain cases, but it's as if you should always speak the truth yet tell lies in other situations.

7. Examine the documentation

One of the most important habits of a successful programmer is to read a lot of documentation. It might be specs, JSRs, API docs, tutorials, or anything else. Reading papers assists you in laying the necessary basis upon which you may program effectively.

8. You may also learn from the code of others.

I dealt with several exceptional programmers who always had a Java source project open in their IDE and read/refer to it on a regular basis. They do it not just to satisfy their need for knowledge of the fundamentals, but also to learn how to write decent programs. Reading and referring to dependable and well-known open source code, as well as your senior's code, may also help you improve your programming.

Last but not least, don't compare yourself to others.

Comparing oneself to others can only lead to the development of negative sentiments and unhealthy competitiveness. Everyone has both talents and limitations. It is more vital that we comprehend ours and seek to improve it. I've witnessed several so-called 'fundoo-programmers' (fundamentally strong programmers) make stupid blunders. So, examine yourself, make a list of your areas for growth, and go to work. Programming is a lot of fun; have fun with it.

Share this post:


Please read our Comment Policy before commenting. ??

Revealer Info