Hey, I'm a contributor to Mastodon and while I can only answer for myself, and not the project, here are my current thoughts:

* What aspects are currently priority for improvements?

I really want to see better authorization & authentication features across different instances. Right now, a really high priority feature for users is "Disable replies", but the way replies work, anyone can construct an activity that is set as "replying" to whatever posts they want to reply to, just by linking to those posts. Figuring out some way to "authorize" those replies (we have a few ideas, but need to work out a lot of the details) is important for us. Additionally, we've been thinking for a while about implementing more group-focused experiences, something kind of like old LiveJournal comms or the new Twitter Communities, and now that there are a few different projects looking into similar things, and we think it's an idea whose time has come. And of course, improving on-boarding and general user experience are always at the top of our priority list.

* What are lower priority problems or features that could be started now and worked on at a slower pace?

Interoperable clients. When the ActivityPub network was first envisioned, the idea was that servers would be completely generic, like email servers, and users could connect multiple different, opinionated "clients" to get different UI experiences of the same inbox. However, most of the current fediverse projects implement only the server-to-server federation experiences, and use more standard, domain-specific REST APIs for client communication. I think

* Where is a good place for someone with programming, networking, and/or engineering skills to start getting involved with development?

It depends on your inclination! My perspective is that you should always write code that you know you yourself are going to use, because that's the best way to ensure that you're going to stick to it long term.

As a more practical suggestion, https://blog.joinmastodon.org/2018/06/how-to-implement-a-bas... and https://blog.joinmastodon.org/2018/07/how-to-make-friends-an... are still the two best tutorials out there on how to implement the basic ActivityPub protocol.

* What can someone with little-to-no programming/networking or related "technical" skills do to further the development and uptake of decentralized social media?

Use it! Invite your friends to use it. There are lots of non-programming technical skills that are always in demand for these types of projects—UX, design, product management, support, fundraising, comms—but besides those the biggest way you can support decentralized social media is simply by using it! The more people who are part of the community, the more vibrant, stable, and welcoming its going to be for new members.

* Are there any suggestions for good reading on this topic, both technical and non-technical? Websites, books, people/groups to follow?

There's a lot of good writing out there, but it's hard to recommend anything that I would regard as really authoritative and summing things up. I think we're kind of in a place where we need less people writing about possible futures, and more people building them. As a comparison, you can write all you want about possible startups people could make, but the thing that's really valuable is going to be going out there and trying them. Execution, as always, is 99% of the game.