Outreachy with Python
Outreachy is a program to help people from underrepresented communities get involved in free and open source software by providing paid internships and mentoring support. Python is participating after a long break since our last participation in 2014.
No students for December 2016 - March 2017
Alas, we were unable to find suitable students for this round (our top candidates turned out to be ineligible). We're currently regrouping and may try again next round depending on mentor availability.
Python is a popular high-level programming language. It is a general-purpose language used by scientists, developers, and many others who want to get things done quickly and effectively. In this spirit, many of our projects this year are about helping make Python faster! Python is a language that can be interpreted and implmented in different ways. The reference implementation of Python is CPython, so named because it's written in C. But it's not the only option! PyPy is an implementation of Python written in Python that prides itself on great performance. Jython is a Python implementation that compiles Python code to Java bytecode. IronPython is an implementation of Python for the .NET framework. And there are others.
Our projects this year include work on benchmarks (so we can see which interpreters are faster in which situations), improving the speed of PyPy based on existing benchmarks, and working on supporting tool JitViewer. Since most of the work will be done on PyPy and supporting tools, most of the code written will be in Python.
If you're part of a group that is underrepresented in open source communities and available for a full-time (40h/week) paid internship working on Python from December 6, 2016 and March 6, 2017, please consider applying by October 17th, 2016.
Ramya Meruva will be the primary mentor for this year's intern. She can be reached at email@example.com
- Monica Ene-Pietrosanu and Peter Xihong Wang are providing additional support
Terri Oda is providing organization admin help. She can be reached at TerriOda@gmail.com.
- James Lopeman (meflin) is providing IRC channel support and organization admin help.
Ramya has offered up 3 ideas that she's most excited about:
Develop a unified performance benchmark suite that’s acceptable for both Cpython & PyPy communities.
Analyze the GUPB(Grand Unified Python Benchmarks) for which PyPy’s performance is worse than CPython and see if there is any scope for improvement ( ex: try and replicate cpython methodology)
More details on these coming soon!
We'll only be able to take one Outreachy intern this year, so just choose the idea that seems most interesting to you.
Check the Outreachy Schedule for all the details
A few key dates:
October 17 - application deadline at 7pm UTC
November 8 - accepted participants announced at 4pm UTc
December 6 - March 6 - internship period
We're still working on the best places to chat and ask questions, but for now, we've got two irc channels set up:
#python-outreachy on irc.freenode.net (This is where most of the other python channels are)
- #python-outreachy on irc.gnome.org (this is where the outreachy help channel is)
Please join us there to chat with your fellow students and experienced mentors from similar programs! If you're new to IRC, you might want to check out http://www.irchelp.org/
And of course, you can reach Ramya, the primary mentor, directly at firstname.lastname@example.org
Please note that Python has a Community Code of Conduct and mentors and students working with the PSF are asked to abide by it as members of the Python community.
Not sure where to start? Since this year's ideas all touch PyPy, making sure you understand a bit about it and can at least run some tests is great way to warm up.
Getting Started Developing With PyPy will help you set up the tools you need to be a PyPy developer. Try to at least get to the point where you can run the tests, and make sure to ask for help if you get stuck!
Take a look at the PyPy benchmarks and the Grand Unified Benchmarks -- what can you learn about the performance of python? Can you run those benchmarks yourself and see if you get similar results? Try comparing your results to another applicant's and see if you both can learn!
Remember, Outreachy is meant to be a collaborative, friendly environment. You are encouraged to help out your fellow applicants and accept help from them too! And while it's good to try a bit to find answers to your questions on your own, please don't be shy about asking for help if it you get stuck for too long (say, an hour or a day).
Submitting your application
Read up on the application process on the Outreachy site (that link has answers to a number of common questions and tips on how to be awesome!) and then learn how to send in an application.
Remember that unlike other internships you may have applied for, Outreachy applications are meant to be a collaborative experience, so you should plan to talk to Ramya and try a small contribution before you apply so that you know if this is something you'll enjoy doing.
And please don't be afraid to apply! We know that people in underrepresented communities sometimes get hit especially hard with imposter syndrome and worry that they won't be good enough. But Outreachy isn't about finding the perfect canadidate for a job, it's about finding someone who's willing to learn and who could benefit from mentoring and more connections to the open source community. So please, we'd love to meet you, and we'd be happy to help you submit a super awesome application. You don't have to do it alone!