Some engineering teams have been piloting a weekly pulse survey. We are expanding this practice to all engineering teams. This page outlines the current method by which we have launched the weekly pulse survey to help other directors launch their own.
The dashboard includes a number of filters, including the engineering group (e.g. Configure, Monitor, Plan, etc) and the engineering team (backend, frontend, security, etc); survey results can also be aggregated to different levels (weekly, monthly, quarterly, or yearly) and the date range can be updated to reflect a specific time period.
This dashboard is auto-refreshed every Friday morning, though it can be refreshed at any time, by clicking the refresh icon in the upper right area of the screen.
The Director of Engineering - Ops sends out the weekly pulse survey through Google Forms. A template of this form can be found here. To start your own survey, make a copy of this form and follow on to the next steps. Tip: Create an email alias for the team members you would like to send the survey to. This insures that it only takes a few seconds to send the survey weekly. It is best to have a sheet per team reporting to the same manager.
The results are piped into a corresponding Google Sheet. For each Results sheet, a corresponding tab needs to be created in the sheetload.pulse_survey sheet in the Sheetload folder on Drive (Due to sensitive data, this is a limited access folder). The tab needs to be named
pulse_survey_configure_be for the backend Configure team. In that tab, go to spot A1; type
=importrange("urltoresultssheet"), "Form Responses 1!A1:D138"). After hitting enter, there will be an initial permissions error that can be solved by reselecting A1 and granting access. The four columns should then import. The columns should be the timestamp then each of the three questions. Do not edit any column names or results.
pulse_survey.pulse_survey_group_teamconvention (there are examples in the file.)
analytics/transform/snowflake-dbt/models/sheetload/base(location) following the naming convention of
sheetload_pulse_survey_group_team.sql; this is a pretty straightforward SQL file and should follow an existing example.
table_listlist set beginning on line 7 in
analytics/transform/snowflake-dbt/models/sheetload/xf/engineering_pulse_survey.sql(Location) to add the new dbt model; follow the existing syntax example of
ref('filenamewithoutthe .sql at the end').
After following these steps and getting the MR merged, these will get picked up on the next Sheetload and dbt runs. The Periscope dashboard can always be refreshed to reflect the latest information. New team names and group names will be auto-picked up by Periscope and can be used as filters.
Please share the results of the survey with your team member on a weekly basis. This ensures transparency as well as reinforces the value of this survey. It is important to note that a big element of this survey is providing a safe place for individuals to give feedback, express concerns or highlight an important point. The comment field should be private and only visible by the director administering the survey.