First of all I don’t know if this is the correct place to post this, I have looked for questions like this but I haven’t found, if not feel free to redirect me to the correct place.
Let me introduce my doubt. I have been learning Scala for a year. I have read the magnificent books of Programming in Scala, Functional Programming in Scala, and I am now looking forward to seeing Scala with Cats of underscoreio.
In these mean time I have done some small mock projects, but I don’t feel creative enough to find an idea of a big project or talented enough to make it right.
I’ve been told to contribute to some projects and Scala itself could be fascinating, but sometimes feel that I’m not good enough to fit here, so I would like to know your opinion on contributing to the core or documentation in my current state.
I can honestly say that you don’t have to be a super star to contribute. Find something or some project you are excited about and just play with it and learn about it. Chat on the Gitter channel to find things that need doing. It may take awhile to get the swing of it but you will learn plus you will meet nice people that hopefully you will meet in person some day at a meetup or conference. The Scala community from my perspective is great and welcoming.
Scala-Native and Scala.js both reimplement portions of Java standard library in Scala. This is done to make it easier to write portable Scala source code that compiles without modifications on Scala JVM, Scala.js and Scala-Native. Java’s standard library is documented well enough to be recreated just from the documentation, I guess, so you can try doing that.
Scala’s core libraries and compiler are rather complex. Scala’s standard library may be easy enough to use by ordinary Scala programmers, but e.g. collections’ hierarchy and encoding is very complicated.
One starting point is to contribute documentation to a project. This can be either into the ScalaDocs, or in the microsite. You will find that this is a point that main developers often overlook (because they are busy), they will often thank you for that, and you are unlikely to break anything.
If you are specifically interested on the Scala compiler, I can give you a few ideas and issues that should be rather easy to start contributing.