“Alone, we can do so little; together, we can do so much”, I couldn’t agree more and this phrase became reality when I started learning elixir(a dynamic functional programming language) to work on Glific(an open-source project that helps NGOs in a two-way communication). Although my experience of learning object-oriented programming languages helped me with the approach, learning new concepts of functional programming takes a little time.
So for effective learning of Elixir and getting the most out of it you can have a look at my journey and gain insights on how the community helped me solve the most real case issues and eventually led to a better understanding of elixir as a tool.
Start With a Real-World Project
Starting with a real-world project offers you a chance to understand the technical dimension and manage time with real stakes. One can join any open-source project on the GitHub platform for the sake of effective learning.
Initially, for me the concepts of Elixir like no objects, immutable data, Pattern matching in codes, and syntax were new, but while working on Glific, I was able to grasp the semantics of the Elixir-Phoenix(elixir based framework) experimentally.
As I invested myself more into the modules of Glific, whose backend is entirely based on elixir, I also came across a few issues that required the expert help. Well, that is where the community came into the picture.
An Approach To The Community
“Community forums are never hard to reach when you get stuck with a coding problem.
You can have a look by clicking on the issue to know how I drafted the problem in a proper query and posted it. The proper query here means the details of what you want to achieve through code, what you tried for it, and what results in you got. This step will make sure that the people in the forum understand the problem clearly.
Once the problem gets resolved, you can write back genuine feedback to the solution, this will ensure the accountability of the solution and will help others too with a similar problem.
A community is a space that runs with a mutual effort of all those who participates in it. So if the community helps you learn something, then you must return the favor by providing help too. With regard to this teaching, I actively participated in the forums and tried to solve the problems out there as per my caliber.
Apply Your Learnings From The Community
While working on the project we noticed some areas on a few packages where we could contribute to making it better. So we worked on them and created the PRs in a short span. Fortunately, some got approved and few required a bit more working, nevertheless, my experience was great and informative. Following this, I joined other open-source platforms, discussed the problems out there, and worked on them to do my part.
Working on Glific has given us a chance to learn about Elixir in detail, A Professional approach has laid the path for us to work with the packages and provide services on this platform.
A Sum Up
In this journey of learning elixir and phoenix, I always had my team working closely with me. It’s their support that motivated me to go the extra mile. In the right terms “Your community maps out the path and keeps you on track to avoid costly detours and stumbling blocks.” Community participation lets you solve problems that benefit many people.” It adds to your worth, creating a good reference in the forum. It helps you develop skills for civic and social responsibilities and above all, it gives you a feeling of satisfaction.
As I strive to learn and grow more in the elixir field with the invaluable support of the elixir community, I am hopeful that I will be able to contribute even more to the community and build some useful ideas/libraries in the future.