Re:Ask HN: How do you go from being an average software deve...
by BjoernKW on Friday July 03, 2015 @04:41AM
(#9824336)
On the technical side of things learning a different, not-so-mainstream programming paradigm (like functional or declarative) will broaden your perspective and allow you to tackle problems differently (pretty much as learning a foreign language also gives you insight into another culture).
In general I'd say that working with other developers is the best way to improve your skills. Ideally, some of those developers would be more experienced than you (so you can learn from them), and some of them would be less experienced so you can teach them (because teaching and communicating about code leads to a better understanding for the teacher as well).
If your environment doesn't reflect this ideal you might consider contributing to a larger open source project.
What sets apart great developers from average ones isn't technical knowledge or programming skills but communication skills and an understanding of user requirements. Most software development really is about communicating and properly understanding requirements.
Learning about design and business can also make you a better developer because it'll provide you with a more comprehensive view of the things you're creating.
In general I'd say that working with other developers is the best way to improve your skills. Ideally, some of those developers would be more experienced than you (so you can learn from them), and some of them would be less experienced so you can teach them (because teaching and communicating about code leads to a better understanding for the teacher as well).
If your environment doesn't reflect this ideal you might consider contributing to a larger open source project.
What sets apart great developers from average ones isn't technical knowledge or programming skills but communication skills and an understanding of user requirements. Most software development really is about communicating and properly understanding requirements.
Learning about design and business can also make you a better developer because it'll provide you with a more comprehensive view of the things you're creating.