Difference between revisions of "GSoC Skills"

From Audacity Wiki
Jump to: navigation, search
(Retain more of original sense.)
(Hb->Hub.)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
For nearly all Audacity Google Summer of Code project ideas, wxWidgets and C++ programming are essential. The project makes extensive use of CVS, mailing lists and MediaWiki, so students will need to get to grips with these. Some projects need additional skills too.
+
{{GSoC_Header|This page outlines the technical and other skills required by our GSoC students. Suitably qualified applicants are then rated according to certain [[GSoC Selection Criteria|selection criteria]]}}
 +
  
Students who show that they have experience with wxWidgets will generally be at a considerable advantage to those who don't.  Whilst Audacity is cross-platform, it isn't necessary to have programming experience on all three platforms (Windows, Mac, Linux/Unix), but some familiarity with all three will make things go more smoothly.
+
__TOC__
  
=Difficulty of Projects=
 
  
We have rated the GSoC projects 'Easy', 'Moderate' or 'Hard'. We want to ensure that students do a project that matches their experience and ability. We're more concerned with having a successful outcome than getting the most technically challenging problems tackled.  If a very experienced student wants to do an 'easy' project, but add to the spec to make it more challenging for them, then that's fine by us.  If a fairly new student can see a way to simplify a 'Hard' project so that it's a realistic goal for them, we'd be delighted.
+
==Developer Skills==
 +
 
 +
For nearly all GSoC project ideas, '''[http://www.wxwidgets.org/wxWidgets wxWidgets]''' and '''C++ programming''' are essential. Students who show that they have experience with wxWidgets will generally be at a considerable advantage to those who don't. Some projects need additional skills too. Audacity makes extensive use of GitHub, mailing lists and MediaWiki, so all students will need to get to grips with these.
 +
 
 +
Whilst Audacity is cross-platform, it isn't necessary to have programming experience on all three platforms (Windows, Mac and Linux/Unix), but some familiarity with all three will make things go more smoothly.
 +
 
 +
We expect students to have compiled Audacity from our GitHub development code, and to have made some simple change to the code to get familiar with the code they will be changing, before they will be considered. See [[GSoC_FAQ#What should students have done before they will be considered?|this FAQ]] for details.
 +
 
 +
 
 +
==Difficulty of Projects==
 +
 
 +
We want to ensure that students do a project that matches their experience and ability. We're more concerned with having a successful outcome than getting the most technically challenging problems tackled.  If a very experienced student wants to do an 'easy' project, but add to the specification to make it more challenging for them, then that's fine by us.  If a fairly new student can see a way to simplify a 'Hard' project so that it's a realistic goal for them, we'd be delighted.
  
 
We'd like to get the matching right so that:
 
We'd like to get the matching right so that:
* Students are tackling problems they have excellent prospects of completing.
+
* Students are tackling problems they have excellent prospects of completing  
* Students enjoy the challenge and get experience and real satisfaction from it, and not just the stipend from Google.
+
* Students enjoy the challenge and get experience and real satisfaction from it, and not just the stipend from Google
 +
 
 +
 
 +
==Communication Skills==
  
=Communication=
+
Good communication skills, being ready to pick up relevant points from related development issues, and clearly and concisely getting your own point across, are important. 
  
We don't demand a daily blog or endless status reportsWe do want to know what is actually going on, and if there are problems, to know them early.  We need to be confident that if there are problems with your mentor, or if CVS won't accept any of your check-ins, that you will get this across to us.
+
We ''do'' require as a minimum '''weekly status e-mails''' to [email protected], once coding startsThis goes for both mentor and student alike. In practice, you'll be in contact much more oftenSee our [[GSoC_Student_Guidelines|GSoC Student Guidelines]]. We must know how your work is progressing over time. If there are problems with your mentor, or if GitHub won't accept any of your check-ins, we need to know that you will communicate this to us promptly.  
  
Our current plan is to have a weekly IRC meeting on Fridays during the GSoC period [Time(s) to be announced].  All students involved will be expected to sign into that, or to have made other arrangements with their mentor.
 
  
  
 
[[Category:GSoC]]
 
[[Category:GSoC]]

Latest revision as of 13:56, 18 March 2021

Google Summer of Code (GSoC) is Google's program for promoting Open Source Software development. Audacity was a mentoring organization for five students for Google Summer of Code 2008, and mentored two students in 2009. This page outlines the technical and other skills required by our GSoC students. Suitably qualified applicants are then rated according to certain selection criteria.
For information about our future plans and about Audacity software development, please join our developers mailing list
 
Related article(s):



Developer Skills

For nearly all GSoC project ideas, wxWidgets and C++ programming are essential. Students who show that they have experience with wxWidgets will generally be at a considerable advantage to those who don't. Some projects need additional skills too. Audacity makes extensive use of GitHub, mailing lists and MediaWiki, so all students will need to get to grips with these.

Whilst Audacity is cross-platform, it isn't necessary to have programming experience on all three platforms (Windows, Mac and Linux/Unix), but some familiarity with all three will make things go more smoothly.

We expect students to have compiled Audacity from our GitHub development code, and to have made some simple change to the code to get familiar with the code they will be changing, before they will be considered. See this FAQ for details.


Difficulty of Projects

We want to ensure that students do a project that matches their experience and ability. We're more concerned with having a successful outcome than getting the most technically challenging problems tackled. If a very experienced student wants to do an 'easy' project, but add to the specification to make it more challenging for them, then that's fine by us. If a fairly new student can see a way to simplify a 'Hard' project so that it's a realistic goal for them, we'd be delighted.

We'd like to get the matching right so that:

  • Students are tackling problems they have excellent prospects of completing
  • Students enjoy the challenge and get experience and real satisfaction from it, and not just the stipend from Google


Communication Skills

Good communication skills, being ready to pick up relevant points from related development issues, and clearly and concisely getting your own point across, are important.

We do require as a minimum weekly status e-mails to [email protected], once coding starts. This goes for both mentor and student alike. In practice, you'll be in contact much more often. See our GSoC Student Guidelines. We must know how your work is progressing over time. If there are problems with your mentor, or if GitHub won't accept any of your check-ins, we need to know that you will communicate this to us promptly.