Thanks for applying to work on Buildbot!
We are looking for a number of things in your application:
- Intent - you should have a very specific project in mind, and be able to describe it in detail
- Ability - we need to know that you have the skills required to begin writing code early in the summer
- note: this does not mean you have to know *everything* already - learning new things is part of the program
- Track Record - you're promising to do a lot over the summer - what have you done before that you can show us?
- Interest - Buildbot's a very specific tool. Show us that you're interested in using it, by actually using it.
- Enthusiasm - there will be setbacks over the summer, and we want to know you'll keep at it
Remember, too, that your application is not all we look at when considering students -- if we have seen you participating in the community (IRC, mailing lists, bugs, and so on), then we will be much more confident in who you are and how you will fit into our group. It is to your benefit to discuss your application with us beforehand, and even send the project proposal and schedule to the mailing list for review. We are far more likely to hire a student we already know well, and who is already part of the Buildbot developer community.
With that said, here's a basic template for an application:
- IRC Nickname
- Your expected working hours (we will use this to try to match you with a mentor who is online when you are)
- What work do you plan to do?
- Why is this work important to Buildbot's users?
- How much time can you devote to your work on Buildbot on a daily basis? Do you have another summer job or other obligations?
- Do you have any other time commitments over the summer?
- What are the components of the project? Break the project down into as many components as possible.
- When will you *complete* each component? (you will be assessed based on this schedule, so be realistic)
- What experience and/or skills do you have that will be relevant to this project?
- Point us to other work you have done so that we can know what to expect. This can include code, bug reports, documentation, mailing list threads, etc. If you already have a Github, Bitbucket, SourceForge, or Ohloh account that points to your contributions, be sure to link to it.
- What is your work experience? Have you had an internship or full-time job before?
- What are you studying in school? How well are you doing?
- Explain why you are interested in Buildbot. Have you used it? If so, what were your experiences? Is there something you'd like to fix?
Disappearing Student Policy
Because students and mentors do not work in the same space, it is easy for us to confuse a quiet student with a student who has disappeared. We have the following policy:
When a student misses a scheduled meeting without any other communication, we will attempt to re-establish contact for a week, using all means available (generally limited to irc and email). If no contact is made for 10 consecutive days, the student will be failed at that point. We will inform students of this policy at the beginning of the program.
- Please indicate that you understand this policy, and tell us how we should get in touch with you if we have not heard from you.
Every year, we have many students apply to work on Buildbot, and we can only select a few. Here are some ways to stand out. In fact, all of these are great ways to stand out when looking for a job in software engineering, or even when looking for a promotion at a job you already have!
- Install Buildbot and play with it so that you know what it does.
- Do something small to help the project. That might mean editing a Wiki page or the documentation, reporting a bug, or even fixing something. The previous step (install Buildbot) will help you find things to fix. This shows that you're paying attention to details and interested in helping the project, not just getting a job.
- Get on the devel mailing list and ask questions or talk about what you've changed. This helps the other developers get to know who you are and what you're interested in.
- Attend our weekly Meetings, if they are convenient for your timezone, and participate -- the meetings are open to everyone with something to say.
- Find something you're interested in to work on. When you're interested in what you're doing, it will show, and other developers will know that you can be trusted to do good work because you care about what you're doing.