Tips to change your coding skills forever
Once we are able to develop a solid grip over logic building skills, then learning to code becomes easy. In my opinion, actual confidence in programming comes by developing the skill of logic building. It doesn’t require much technical baggage.
Some of the important tips to improve your coding.
1. Patience and Practice
These are the key to learn any new technology or coding skills. You requires a lot of patience when ever you start to learn coding. As we know, practice makes a man perfect, so do a lot of practice and implement each and every concepts. Never give up, try again and again.
2. Theory knowledge
Whenever you are going to learn any language or framework, first read its documentation and go through the theory of documentation. Theory is also important so, don’t skip theory.
3. Pen and paper
Never code before writing your algorithm in paper. Whenever you write any program then first of all write all the workflow in paper and then start writing code in your machine. This technique really helps me a lot, you can also try this.
4. Dry run your code
Whenever you starts to learn programming then before running your code in machine, try to run that logic in your mind. Check all the flow of your program manually by using paper and pen.
Regular solving one or two real world problem will increase your logic building ability. So, try to solve problem everyday.
6. Always go from basic to advance
Many people directly starts to learn the advance topics without knowing the basics, this approach is not a good approach. First learn the basics, then go for advance topics.
7. Learn data structure concepts
Data structure is one of the hard topic in programming field. It is very important to build logic and enhance your coding skills, so start learning data structure concepts.
8. Don’t see the solution of problem untill you have not solved
Whenever you are going to solve any problem then first try to solve that problem by yourself.
9. Real projects
You have to create projects which is very important and it will surely enhance your coding skills.
10. Solving problems regularily
You have to solve many problems which is based on real world. So, for this i recommend to use some websites such as hackerrank, hackerearth, codesignal etc. You can solve real world problem from these websites and it will surely enhance your coding knowledge.
List some of the things that helped you in career.
- Take the code and break down big pieces of code into small functions.
- If by the time you leave work you haven’t solved the problem. Turn off the computer and leave it for the next day. Don’t think about the problem anymore.
- YAGNI principle: don’t codify more than you’ve been asked to. Don’t anticipate the future, and just create something that works as soon as possible. Code only the necessary parts to solve the current problem.
- You don’t need to know everything, nor all the existing frameworks. The most significant thing is to have a good base. Know the language in depth before starting with a Framework and learn fundamental things like the SOLID principles or how to write clean code.
- KISS: “Keep it simple, stupid” or “keep it stupid simple” is a design principle that states that most systems work best if they are kept simple rather than made complicated. And while this is logical, it is sometimes difficult to achieve.
- Don’t overthink it.
- If you’re with a problem or a bug too long, walk away, and come back to it later. Often, the best solutions to the problems occur to me on the way from my office to the bathroom. Taking a walk away is also advisable when you are angry with a client or with a coworker, especially if you want to keep your job.
- Learn to write useful tests and learn to do TDD. TDD is a software development process that relies on the repetition of a very short development cycle: Write a test, run all tests and see if the new one fails, write some code, run tests, refactor code, repeat.
- Solve the problem first and then write the code. Don’t start coding without knowing what to do.
- Don’t memorize code, instead understand the logic.
- If you copy and paste a stack overflow solution, make sure you understand it. Learn to use Stack Overflow in a good way.
- If you want to learn something, practice. Make examples and make them work because read about something is not enough.
- Study other people’s code and let others study your code from time to time. Pair programming and code reviews are a good idea.
- Don’t Reinvent The Wheel.
- Your code is the best documentation.
- Know how to google stuff. For this, you need to have experience and read a lot to know what to look for.
- Your code will need to be maintained by yourself in the future or by others, so write the code with the reader in mind, not trying to be the smartest person. Make it read like you’re reading a story.
- The best way to resolve an error with google is to copy-paste it.
- Never gives up, in the end, in one way or another you’ll resolve it. There are bad days, but they’ll pass.
- Rest, Rest, and Rest. The best way to solve a problem is to have a restful mind.
- Learn to use Software Design Patterns. Design patterns are solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a common design problem in your code. (Don’t Reinvent The Wheel)
- Use integration tools and automate as much as you can.
- Do code katas. A code kata is an exercise in programming which helps programmers to improve their skills through practice and repetition. See Examples here.
- Program to an interface, not an implementation. Dependency Injection is a requirement. See SOLID principles.
- Refactor -Test-Refactor. Refactoring is a technique for restructuring an existing code, altering, and improving its internal structure without changing its external behavior.
- Ask for help when you need it. Don’t lose time.
- Practice makes perfect.
- Although sometimes the comments can help you, don’t pay too much attention to them. They’re probably outdated.
- Know your development environment and invest in a powerful enough one, such as IntelliJ.
- Reuse components.
- When developing a web application, think mobile-first and the associated power and bandwidth restrictions.
- Don’t optimize or refactor prematurely. It is more important to have a minimum viable product as soon as possible.
- Never choose an inefficient shortcut way to save a few minutes. Every time you code, give your best!
- Follow the documented standards.
- Users are not technical people. Think about it when you develop your UI.
- Use always a source control system like Github or bitbucket and do small and frequent git commits.
- It’s better to use logs than to debug the code. Log all critical parts.
- Be consistent when coding. If you use a style, always use the same one. If you work with more people, use the same style with all the team.
- Don’t stop learning, but more than new languages or frameworks, focus on the basics of software development.
- And finally, patience and love what you do.