The support developers need - survey results and actions taken
Mon, 10-May-2021 by
**Author: Andrew Solomon.**
The Perl Foundation kicked off 2021 with a survey to find out how we (both the Perl Foundation and the broader Perl community) can make Perl more welcoming to beginners. In this blog we:
* Describe who responded to the survey.
* Summarise the types of support they need.
* Explain the work TPF is now undertaking to address these needs.
* Explain how you can help, and how the TPF can support you.
* A [link to the raw data](https://docs.google.com/spreadsheets/d/1tRd6nAscQjtZhg5ax9BY_wufP27oPvJREg6KgCKKM44/edit?usp=sharing) (minus email addresses).
## Who responded
Of the 513 respondents, 454 (88.5%) said they would welcome more support. For the purposes of this blog, we’re responding to their requirements.
60% of respondents had over 10 years of experience with Perl, while just over 20% had less than 2 years experience.
Respondents could select multiple descriptions of themselves. 70% would label themselves "software developers" while each of "hobbyists", "devops", and "system administrators" got more than 30%.
Almost 60% of respondents are developing Perl on their own while just over 20% are in a team of supportive developers with Perl experience.
Over 70% were coding in Perl several times per week.
## What they need
The results highlighted four key themes that require action:
* IDE ([Integrated Development Environment](https://en.wikipedia.org/wiki/Integrated_development_environment));
* CPAN recommendations; and
Ideally respondents want to be able to find answers to their questions by typing them into a search engine like Google. The fallback option is asking questions in a discussion forum.
### IDE (Integrated Development Environment)
Respondents want a modern IDE - not just Vim and Emacs which were common when Perl came about.
### CPAN Recommendations
Respondents want a "standard" set of modules to use for common application types. It's hard to know what's robust, well maintained and commonly accepted just by navigating [MetaCPAN](https://metacpan.org/) or doing a Google search.
Respondents want discussion forums to be polite, welcoming and supportive. They want to feel comfortable asking questions.
## TPF's response to addressing these needs
For technical content, Stack Overflow is like SEO on steroids. There are already a number of people in the community [answering Perl questions there](https://stackoverflow.com/questions/tagged/perl). If you're keen to help out, go ahead and answer questions. But for the most part, people don't ask - they just google [ed. that's "google" the verb] and hope to find the answer. A real contribution would be to add questions and their answers to Stack Overflow so that beginners can just search for them rather than struggle with articulating their problems. For an explanation of how Stack Exchange regards these activities, [see here](https://stackoverflow.com/help/self-answer). Apart from that, please just show your up-arrow approval of good questions and answers you find on Stack Overflow - it helps the beginners (and google search) work out which ones to focus on.
There is already [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) support for Perl - but feedback in the survey shows that we need a page on https://www.perl.org/ (regularly updated) which lists all relevant tools and puts them in context, whether they're being actively maintained, a brief summary of their functionality, and links to where you can learn more. [Here](https://github.com/tpf/grants-perlfoundation-org#a-regularly-updated-compendium-of-perl-ides-to-be-hosted-on-perlorg) are the requirements. If you'd like to bring it about, please apply for a TPF grant [here](https://www.perlfoundation.org/how-to-write-a-proposal.html).
A central part of Perl IDEs is the Perl::LanguageServer - with [a list of improvements and features](https://github.com/perl-foundation-outreach/gsoc-2021-ideas/blob/main/perl/LanguageServer.md) in need of a developer. If you’d be up for the challenge, please get in touch with the mentors who will help you put together a grant application.
### CPAN Recommendations
"There Is More Than One Way To Do It" (TIMTOWTDI, pronounced "Tim Toady") is at the core of Perl culture. First of all, TPF would like to encourage the community to keep blogging and lecturing about the good modules they have found in CPAN. This is supported by TPF and the wider Perl community through events and community groups.
After many discussions on how to ensure the "right" CPAN modules show up in search engine results, we realised both the decision of the content and the page ranking is in the hands of the whole community. To make this easier for everyone to get involved, we've put together instructions on helping Google's search engine give people the most useful links. [Please throw your weight behind this with your own set of links!](https://andrewsolomon.github.io/influence-google-search-results.html)
It has been known for some time that there are some issues in this area. TPF's Community Affairs Team (CAT) was established to create a safe environment for participants in TPF spaces (online or in person) where everyone can participate. It also aims to protect and uphold the reputation of The Perl Foundation as well as the Perl and Raku community. The CAT is putting together a carefully articulated Code of Conduct, a team to administer it and a charter of their roles and responsibilities.
## I want to help - where do I start?
We need you - the experts - to start chipping away at the epics above, doing the bits for which you have something to contribute.
Throughout the community, there has been a great deal of interest in addressing the needs highlighted by this survey. However, for the majority of community members who haven't been undertaking these activities in the past, it's been unclear how to get the support needed to achieve these goals.
In response to this observation, Jason Crome - organizer of the TPF's Grants Committee - has put together a clear explanation of how to go about [proposing a project and applying for funding](https://www.perlfoundation.org/grants.html).
For the urgent items, perhaps TPF should send out a Request for Proposals?
> A central part of Perl IDEs is the Perl::LanguageServer
This is not true for Intellij products plugin, it works by itself. Also not sure about vim support. These are all pre-VSCode and some of them pre-lsp IDEs and Editors.