Is it hard to be a good programmer? It only takes only 10 habits

There are many different names for the millions of people who are passionate about software development worldwide, including software engineer, programmer, coder, and developer. After some time, these persons might be able to develop their coding skills and become proficient in using computer languages to perform their jobs. However, there are some additional considerations you must make if you want to become a good programmer; if you can develop the following ten habits, you may truly be regarded as a good programmer.

This article's original information was taken from phil's blog on the internet, but sadly the original URL is no longer active. The text that follows is a rewording of the 10 articles based on my practice-related experience.


1. There is no end to learning.

Even if you have been a programmer for more than ten years, you still need to put in the effort to learn because the field of computers is so creative and there are constantly new things being developed. You must stay current with society. You should familiarise yourself with new programming languages, as well as those that are being developed and a few programming frameworks. To comprehend and appreciate the general trends in software development, you should also read up on industry news and take part in online conversations in well-known groups. Some well-known communities in China are CSDN, ITPUB, CHINAUINX, etc. It is advised that you frequently visit digg.com while travelling abroad to view the compilation of different BLOGs.


2. Mastering multiple languages.

There are always applications for which programming languages are best suited. You need to identify the language that is best suited to solve difficulties when you are presented with them. For instance, if you require performance, C/C++ may be the best option. Likewise, if you require cross-platform functionality, Java may be the best option. If you want to design a development programme for the Web, you may want to consider PHP, ASP, Ajax, or JSP. Spend some time learning other programming languages that you are already familiar with in order to extend your horizons since you will be more prepared and able to think more broadly about yourself and your project as a whole.


3. Be rational about the different operating systems or technologies.

Programmers are always thinking about their own unique technologies and operating systems. Some like Windows, others FreeBSD, others Debian, others Ubuntu, MacOSX, Solaris, etc. Only a limited few of the finest programmers are knowledgeable about the benefits, shortcomings, and strengths of many operating systems, enabling them to choose an operating system without being biassed by their emotions. It's the same with languages. Too many programmers always prefer to compare languages, like Java and Perl. Which recent coder hasn't engaged in similar discourse? For instance, VC++, Delphi, and so forth. Arguments over these issues just reveal one's shallowness and flakiness. A competent programme can assess and confront these without adhering to them, allowing the user to make the best decision without bias.


4. Don’t box yourself into a single development environment.

Every programmer, as was already noted, has their own prefered tools and technologies. Some prefer the more traditional ones (I prefer Vi for editing programmes), while others prefer the more modern ones, such as gedit or Emacs. While some like to use GUI debuggers like VC++, I use command line modulators like GDB. And the list goes on. Is there significant disagreement on the tools that programmers employ? It is dispersed throughout. Any tool will suffice as long as it allows you to accomplish your objectives more effectively and quickly. However, there is one thing that competent programmers should be aware of: they should explore different work settings. Without contrast, it is impossible to distinguish between the good and the bad and to understand your ignorance.


5. Don’t tell me you don’t know about source code versioning.

Your software development is stuck in the stone age if your team is working on source code without a versioning system. The most popular versioning system is CVS, which has a plain appearance. Subversion is an improved version of CVS that is beginning to displace CVS, and Git is a different form of versioning tool. Other options include Visual SourceSafe. You can be managing your source code with the greatest or least effective tool depending on the size and location of your team. However, a skilled programmer will always manage their code using a source code versioning tool. I suggest the open source git if you want me to suggest one.


6. Be a good team player.

Unless you enjoy playing alone or you're a loner. But I want you to know that even while you might be the team's greatest bully and there may not be any tested software that you can use alone today, that doesn't necessarily imply you're a good team member. Only when you combine your skills into a team can you actually employ them. Do you communicate with your team members in a polite manner? Do you often connect with them, and does everyone like your company when you address problems? Are you a valuable player on your favourite soccer team? Can your group members be motivated by your activities when others see you rushing down the field, when others witness your passes, receptions, and snaps?


7. Turn your work into documentation.

This entry mentions adding comments to your code, but that's not enough; you need to do other steps. A document that makes it simple for you and your team to comprehend your intents and ideas is built on well-commented code. Writing down documentation is a technique to impart knowledge as well as a way for a team to communicate offline out of fear of losing what we were thinking. Making a habit of writing down what you know is wise. Because I'm sure you don't want calls from the company asking you questions while you're on vacation or people constantly interrupting you to ask questions while you're at your busiest. Additionally, if you are continually staying to yourself, the outcome is likely to be that you will spend a lot of time keeping to yourself and will have even less ability to accomplish more. include advancement. Your conservatism will cause you to lose more and better things, despite your belief that "training the pupil can starve the master." Please believe me; I'm not exaggerating.


8. Take care of backups and security.

Perhaps you view this as a "crap shoot" and are aware of the value of backups. However, I'm here to emphasise that losing stuff is a fact of life; it is something you will always experience and cannot be prevented. As an illustration, consider the following scenarios: your laptop is stolen; your hard drive is broken; your computer contracts a virus; your system is hacked; or perhaps the entire building is set on fire. Therefore, doing a good backup job is crucial. Burning CDs or tapes on a regular basis might be a good idea because hard drives are unreliable, and the internet is unsafe because of viruses and hackers, so you should also use a sound management system in addition to using security software. Additionally, make sure to backup your data frequently (daily, weekly, or monthly) and maintain it in as many different locations as you can.


9. The design should be flexible enough.

Perhaps your requirements will only require you to implement a dead thing, but as a good programmer, you should constantly consider whether this dead thing can have a flexible side, such as making some parameters configurable, putting some common things into your function library for later reuse, or whether to provide plug-in aspects of the function. Do your modules need to be put together like blocks? Can your design instantly adapt to changes if there are any? Of course, adopting standardised components whenever possible is a part of flexible design rather than reinventing the wheel. The so-called spirit talk design allows for consideration of additional factors than those specified in the specifications, taking into account all the issues related to this category rather than focusing only on the one item mentioned there. Can your design adapt to different screen resolutions, for instance, if the needed resolution is 800 by 600? Programming constantly needs us to deal with various settings and emerging trends. Instead of blazing a road, we must approach problems from a dynamic angle. Perhaps the programme you build now will be ported to a different environment someday, at which point you will truly appreciate what flexible design is all about.


10. Don’t pick up a stone and break your own feet.

Programmers constantly make the mistake of attempting to complete their work quickly. However, the reality frequently deviates from what you had in mind. In the end, the software was updated to change the past, press the gourd up the ladybug, and finally invest more time and effort. The more quickly something is done, the more likely it is to go wrong, the more quickly something is done, the more probable it is to miss the problem. Speed is not attained, despite the desire. A good programming habit is to invest more time up front in study and experimentation with various solutions. If time permits, another good habit is that you should take an hour off after every four hours of coding before doing so again. Of course, this differs from person to person, but its goal is to periodically prompt you to reflect on and consider three of these questions: 1) Is doing so ethical? 2) Is it appropriate to do so in light of the circumstances as a whole? 3) Is there an improved method? Consider it, take a moment to reflect on your progress, and periodically review the events of the past will be very beneficial to you.