While this is possible, there are a few things to consider:
Disclaimers aside, probably the first thing you should do is download the staff client and connect to one of the demo servers. There is documentation and tutorials. Play around and see if it might work for you. For running your own server, check out the download and installation instructions.
Evergreen 2.1 and earlier (circa 2011):
The current OPAC makes heavy use of Javascript (including AJAX) and XML/HTML/CSS. A newer OPAC in development will be moving away from Javascript and toward Perl Template Toolkit for server-side processing. There's also some XSLT being used in places. The current staff client uses the same sort of technology as the current OPAC, but also throws in Mozilla specific technologies such as XUL and XPCOM, and a Javascript library called Dojo. The Evergreen middle layer uses a lot of Perl for the business logic, but also uses C for some services and infrastructure. Certain obscure components revolving around Evergreen may also use Python and Ruby. At the database level we're using PostgreSQL, including stored procedures (in PGSQL, SQL, and Perl) and triggers. Understanding MARC can also be helpful.
See the page for developing code.
The former. There are just a handful of "core" developers that have deep and wide understanding of Evergreen, and they funnel contributions from others in the development community into what becomes the "official" Evergreen. People with different skillsets are found in that dev community; some are expert programmers just learning Evergreen, others are novice programmers helping out with bite-sized problems, and yet others help out in ways not involving "coding" at all, whether with IT expertise, library domain knowledge, testing, documentation, leadership or advocacy (for whatever goal).
Would you be able to recommend a path to start learning more?
A disclaimer: you don't have to be a programmer or have programming staff to use Evergreen, and there are other avenues for getting customization done (such as hiring folks, or an Evergreen company, within the community to do work for you, or contributing in other ways such that folks want to help you in kind–even simply opening bug reports can instigate change). In general, we like to encourage adoption of useful features into stock Evergreen as opposed to encouraging local customizations that never leave their original libraries (and for changes that don't or won't make it into Evergreen proper, it's still useful to sharethem with others).
That said, probably the best thing to do is to start by installing Evergreen (a useful learning experience in and of itself). That can be found here: http://evergreen-ils.org/downloads.php
Play with the software in the roles of admin, staff, and patrons, and find something that gives you an itch to fix or improve. Create a Launchpad ticket describing the problem and mention that you plan on working on it (assign it to yourself). Then ask folks on the OPEN-ILS-DEV mailing list, or on the #evergreen IRC channel, how you might do that. Folks may point you to the exact file that you'd want to tinker with, and give you pointers on how to test changes. You don't have to be a master of Perl or Javascript before you dip your toes in the water, but some familiarity with programming in general won't hurt.
If you need to remain anonymous (maybe for fear of retaliation from your current library vendor), there are ways to do that and still participate in the community. You can ask at feedback@evergreen-ils.org for advice in that regard. In general though, it'd be nice if you just said Hi and introduced yourself on the dev mailing list and/or in IRC.
Launchpad is our public bug tracker; you'll want to create an account for it: http://launchpad.net/evergreen
Our mailing lists can be found here: http://evergreen-ils.org/listserv.php
Information on the IRC chat here: http://evergreen-ils.org/irc.php