Hi,
my Android dev experience consists of a single school project back in the day before android studio existed, it populated a few menus dynamically from text files and displayed text/images.
I am a developer, but I write business software in a field that’s usually 10 years or so behind the bleeding edge.
I’d consider myself a power user of android, flashing roms or kernels isn’t new to me, but development is.
Jerboa is great already, but I see a lot of things that could be improved and many of them seem rather easy.
How much time would it take to get to a point where I could implement simple stuff, like adding an entry to the context menu of comments that lets me view the raw text?
It’s worth it to push yourself into learning new things for whatever reasons
I would argue that it’s worth learning Android development just to know it, for Jerboa or otherwise
Jetpack Compose (the UI framework) is pretty easy to learn IMO. If you are an experience dev it probably takes no more than one week for simple stuff :)
I figured it out in a couple days, but I’m pretty experienced with frontend frameworks. Kotlin is nice to work with, and I’m still learning new stuff stuff it, but I was able to fix a bug just a couple days after making an effort.
So I highly recommend going through Google’s Jetpack Tutorial and Kotlin’s tutorial, and then find a beginner friendly bug on Jerboa (they’re tagged).
It’s a pretty approachable project. There are parts that I dislike, but after trying for a few days, it starts to make a lot more sense.
Not everyone that tries this transition succeeds, but many do. Here’s a playbook for setting some milestones that are more granular than “develop a new feature”.
- Participate here and start answering questions. People with your background are often really good at debugging.
- File GitHub issues for big reports here. Watch the project for duplicate reports and link them to the first report so devs can easily close dupes.
- File new bug reports for issues you find. When you do this, read the code to see if you can find the file, function, or line of code where the problem resides. Experienced programmers often spend 90% of their time looking for the problem and 10% fixing it. If you can locate the fault and describe it, you’ve often finished the hard part.
- Checkout the GitHub repo. Try to run the test suite. Try to build the app. Sideload your own build onto your phone for testing.
- If the JavaScript language is still looking intimidating to you, crank through something like https://www.w3schools.com/js/js_examples.asp , doing bits of every section at least up to functions or events.
At this point, writing small features will feel natural. You don’t have to do everything in this list step by step, jump in wherever feels natural. But this is my zero to hero playbook when I want to get involved in a project that uses an unfamiliar language or otherwise feels intimidating to just drop a pull request into. Especially if you write software in some unpopular language, picking up a new language isn’t out of reach. How long it takes is up to you, it might be a fevered night of intense study, a week of focused spare time effort, or months of unstructured messing around. Those are all valid paths.
Never a bad idea to learn new things! I taught myself to write squirrel so I could mod titanfall 2, and am so glad I did. I’ve ended up making a lasting contribution that improved the game for everyone playing on the community servers.