Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview

This document outlines how to write a job description for co-ops.

Job Descriptions

Job descriptions on Waterloo Works are divided into three sections: Job summary, Job Responsibilities, and Required Skills. When hiring a co-op, it is important to convey an accurate description of the responsibilities and requirements. Avoid unnecessary detail. Keep it to the point and succinct. Each section should contain the following information. Examples can be found in Appendix 1here: Co-op Job Listings

Ensure you mention that the role is unpaid at the very top of the posting.

Template

Copy-paste this and write in the table.

Job Summary

  • Should emphasize that the role is unpaid. 

  • Provide an overview of what WARG does as a whole

  • Provide an overview of what the hiring sub team's responsibilities are within WARG

Job Responsibilities

  • Potential projects

  • Day-to-day tasks (i.e. documentation, CAD’ing parts, etc)

Required Skills

  • Skills, Languages, Software, Version Control, etc.

  • Mention “Passion for aviation”

Resume Selection:

  • Sub-team leads create a group to select resumes 

  • Groups will have access to a private chat in which all co-op discussion should be contained (this will prevent breaches of privacy)

  • Recommended that at least two people look at each resume 

  • Select a reasonable amount of people to interview

  • What to look for in resumes:

    • Projects and/or experience in tools/languages used by sub-team

    • Passion/interest in aviation

    • Attention to detail and care (good formatting, etc.)

  • Take note of poor performance in courses that are relevant to the subteam (ex. Poor performance in a C++ course for the embedded subteam) 

Interviews:

  • Recommended that interviews should be no longer than 45 minutes

  • Recommended that two people attend each interview, one taking notes (indicate who took the notes tho) and one asking questions.

    • Note that if different pairs of people are used for interviews, a rubric for interviews should be made in order to evaluate each candidate holistically as it may be hard to compare candidates who were interviewed by different people.

  • Recommended that interviews incorporate a technical question to test proficiency in tools/languages used by the subteam

    • i.e. A coding challenge/mechanical/electrical equivalent.

  • Questions should be used to gauge:

    • Interest in WARG

    • Passion for engineering and aviation

    • Experience using tools/languages used by subteam

    • Strength of teamwork, individual learning, etc. 

    • Any other character traits the team lead finds important. Lots of flexibility here!

  • Try to finish all interviews within a week

  • Can ask about poor performance in relevant courses if applicable 

Selection:

  • Decisions should strive to be unanimous with the subteam lead’s final approval

  • All people who interviewed should gather in a meeting (could be a Tuesday or Thursday general meeting) to share notes and observations.

    • Candidates should be ranked in case the top choice declines. 

  • Strive to make a decision within a week of completing interviews  

Conflict of Interest:

  • If an individual helping assist in the co-op search feels as though they have a conflict of interest, they should inform the individuals assisting the co-op search and team lead.

    • Ex: Involved together in another organization, friends outside of school, etc.

    • Good rule of thumb is: “Do I have their contact on something outside of LinkedIn”?

  • Involved parties should not be scheduled the same interview to maintain objectiveness 

  • Involved member may provide a balanced evaluation, but should not contribute in ranking the individual

  • Undisclosed conflict of interest

    • Involved member will be removed from the co-op search effort

    • Candidate will be dealt with on a case by case basis

Edge Cases:

  • WARG member applying for co-op positions 

    • Cannot be on the team during the same term that the team is hiring (ex. If the team is hiring in Winter for the Spring term, the candidate cannot have been a part of WARG during the Winter term) 

Appendix 1: Old Job Posting Examples

Embedded Example

Job Description:

This position is unpaid.

The Waterloo Aerial Robotics Group (WARG) is an engineering student design team at the University of Waterloo. Our mission is to design and build autonomous aircraft with surveillance capabilities for the Unmanned Systems Canada Competition. The competition entails locating the position and/or volume of ground targets with accuracy. Thus, our aircraft must be capable of tasks such as flight stabilization, navigation, and visual recognition among others.

The embedded team at WARG is responsible for designing all aspects of our aircraft’s autopilot, from sensor drivers all the way to autonomous landing systems. Composing of passionate students, the team is constantly striving to push the capabilities of our existing systems while also creating a supportive team environment that is conducive to learning. As a co-op student on the WARG embedded team, you will work with fellow team members on various projects as you build your skills in designing, implementing, and testing C++ code. 

This position is entirely remote. 

Job Responsibilities:

  • Lead the design and implementation of projects to improve and expand the capabilities of our Autopilot software. 

  • Work in close partnership with other embedded team members

  • Write unit tests using Google Test

  • Write and maintain documentation using Confluence

Required Skills:

  • Experience using C or C++

  • Experience using Git 

  • Passion for aviation

  • Desire to learn

  • Preferred skills (but not required):

    • Experience with embedded and/or firmware development

    • Experience using testing suites

    • Experience working on larger code bases 

Mechanical Example

Summary: Unpaid mechanical co-op position for the Waterloo Aerial Robotics Group (WARG). The main focus will be helping the mechanical team design a custom RC-plane airframe as well as some manufacturing in the machine shop and 3D printing.

Responsibilities:

  • Work with mechanical sub team to design necessary parts of airframe in Solidworks, could include: airfoil/wings, controls, landing equipment, camera gimbal and more

  • Prototype different parts of the aircraft using 3D printer (Prusa Mark 3)

  • Wing construction with shop equipment

  • Research into unmanned ground vehicles?

Required Skills:

  • Passion for aviation

  • CAD experience, ideally Solidworks

  • Ability to learn and research independently and good communication

  • Able to work on-campus (as is allowed with covid restrictions)

Preferred Skills:

  • Aerodynamics/flight knowledge

  • 3D printing knowledge

  • Experience with RC aircraft

  • Experience with Ansys.

Computer Vision Example

The Waterloo Aerial Robotics Group (WARG) is an engineering student design team whose mission is to develop Unmanned Aerial Systems (UAS). WARG’s goal is to develop fully autonomous aircraft, which from takeoff to landing require absolutely no pilot control. The UAVs become autonomous to an extent where the aircraft can be controlled by a simple click on a map, or a touch on a smartphone. Complete paths can be created, altered, and  uploaded midflight in order to change the UAV's course of action. We aren’t quite there yet, and that’s why we need you!

WARG is ramping up for the 2021 Unmanned Systems Canada (USC) Student UAS competition, with the objective of simulating unmanned medical transport. You’ll be working on automated landing, geolocation, tracking and QR Identification with a dynamic team. Because we’re a software team, this role is completely remote and being in-person is not a requirement.

As a computer vision developer co-op, you’ll be working on every aspect of designing, developing and deploying a computer vision system from data ingestion to sending autopilot commands. Our system is still in its infancy, but we’ve got a solid roadmap and good foundations, we just need someone like you to help us tackle problems and build solutions. This will include data pipelines from our DeckLink video capture system, our YOLOv2 Neural Network, an object geolocation system, an API layer to send our results to the lovely autopilot system, and all the bells and whistles in between. This all takes some research, so be ready to read and learn. If you’re comfortable with Python, love solving new problems, have an understanding of machine learning concepts, and know how to Google effectively, we’d love to have you onboard at UWARG Computer Vision.

Required Skills

  • Familiar with Python or any other object-oriented, high-level language like Java, C#, JavaScript (so we’ll have an easy time converting you).

  • Familiarity with object-oriented concepts, such as classes, objects, encapsulation, interfaces and representing real-world systems with objects. 

  • You know how to turn a problem into a solution, and turn the solution into code.

  • Strong communication skills, capable of staying in touch, contributing to technical discussion and asking questions. 

  • A drive to learn, design teams are all about growth, and we want someone serious about growing their skills, technical or otherwise, at WARG.

Preferred Skills

  • Understanding of Machine Learning, specifically neural networks, especially convolutional neural networks. Can you talk me through how a neural network trains, without all the math? Bonus points if you can tell me how a ConvNet learns from images.

  • Understanding of computer video and image processing. Can you tell me how a computer stores images? 

  • Familiarity with OpenCV, Tensorflow/Keras and NumPy. 

  • Previous projects or experience in developing tools, utilities, or apps in Python. 

For more information, check out our website at: www.uwarg.com

...