# Getting started

By coincidence, in a couple of different places over the last couple of weeks, the subject of *"how do I progress in leaning to program?"* has cropped up. For me, I think the approaches and solutions tend to be the same for when I want to get my head around a new language: read good examples of idiomatic code, read other related materials, find a problem you care about and implement a solution (ideally something you'll directly benefit from, or at least others may benefit from). Hence the [5x5 puzzle and Norton Guide reader projects I mentioned in my previous post](https://blog.davep.dev/going-on-a-journey-ck2t3kupd00qij1s151ipj14j).

Of course, not everyone has problems that they need solving in a way that would work for this approach. So another approach I've recommended in the past is to go looking on somewhere like GitHub and find projects that promote "low-hanging fruit" issues in a way that's designed to be friendly for those who are new to development, new to contributing or new to the problem domain.

While looking for examples of this yesterday I stumbled on [*Awesome for Beginners*](https://github.com/MunGell/awesome-for-beginners). This looks like a great list and one I'm going to keep [bookmarked for future reference](https://pinboard.in/u:davep/). Now, this particular list does seem to have an emphasis on [pulling in people who are new to contributing to a project](https://github.com/MunGell/awesome-for-beginners/issues/215) rather than new to development, but it does strike me as a good place to start looking no matter where you're coming from.

I know I'm going to start having a wander around that list. It's always nice to contribute and I feel there's real personal benefit in actively solving a problem that someone else has and welcomes help with.
