12 Tips to become a good programmer
I meet, interview, and mentor a lot of young software programmers on a regular basis. Many young software programming enthusiast who want to join my company do not clear base interview rounds at times as I find their fundamentals are not correct when it comes to their approach towards software programming. With over 3 decades in the software development industry, having seen its evolution from Basic, Fortran, Pascal, Cobol, C, Foxpro, Power Builder, Visual Basic to Java, Javascript, Python, etc. thought some of these tips which were quite relevant 30 years ago is still relevant in todays time for our young future techies.
In the past, I have written articles about the need for revisions in the teaching methodology and curriculum of college universities. In this article, I want to focus on what the students or fresh engineers/grads keen on developing a software development career can do themselves irrespective of what they learned in their college curriculum.
- Master The Fundamentals If you are a fresher in the field of software development, it is important to learn the basics of programming such as data structures, algorithms, object-oriented programming concepts, etc. Ensure that you have strengthened your basic programming concepts thoroughly as it will be the foundation for becoming a good programmer.
- Practice RegularlyPractice. Practice. Practice and keep practicing. Like any other talent that improves as you keep practicing, it's important for you to regularly write code. Work on personal projects, and participate in coding challenges and hackathons. So in short programming is not a theoretical subject so the constant practice of actually writing code will help you keep improving your skills. The less you end up wanting to google for a quick ready solution the better you will get at coding.
- Read CodeYes, it's that simple. Learn how to read and decode existing code. Learn from open-source projects or established developers who have created well-structured and clean code. Understanding and examining code will teach you various techniques and methods of writing code to solve specific problems. If you intend to use a particular technique in your project code use it only if you clearly understand every line of that code and adapted it properly.
- Learn Multiple LanguagesComing from old school programming background, I believe you should develop deep expertise in at least one programming language as it will help you understand and pick up any new programming language easily. Go Deep then go Wide, :) is my personal philosophy of coding. However, programming languages keep evolving so it is good to learn multiple programming languages. Each of them may have specific pros and cons, and studying them will help you widen your perspective. A software architect who has deep and wide experience understands these nuances and that helps in choosing the right programming language, frameworks, databases etc. depending on the use cases and applications that are being built.
- Work On Real ProjectsRefer to real-world applications that you see around and try building it. Doing such an exercise you will face practical challenges trying to figure out how such applications work, it will require you to do research, learn about design skills, build the basic building blocks for your project, how to debug issues as you code, and how to do problem-solving. All these activities when done sincerely will really help you a lot.
- Seek FeedbackDon't feel shy to seek feedback from your peers and senior developers and be open to receiving feedback. Understand and learn what you missed while developing. You may be surprised to notice you may have forgotten even to implement basic validations sometimes. Learn where you need to improve based on the feedback and then work on those areas.
- Collaborate With OthersForm a team of your friends who have similar interests. Working on projects with other developers can help you build important abilities too like teamwork, communication, leadership, version control, and code reviews.
- Learn Version Control and other supporting toolsI used to use SVN a lot, today you can learn Git and so many other version control systems and other collaboration tools for collaboration and tracking code changes. There are other support tools like bug reporting. Learn to use all such supporting tools effectively.
- Read Documentation And Source CodeRead all the documentation for the frameworks, libraries, and the programming language being used. Reading source code can help and provide you a lot of information to understand how things work. Also learn about documenting your own code, formatting your code, and what are the best practices. A well-written code also has code documentation within the code, a good programmer also writes code so that the next programmer who reads or works on your code can also understand it easily.
- Stay UpdatedTechnology evolves rapidly. Keep up with the latest trends, tools, and best practices to stay relevant in the field. Every day is a learning day in the technology space. The day you stop learning is the day you will stop growing. Allocate some time for learning, and reading every day. If you are someone who cannot constantly learn, think of a different career.
- Solve ProblemsSoftware Programmers are meant to solve problems. Participate in algorithmic problem-solving on platforms like LeetCode, HackerRank, and Codeforces. These challenges will help you improve your problem-solving abilities.
- Practice DebuggingDebugging is an essential skill. Learn how to efficiently identify and solve bugs in your code. Make use of debugging tools and procedures. Learn the theory of elimination and how to practice it effectively in the debugging process to help you quickly pinpoint the failure point(s)
领英推è
Following these basic points will help you get started off on the right track in the software development space.