Want to learn programming the right way? Try Exercism.
Exercism is an interactive code-practice and mentorship-based platform for learning how to write code. That night, I went home and tried out Exercism. I haven’t looked back since!
Here are some of the attributes that make Exercism an ideal platform for learning how to code and why you should give it a try.
Learn to read other people’s code
Programming is a creative art. We sit glued to our screens or terminals in flow, bringing software to life or simply fixing bugs.
In as much as we spend so much time writing code, we also devote a lot of time to reading code written by other people.
Most solutions that are submitted to Exercism are voluntarily made available to the public by the users. This means that when you submit a solution to a problem you also get the opportunity to see how fellow peers solved a similar problem.
By reading other people’s code, you get to learn other approaches to solving a problem and generally new concepts.
Here is an excerpt from Exercism regarding the same:
“A huge amount can be learned from reading other people’s code. This is why we wanted to give Exercism users the option of making their solutions public.”
When reading other people’s code, you should often ask:
- What compromises have been made?
- Are there new concepts or syntax here that I could read more about to improve my understanding?
The ability to solve problems with code is an invaluable skill and one that is highly sought after. But if you want to step up your game then you need to start writing elegant and efficient code.
There is a mantra in the agile world of software development: “make it work, make it right, make it fast”.
Clean code goes beyond just solving a problem with code. It is about taking the necessary steps to make code elegant and efficient. In short, you give meaningful names to classes, methods and variables. Functions are small and readable. Code is testable and self-documented.
Most solutions on Exercism are elegantly written. By looking at how other peers write clean code. You also get the urge to do the same.
The importance of unit tests does not always come out clear when one is learning programming or there just isn’t enough emphasis placed on the importance of unit tests. However out there in industry, unit tests are indispensable. As a rule of thumb: untested code should not make it past production. Code that has unit tests is generally easy to refactor and maintain.
Talk about test driven development(TDD). Exercism takes a serious approach to unit testing. All challenges on Exercism come with unit tests. So, before submitting a solution to a challenge all unit tests have to pass.
Learning the importance of unit tests and the concepts around it in your development career is very important and will go a long way in making you a better engineer.
Coding is more than just a technical activity; it is also a social activity that involves interacting with other developers or team members. With Exercism you have the opportunity to interact with other members of the community from different parts of the world.
Knowing how to communicate effectively with other team members is an invaluable skill to have in your arsenal as a software developer or for a career in tech. And if you decide to become a mentor on Exercism, you get to learn how to be a leader.
Here are some soft skills you may acquire or learn along your journey with Exercism:
- Problem solving
- Accountability and responsibility
Software development is a challenging and yet very fulfilling enterprise. If you are devoting time to learning how to code then you better learn it right. I hope Exercism will be just as helpful on your software development journey. Happy coding!