Differences between revisions 8 and 26 (spanning 18 versions)
Revision 8 as of 2014-03-03 10:33:32
Size: 6006
Comment:
Revision 26 as of 2015-05-27 12:28:13
Size: 5194
Comment: Clarify how to handle filled job postings.
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The Python job board was run by single volunteers for many years. Since the job board activities have significantly increased in recent years, and the last Chris Withers, who ran the board in the years 2010-2013, left the project, the PSF would like to relaunch the project using a team of volunteers.

At the same time, we'd like to move the job board from the legacy site to the new relaunched http://www.python.org/ Django based site.
This page describes the PSF Python Job Board which is run by volunteers to provide the Python community with an important resource to find jobs where they can use Python.
Line 9: Line 7:
== Old job board process ==

''Please note that this description may not be completely correct. It just describes the process based on the how-to document. ''

Job submissions were processed using email, a ReST template and a page in a subversion repository.

 1. Job submitters created a job posting based on the template listed on the [[http://legacy.python.org/community/jobs/howto/|Job board how-to page]]
 2. Submissions were checked against a list of quality criteria
 3. Submissions which needed refinement were sent back with a notice of what to fix
 4. Good submissions were added to the job page in order of submission date (in most recent first order)

Page cleanup:

 * entries older than three months were regularly removed
 * filled positions were removed upon request by the job submitter

== New job board process ==

''Please note that this process is just a sketch. It may well change and get more refinements in coming weeks.''
== Job board process ==
Line 31: Line 11:
 1. Job submitters log in to the website (after having registered for an account)
 2. Submitters create a job posting record
 3. Submissions are checked against a list of quality criteria by the reviewers
 3. Submissions which needed refinement are flagged and an email is sent back to the job submitter asking for changes
 1. Job submitters [[https://www.python.org/accounts/login/?next=/jobs/create/|log in to the website]] (after having registered for an account)
 2. Submitters [[https://www.python.org/jobs/create/|create a job posting record]]
 3. Submissions are checked against a list of quality criteria by the reviewers using the [[https://www.python.org/jobs/review/|review panel]]; see the [[/Reviewers]] page for details on the review process
 4. Submissions which need refinement are rejected together with a note mentioning the reason for rejection (using the "review" button on the review panel).
Line 37: Line 17:
Questions: Job postings are automatically unlisted after 90 days. They can also be removed or archived manually using the Django database interface by setting the job listing status setting to ''removed''.
Line 39: Line 19:
 * How to inform the job submitters of problems with their submissions ?
 * Should we have 1 person or 2 person reviews ?
Remarks:
Line 42: Line 21:
Possible solutions for questions:  * Submissions which have problems could also be refined directly in the system by the submitters, provided they created it while being logged in. The review page doesn't show this status, though, so it's probably better to go with the rejection procedures for the time being.
Line 44: Line 23:
 * The submission could be like a blog post, that way, the submitter could edit the submission while it's not published and leaving the team members to comment on the submission (alerting the submitter of any comments) regarding problems with the submission.
 * The submitter could also tick a checkbox to delete his submission.
 * Reviews by multiple persons would need to be coordinated, since the system does not provide this functionality. For the time being, it's better to have one person do the review.
Line 47: Line 25:
To be clarified: == Project organization ==
Line 49: Line 27:
 * Exact status workflow of job submission records
 * Classification of job submissions (there are multiple categories available)
 * Quality criteria
 * Team member assignments to the review process (e.g. by category)
 * Porting the existing job board submissions into the new site's database
The job board team has decreased a lot due to the long project run time. We will launch with a small team of reviewers:
Line 55: Line 29:
What we need:  * [[/Reviewers]] - team members who review job postings
Line 57: Line 31:
 * team members who can help refine the job board Django app (good Django skills are necessary)
 * team members who regularly log in and review postings
 * team members who can help interface to the Django site maintainers, e.g.review and process pull requests, issue tickets in case of problems with the site
 * team members who lead the groups and signal problems to the PSF board, should any arise
 The review process is also described on the above page.
Line 62: Line 33:
== Jobs app design == Issues we find are posted to the [[https://github.com/python/pythondotorg/issues|python.org site's issue tracker]]
 and tagged with "job board". The issues are then either worked on by the PSF contractors assigned to the python.org website project, or volunteers who want to help.
Line 64: Line 36:
The jobs Django app is already available, but not yet complete. The job board team itself will not focus on the development anymore for the time being.
Line 66: Line 38:
To get it to a usable state, we'll have to work some more on the code and the templates. Here's what we need to do: == Mailing list ==
Line 68: Line 40:
 * review the existing app
 * come up with user stories to define the workflows and UI
 * open tickets and implement the changes necessary to make those user stories work

Please run reviews of the existing app and post them on the review page:

 * [[/Jobs App Reviews]]

We collect user stories on this page:

 * [[/Jobs App User Stories]]

== Project Mailing List ==

The project is run using a mailing list dedicated for the team:
The volunteers use a mailing list to coordinate:
Line 86: Line 44:
The list gets all email sent to jobs@python.org. The old process used this email address for job submissions. The new process will use a web form based approach instead. The list gets all email sent to jobs@python.org. In the previous system, job postings were sent in via email. This is no longer necessary and new submissions should only be done via the [[https://www.python.org/jobs/create/|web interface]].

The jobs app will send notification about new postings to this list, so that reviewers get notified of new submissions.
Line 90: Line 50:
Here's the mailing list archive with our current job submission backlog: Here's the mailing list archive:
Line 94: Line 54:
The last processed job submission is dated 12-Feb-2014. == Relaunch Project ==

In the years before the relaunch, the jobs board was run by single volunteers. Since the load had increased a lo and the last volunteer, Chris Withers, had left the project, the PSF wanted to replace the jobs board with a team of volunteers using a database driven integrated jobs app.

From 2014 to 2015, a team of volunteers worked to relaunch the job board using a jobs app on the new python.org website (which was launched in 2014).

The relaunch project page is still available: [[/Relaunch Project]]
Line 98: Line 64:
=== New job board === === Production ===
Line 100: Line 66:
 * [[http://www.python.org/newjobs/|New job board]] ''Note: The jobs app used to run under the temporary URL /newjobs/ during development. This has now been changed back to /jobs/.''
Line 102: Line 68:
 This is a temporary location of the new Python job board, run using Django and backed by a database.  * [[http://www.python.org/jobs/|Job board jobs listing]] on the production site.
Line 104: Line 70:
 * [[http://www.python.org/jobs/|New job board]]  * [[http://www.python.org/jobs/review/|Job board review panel]]
Line 106: Line 72:
 This will be the production location of the Python job board.  This allows reviewing new job postings.
Line 108: Line 74:
 '''Note: At the moment this still redirects to the legacy single page job board.''' === Staging ===
Line 110: Line 76:
=== Old job board === ''Note: The jobs app used to run under the temporary URL /newjobs/ during development. This has now been changed back to /jobs/.''
Line 112: Line 78:
 * [[http://www.python.org/community/jobs/|Job board listing ported from the legacy site]] The staging system can be used to check new developments.
Line 114: Line 80:
 This is a single page which has to be manually maintained via the Django admin interface.  * [[https://staging.python.org/jobs/|Staging system implementation of the new job board]]
Line 116: Line 82:
 * [[http://legacy.python.org/community/jobs/|Legacy job board site]]  This runs a copy of the production database on the master branch of the python.org repository and is updated frequently.
Line 118: Line 84:
 This page was manually maintained through the Subversion repository which runs the legacy website.  * [[http://staging.python.org/jobs/review/|Staging system job board review panel]] on the staging site.
Line 120: Line 86:
 * [[http://legacy.python.org/community/jobs/howto/|Job board how-to explaining the process that was used for the legacy site]]
Line 124: Line 89:
 * [[https://www.python.org/admin/|Django admin interface of the new site]]  * [[https://www.python.org/admin/|Django admin interface of the python.org site]]
Line 132: Line 97:
 * [[https://github.com/python/pythondotorg|Github repository of the new site]]  * [[https://github.com/python/pythondotorg|Github repository of the new site]] (includes the jobs app)

PSF Python Job Board

This page describes the PSF Python Job Board which is run by volunteers to provide the Python community with an important resource to find jobs where they can use Python.

Job board process

Job submissions are entered into a web form, the form creates a database record which is then used for review. After approval the Django site will then list the submissions automatically.

  1. Job submitters log in to the website (after having registered for an account)

  2. Submitters create a job posting record

  3. Submissions are checked against a list of quality criteria by the reviewers using the review panel; see the /Reviewers page for details on the review process

  4. Submissions which need refinement are rejected together with a note mentioning the reason for rejection (using the "review" button on the review panel).
  5. Good submissions are approved and then automatically listed on the job board page in order of submission date (in most recent first order)

Job postings are automatically unlisted after 90 days. They can also be removed or archived manually using the Django database interface by setting the job listing status setting to removed.

Remarks:

  • Submissions which have problems could also be refined directly in the system by the submitters, provided they created it while being logged in. The review page doesn't show this status, though, so it's probably better to go with the rejection procedures for the time being.
  • Reviews by multiple persons would need to be coordinated, since the system does not provide this functionality. For the time being, it's better to have one person do the review.

Project organization

The job board team has decreased a lot due to the long project run time. We will launch with a small team of reviewers:

  • /Reviewers - team members who review job postings The review process is also described on the above page.

Issues we find are posted to the python.org site's issue tracker

  • and tagged with "job board". The issues are then either worked on by the PSF contractors assigned to the python.org website project, or volunteers who want to help.

The job board team itself will not focus on the development anymore for the time being.

Mailing list

The volunteers use a mailing list to coordinate:

The list gets all email sent to jobs@python.org. In the previous system, job postings were sent in via email. This is no longer necessary and new submissions should only be done via the web interface.

The jobs app will send notification about new postings to this list, so that reviewers get notified of new submissions.

If you want to help in the job board team, please write to jobs@python.org.

Here's the mailing list archive:

Relaunch Project

In the years before the relaunch, the jobs board was run by single volunteers. Since the load had increased a lo and the last volunteer, Chris Withers, had left the project, the PSF wanted to replace the jobs board with a team of volunteers using a database driven integrated jobs app.

From 2014 to 2015, a team of volunteers worked to relaunch the job board using a jobs app on the new python.org website (which was launched in 2014).

The relaunch project page is still available: /Relaunch Project

Resources

Production

Note: The jobs app used to run under the temporary URL /newjobs/ during development. This has now been changed back to /jobs/.

Staging

Note: The jobs app used to run under the temporary URL /newjobs/ during development. This has now been changed back to /jobs/.

The staging system can be used to check new developments.

Web site administration

Web site code base

PSF Python Job Board (last edited 2015-05-27 12:28:13 by MarcAndreLemburg)

Unable to edit the page? See the FrontPage for instructions.