How do I write code that allows me to deliver a project on time, is optimal, and easy to maintain? How do I become a better programmer?
This is the checklist that has allowed me to work with various programming languages and frameworks with ease.
1. Read the docs
Reading the documentation is a sure way of understanding how to code better, avoid code smells, and avoid reinventing the wheel.
2. Check code implementation
If you are working with a framework, try to look at how the framework implements some functions or features. You can learn from seasoned programmers who are maintaining the framework, and also have a better grip on the framework itself.
3. Understand the requirements and objectives of the project/feature
Before you begin putting ink to paper, completely understand the goals and requirements of the project. This allows you to have a picture of the implementation you might conceder.
4. Layout your plans
Especially in large teams, it is a good idea to lay out your plans on how you are going to implement a project/feature with your Senior Developer or Technical Lead. This gives you an opportunity to see any blind spots and get feedback from the team.
Take time to answer/ask questions on StackOverflow / IRC / Github. Read up on blogs or visit https://github.com/explore. By doing this you can view some of the exciting and innovative projects that are in your line of work or language.
Lastly, you have to care about your work. Without caring or loving what you do it is difficult to improve your skills.