Hi Matt,
Thanks for reaching out - your course sounds like an exciting way to get real-world experience for your students and is something we'd love to help you where we can.

We certainly do have a backlog of low-priority work. While we do make some effort to flag "easy" issues, we don't really end up with many that truly are easy. As a result, I'd expect many of the items in that backlog probably aren't really suitable for somewhat "casual" contributors - but we'd be happy to help you determine what you think might be OK for your students to tackle.

This team has 2 broadly defined efforts which might be suitable:

* "Application Services" is our effort to implement syncing and Firefox Accounts related services for Firefox products in Rust, with the aim of using these components in all our mobile and desktop products. This work is done in https://github.com/mozilla/application-services, and interesting labels to get started with are "good-first-issue", "good-second-issue" and "cleanups"

* Sync/Firefox Accounts in Desktop Firefox. Desktop Firefox is our "bread and butter" and has a sync implementation written in javascript. It's pushing 10 years old so has a fair bit of cruft. Over the next few years we intend moving the rust components into desktop, but planning is just getting underway for that - and in the meantime we need to keep Desktop humming along. Issue tracking for this is done in bugzilla - see [1] for a very long URL :) We do have a keyword "good-first-bug", but there are only 2 bugs in that category. We consider any bug with a "mentor" set to be a "good second bug" - there are a handful of them - see [2]

Many of the issues you'll find will require a fair bit of context to make progress on, which may test the patience of both your students and you! However, if you have a poke around and can find some issues which you think are suitable, then we'd be happy to help support your efforts.

The other members of the team might have additional thoughts or ideas - hopefully they will chime in if they do!

Communicating with us via email is fine. While slack is probably better in many ways, there's a bit of a process involved - https://wiki.mozilla.org/NDA-Slack has some of those details. I guess it depends on how many hoops you are willing to jump through!

Let us know how we can help further.

Cheers,

Mark



[1] - all desktop sync and fxa bugs: https://bugzilla.mozilla.org/buglist.cgi?component=Firefox Accounts&component=Sync&product=Firefox&resolution=---&classification=Client Software&classification=Developer Infrastructure&classification=Components&classification=Server Software&classification=Other&query_format=advanced

[2] - desktop sync and fxa bugs with a mentor set: https://bugzilla.mozilla.org/buglist.cgi?list_id=14992010&resolution=---&classification=Client%20Software&classification=Developer%20Infrastructure&classification=Components&classification=Server%20Software&classification=Other&emailtype1=regexp&query_format=advanced&email1=.%2A&emailbug_mentor1=1&component=Firefox%20Accounts&component=Sync&product=Firefox


On 14/11/2019 9:49 am, Lang_Matthew wrote:
Hi Application Services team!

Elise Richards suggested that I reach out to you about a possible collaboration.

I’m a professor at Rhodes College: a small, selective, undergraduate-only 
institution. This coming Spring I’m teaching an upper-level software 
engineering course.

I’m curious whether your team would be interested in having my students 
contribute.

Ideally I would like to partner with a team that has a backlog of low-priority 
feature work, bugs, tech debt/janitorial work, etc and wouldn’t mind some 
attention to clearing some of it.

I want this to be as low-effort as possible on your engineering team; I would 
take responsibility of being a filter between students and you (to the degree 
you desire). I have experience in industry—I was at Google for 6 years prior to 
this fall, where I was TL of team building distributed data processing tools.

Let me know if this is interesting your team; if so, we can start talking. I’m 
happy to VC if you want to chat in person, otherwise email/IRC/Slack would be 
fine.

If we go forward, my goal would be to invest in ramping up to be a contributor 
over the next few months so that I am in a position to make sure your team’s 
velocity isn’t affected by interrupts.

Let me know if there’s any interest and any questions you have!

Thanks and best,

Matt Lang
Assistant Professor of Computer Science
Rhodes College



p.s., A little more info: My goal for the course is to have students come out 
of the course understanding the process and reality of real-world software 
engineering. I want my students to gain the process skills that are necessary 
for building real-world systems: deep debugging, integration challenges, 
testing and deployment, configuration management, etc.

The class is 25 juniors and seniors with C++ experience. I had a similar 
demographic in a distributed systems class and got them ramped up to Go pretty 
quickly; I would image that Rust wouldn’t be a barrier. I would be dividing 
them into groups and overseeing them, and would filter any interrupts that 
would come to you.

Here’s the course description if you are interested:

"The software systems we often find the most useful and magical are also the largest 
and most complex to build and understand. In order for these systems to be reliable, 
maintainable, and secure, they must be built according to disciplined and well-founded 
methods. This course examines these methods—both in the large (defining requirements, 
system design, architecture patterns, software process, etc.) and in the small (version 
control, testing, benchmarking, code review, etc.). At the same time, students will 
engage in the construction of a large software system or feature."
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev


_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev

Reply via email to