Remember: your work is good!

September 27, 2026

I wrote back in late 2024 about the open source philosophy of p5.js: it aims to not just be a tool you use, but a tool you feel empowered to help shape and maintain, and a community to help you do so. Many decisions about how p5 is run are shaped by that idea. Now, it's fall 2026, and the world has shifted around us a lot. While I strongly feel that p5.js has not changed its stance, it is only natural that the lens from which people look at p5 has changed. I wanted to get some thoughts out about that.

p5.js is still made by you

A primary goal is still for everyone to feel like they can get involved. Decisions are not made top-down. Changes in 2.0 began from community proposals and were accepted after significant community discussion. Everyone is encouraged to share ideas and help balance the needs of keeping a consistent, succinct core while adapting the library to stay helpful with people's changing needs. While I certainly wouldn't call the implementation of code easy, I would still describe this community process—figuring out what needs to be made and what its shape needs to be to have a sustainable future—as the hard part. You can't rush social consensus, and arguably you can never do it quite perfectly either!

And we need all the help we can get. Code is just one of many types of contribution that we value. If you get excited about a thing you can almost do and can see a path towards being able to do it, let us know. If you are teaching and see a rough patch that always trips people up and have ideas for how to improve it, let us know. If you are doing something interesting with our tools, let us know.

We still hope to be a place where you can learn to contribute and grow throughout that process. If you do one type of contribution and want to try something a bit beyond your comfort zone, we will be patient with you and help you along. Our goal is to grow you so that you can confidently take on those tasks, and eventually help others do the same. But everyone will go through a phase where they do not have that confidence yet! Which brings me to the next point.

Your contributions are good as they are!

You do not need to be a perfect contributor. You do not need to write expert-level code on the first try. You do not need to perfectly communicate in The Queen's English. You do not need to have a full understanding of the codebase. You do not need to have anticipated every problem ahead of time. You do not need to feel fully satisfied with the work you show.

It may feel uncomfortable to take this leap of faith but you should try to contribute anyway. To reiterate: our goal is to help grow you. It's a process, and we will help walk you through it. No one expects your work to be immediately perfect, and we will help expose you to more parts of the code or to other use cases you haven't thought of, help explain how bits of p5 work, help get other people thinking about your ideas and giving their feedback.

There is a really strong incentive to over-rely on AI tools to avoid that initial discomfort, but it would be doing yourself a disservice to do so. This is not a post telling you to never use AI tools, but this is a post reminding you that our expectations of you have not changed due their proliferation. What we really value in the long run is the existence of more thoughtful humans engaged with our tool and its community. That is forged by your time spent being imperfect but present.

p5.js and your career

If you are young and have not yet heard Ira Glass talk about the gap between your taste and your abilities at the start of your career, do yourself a favour and listen to him talk about it. Although you may not feel it by reading your typical LinkedIn post, you are not alone. We are happy to have p5 be a step in your journey to close that gap.

My one word of caution is that while the above is true, p5 also has no obligation to give you a line on your résumé. If it feels like a user is not trying to work with the community, but is instead trying to just some code merged, we may not keep engaging with them. Community time is voluntary, valuable, and consequently sacred, so we will try to protect it from bad-faith actors.

If you do engage, we hope it will be a fulfilling experience, give you insight into how to think about long-term software development, and help you pick up skills along the way.