Please refer to the below document for guidelines on Co-op hiring.
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 1.
Job Summary |
|
Job Responsibilities |
|
Required Skills |
|
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 for the Unmanned Systems Canada Competition. The most recent competition required our aircraft to autonomously locate packages from the air, land and pick them up, and then take off and deliver the contents to a remote location. To be successful, 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 or other version control software
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