Having been in this field for so long, I would say I have gained the experience needed to be a better programmer. As a programmer it’s not advisable to restrict yourself to one programming language, this is so because programming language is more than a tool to materialize ideas and also a tool to shape the way you reason. So, it’s advisable for one to learn more languages, algorithms and concepts.
Image Source
To be at your best you have to be open minded, learn to value your work as a programmer and understand you have your own pace. Have you ever felt a little bit jealous about a colleague? He has done something amazing and you wished it was you. It’s not a bad thing to think this way, it’s from our human nature.
When you envelope yourself in this thought, it doesn’t bring you any advantage, indeed this is very bad for your career, you should understand that working with people that do or make amazing things, will make you close to doing something similar or even better.
After you understand that this is something that you can work, start by chatting with your colleagues, share some ideas together. When you associate with friends that are open minded and jovial this will be a very natural process.
On the other hand if you don’t have this type of people around, work your mind and you will attract them into your life. It is also good to see your colleagues as allies instead of enemies in building a network of people that enjoy to work with you, this can be valuable in the future.
You can become a good software engineer, by doing your work so well, that if you leave the company you are working with it will be easy to replace you as a programmer. There would be a likelihood they will miss your professionalism, your inspiration but not because your code is so bad that you are the only one that can change it, that would be very bad as a programmer.
You should choose good variable names and functions, to divide your code into modules, to develop tests. You should be at your best to ensure that people or your colleagues understand your code and that it works after you change anything.
Technical skills are the pearls that makes you a programmer, but in a world full of opportunities you must work your soft-skills. Be proactive, tackle your weakness, leave your comfort zone and in the end you will be compensated by this attitude.
Often sit down and evaluate yourself, think what you want to achieve with your career as a programmer. You should be able to visualize where you would be in the next 5-7 years as a professional in software engineering. You can relax in the comfort of your home or office and do a little research, to see what is in vogue, explore every option and think of where this your career will take you to.