My name is Igor Kasyanchuk, I'm from Ukraine and my professional software development carrier started in 2006.
Started a long time ago as a Java developer, then C++, and finally Ruby developer, in 2008. Since that only doing only Ruby (and related technologies).
I personally was surprised by the community. Everyone is helping everyone.
I'm glad that I contributed to the Rails. I did nothing crazy and mostly was fixing things that were bothering me.
I use several sources of information
- Ruby Weekly
The main challenge is to find time.
Start with a simple project/idea/task as possible. Baby-steps first. Also try to solve your problem or just opensource some existing code snippet of any other "solution".
I personally do open source when I feel comfortable. It can be months when I haven't made any commits, but it also can be a week when I create a few open-source Ruby gems.
I found it very interesting to work with people across the globe. You can find great contributors who can support you.
The idea, documentation, promotion, implementation, and support.
Every factor above is very important.
I like but it also scares me how AI is evolving. It's like a fast-moving train and need to jump inside. I personally tried to use AI tools like ChatGPT or Github Copilot, they already helped me to finish tasks sooner.
For me best work is you simple need to clone the project, put binding.pry and inspect the code.
In addition don't forget to raise an issue (or check issues, even closed ones).
I recently started to use Discord and joined some communities. Using it not actively, but it's an interesting source of information/ideas/people.
One time I received a preliminary job offer without any call. Just based on my GitHub profile.
Also, it helped few times to convince clients that outsourcing company where I worked in the past has Ruby expertise.
The most popular myth I think is that open-source projects can do only senior+ developers.
But in reality I saw cases when juniors already have few quite interesting and useful gems.
In the past, I created a gem (or code snippet) that changes numbers in the logs to some random numbers :)
This is a special RoR gem for April 1 (Fools day). It was funny to watch how people trying to understand what is happening.
Almost every my Ruby gem was created on a purpose to solve my or my team's problem. For example:
- can't access staging DB, np - created rails_db gem
- need to export complex PDF with charts - rails_pdf gem
- need to pass to ChatGPT context of my models (schema, relations) - created "ask_chatgpt" gem
First of all, try to make your life easier. And in case you see a need to use the same solution on a different project (or it would be something interesting to the community) this is an ideal case to make it open-source. And again, start with simple as possible ideas/solutions.