Menu

Vancouver, BC

Samia Sama
5th year, Engineering Physics Student
Concentration in Software Development
University of British Columbia, Canada

About

I am an Engineering Physics student with high interest in software development and robotics; specifically in developing technologies to tackle contemporary global issues

Engineering Physics

Engineering Physics is a combination of software, electrical and mechanical engineering coupled with the fundamentals of physics and mathematics.

Does a broad-based program mean lack of depth?
No! To accommodate for the breath we have to take a minimum of 177 credits during the program. From which, a lot of the classes are specialized design courses. Moreover, we have additional opportunity to gain depth through co-op and the technical electives of our choice.

Why did I choose it?
I am very interested in robotics and firmware, in which there is a lot of interplay of mechanical, electrical and software components. Engineering physics provides me the perfect background to gain insight into all the different fields and work effectively in multidisciplinary teams. Moreover due to the sheer volume of content we need to learn, my program made me a fast and independent learner, ready to take on any new challenges!

Software Concentration

(refer to the Project Section for a comprehensive list of all my projects)
I tried to gain as much depth in software development as I could! My focus was to build a strong base and apply my skills to solve novel issues. Below are some ways I gained experience

Internships
(more detailed in the Work Experience Section)
I worked in software roles for 4 different companies, for 4-7 months, and now I am working part-time as a Firmware Developer for Reliable Controls

Projects in Engineering Physics
This program is packed with project based courses, including two capstone projects and a full summer dedicated to building an autonomous robot
Exchange Program: Denmark Technical University (DTU)
During my exchange term I enrolled in 6 software related courses, ranging from fundamental computer science courses to masters level software courses. Many of them had interesting projects that allowed me to gain in depth knowledge in the area
Student Design Team
I am a founding member of UBC Bionics and worked as a the software lead for a year. I was also an R&D member of the Music to Movement project at UBC Biomedical Engineering Student Team (BEST)

Technical Skills

Work Experience

May 2021 - Present

Reliable Controls

Victoria, BC, Canada

Firmware Developer

  • Add features, bug fixes and unit tests, in C++, in preparation of future releases of the different programmable controllers used for green building applications
  • Collaborate with 15 other team members, using JIRA and BitBucket, to update the main BACnet protocol code base and also the windows and linux device targets
  • Write python scripts to automatically fix 7000+ lint warnings of different types across the code base, to improve the code quality and structure

May 2019 - August 2019

Broadcom Corporation

Richmond, BC, Canada

Applications Engineer

  • Performed quality checks and analyzed nightly regression tests (NRT) on different features on Linux-based PCIe Storage Adapter
  • Wrote scripts to automate various tests, in python, and collaborated with other members using Git, Gerrit and JIRA
  • Wrote python/bash tests and debugged various issues in SoCs connected to Linux boxes via TCP

June 2020 - December 2020

Chan Zuckerberg Biohub

San Francisco, CA, USA

R&D Engineer (Software Focus)
  • Worked as the software team member for two different robotic projects
  • Designed and wrote an entire software package (czfacsautomation) using python and C++ to carry out the entire automation process from start to end
  • Designed a highly flexible and intuitive GUI for biologists to effectively use this, in house, muti-mode and multi-route liquid chromatography device

January 2018 - May 2018

Vancity Credit Union

Vancouver, BC, Canada

Software Developer

  • Received a 3-day training on Agile Development and worked in two scrum teams to develop production quality software
  • Developed a data migration application in C# to transfer 1tb files to an online server and save $1000 of yearly licensing fees. Collaborated with other members via TFS
  • Developed a Data Quality Repository App by creating a relational database in SQL and connecting it to an app created in C#, to record and track all IT data quality issues

Projects

FACS Automation

Python, C++, Linux, Raspberry Pi, Arduino, Motor Control

Time
Jun 20 - Dec 20
Organization
Chan Zuckerberg Biohub - Cell Atlas Project
Type
Internship Project
Team
3 people
Goal
Open Source Project -- paper to be published
Project Overview
  • The Cell Atlas project aims to map all the human cells in the body. In order to do so, the cells first need to be sorted then classified
  • Currently it takes researchers about 1 full week per month to sort cells using a SONY sorter
  • The FACS project automates this by designing an add-on system to the SONY sorter
  • The add-on system includes a 3 axis stage, robotic gripper, sampler holder, arduino and circuitry to control temperature and agitation of cells in the holder
Contribution
  • Designed the entire software package for the add-on device, using python and packages including numpy, openCV, pandas and seaborn, and C++
  • The software includes parallel threads to monitor different processes, including temperature and cell condition and control the stage to sequentially place and remove each sample inside the SONY sorter
  • Additionally, the software analyzes fluorescence data for a single sort and chooses appropriate parameters for each step required by the SONY machine to complete the sort

Protein Purifier

GUI Design, Python, Raspberry Pi, Linux

Time
Jun 20 - Dec 20
Organization
Chan Zuckerberg Biohub - Cell Atlas Project
Type
Internship Project
Team
2 people
Goal
Open Source Project -- paper to be published
Project Overview
  • COVID-19 caused a skyrocket in the demand for purified COVID spike proteins in lab environments. Most good lab purifiers are high throughput and low volume
  • Currently it takes researchers about 1 full week per month to sort cells using a SONY sorter
  • The ideal lab protein purifier should be high throughput, medium volume and easy to use
  • Designed an raspberry pi controlled purifier that is equipped with multiple channels, modes and routes
Contribution
  • Created a GUI, in python, for biologists to easily use the device
  • Added functionalities like Pause, Stop, Hold and Skip motor functionalities by running parallel threads in the backend
  • Created responsive widgets, each mimics a full process, and users can add or remove and customize the widgets as required. The widgets ensure no input parameters are missed, a visual display of each step
  • Tracked the volume deposited through each channel, to automatically decide the position of the beaker tray, based on volume filled and to remove overflow situations
  • Ensured the GUI is easy to use but nearly as flexible as running scripts, with error checking

Sticky Pi Device

Python, Linux, Raspberry Pi, Power Optimization, OnShape, PCB Design

Time
Oct 20 - May 21
Organization
UBC Entomology Lab
Type
Capstone Project
Team
3 people
Goal
Open Source Project -- paper to be published
Project Overview
  • Sticky pi is a smart trap that uses AI to study when, where and which insects are captured in the field
  • As a capstone project, we created a version 2 of the sticky pi that is more efficient, includes wireless data transfer module and a new design
Contribution
  • Wrote code in python, C++ and bash to control all the low level processes like optimizing power usage when idle, capturing image every 20 minutes, switching through different modes based on type of button click and running a wireless data transfer
  • Assisted in redesigning the sticky pi housing to improve the waterproofing and easy assembly and disassembly
  • Spec'd the optical system to capture high quality images based on design parameters
  • Assisted in designing the PCB for the sensors and battery management system

Printhead Quality Analysis

Image analysis, Python, Linux, SolidWorks

Time
Oct 19 - May 20
Organization
Aspect BioSystems - RX1 Bioprinter
Type
Capstone Project
Team
4 people
Goal
Confidential - Improve Scalability of RX1 Bioprinters
Project Overview
  • The RX1 Bioprinter is a microfluidic printer that uses an in-house designed printheads which allow precise pressure and valve control to switch between materials
  • The printheads are subjected to manufacturing defects and need fine quality inspection
  • As part of our capstone, we designed a 2 axis system that captures images of a tray of printheads and analyzes and sorts each image for defects
Contribution
  • Wrote code in python, using openCV, to analyze images and detect different types of defects and upload the tagged and categorized images
  • Designed the optical system and specced the optimal lens camera combination by talking to different manufacturers and understanding the underlying physics
  • Assisted in creating the assembly and BOM in OnShape

GRASP Bionic Arm

C++, Microcontroller, Firmware Design, PCB Design

Time
Oct 19 - May 20
Organization
UBC Bionics Student Team
Type
Founding Member and Software Team Lead
Team
10 people (SW team)
Goal
Design Semi-Autonomous Prosthetic Arms
Project Overview
  • GRASP is a smart prosthetic arm capable of object recognition via an onboard camera, various hand and finger grips, integration with machine learning and EMG signalling
Contribution
  • Helped found and formed the design team and recruited members as an executive member and ran weekly meetings
  • Researched intensively about design considerations for prosthetic arms and the different existing solutions
  • Wrote code in C++ to communicate between the onboard STM32 microcontroller and raspberry pi to establish low level actuator control of the arm.
  • The control algorithm was used to reach different grip patterns based on the object using the onboard interface

Reverse Hashing Server

OS, C, Data Structures and Algorithms, Parallel Programming

Time
Sep 19 - Nov 19
Organization
Denmark Technical University
Type
Operating Systems Course Project
Team
6 people
Project Overview
  • Worked with Vagrant VMs, over git, to create a highly optimized and super fast Linux server, in C++, that accepts 1000+ requests for reverse hashing SHA265 algorithm
  • The response is sent back to client through a TCP connection
Contribution
  • Contributed in creating the MVP solution to accept and reverse algorithms
  • Implemented a scheduling protocol using POSIX threads, in C, to reverse multiple hashes at once based on the hash priority and the estimated time taken for process
  • Ran tests to tweak and optimize scheduling parameters including number of threads to spawn and hash priority and time taken thresholds

Java Car Control

Java, Parallel Programming, Data Structures and Algorithms

Time
Sep 19 - Nov 19
Organization
Denmark Technical University
Type
Parallel Programming Course
Team
3 people
Project Overview
  • A GUI was provided representing 8 cars on a track, 8 threads, and we were given a list of tasks to control the movement and scheduling of the cars
  • The tasks were designed to explore complex situations that arise with parallel programming, including deadlocks and long wait times for threads to run
Contribution
  • Completed 4 out of the 9 tasks and implemented various features on the GUI
  • Used semaphores and a hash map to define different locations on the track and prevent any collisions in the lanes
  • Created a scheduler with monitors to sync cars and allow them to pass through single-lane alleys and bridges without colliding or creating a deadlock

VarHub: Cancer Review Planner

Python, Data Analysis

Time
Nov 19
Organization
Junction, Helsinki, Finland
Type
Hackathon
Team
5 people
Award
3rd Place
Project Overview
  • Varian Medical Systems creates cancer treatment plan for patients which need to be heavily reviewed by a multidisciplinary team of specialists
  • The review process is time heavy, manual and requires multiple iterations
  • Received 3rd place in our category for creating a GitHub inspired cancer plan review process called VarHub
Contribution
  • Found new ways to analyze and test the provided data and developed scripts in python to run automated tests on plan details and return prioritized flags on any issues seen
  • The flags replicate build failures in Github and ensure consistency in the review process

Autonomous QR Finder

RoS, Gazeebo, Python, Linux

Time
Nov 19 - Dec 19
Organization
Denmark Technical University
Type
Software Framework for Autonomous Robots Course
Team
2 people
Project Overview
  • We were provided with a WiFi powered linux robot, with the task to read QR codes on a competition surface and assemble a secret message based on messages from each code
  • Each code unveiled the current location and the location of the next QR code, and one of the challenges were to transform the robot’s coordinates to the QR code’s coordinates
Contribution
  • Developed software using ROS and RViz, for motion planning, to allow a robot to navigate a predefined environment without colliding into any obstacles
  • Randomly found 2 QR codes and used the current location from the two codes to deduce the hidden frame of reference using tf.
  • Used the transformation matrix to know the location of the remaining 4 QR codes and obtain all of the codes and retrieve the secret message
  • Used Gazeebo to stimulate and test the functionality of the robot

Music Therapy Device

Python, Machine Learning

Time
Jan 18 - May 18
Organization
UBC Biomedical Engineering Student Team
Type
R&D Team Member
Team
6 people
Award
MDDC Finalists
Project Overview
  • Stroke patients undergo a repetitive rehabilitation process in order to recover important daily functions
  • The Music to Movement teams develops assistive music therapy devices that creates a more motivating and engaging experience towards recovery
Contribution
  • Helped write the backend for the games, in python, associated with the devices
  • The games require different pressure levels and presses in different areas, displayed using the onboard LEDs, to pass
  • Helped design the ‘Tap’ device and developed prototype on Solidworks

Autonomous Pickup Truck

C++, Microcontroller, Control Algorithm, OnShape, Circuit Design

Time
Nov 19 - Dec 19
Organization
University of British Columbia
Type
Intro to Instrumentation Design Course
Team
4 people
Project Overview
  • Design a robot to traverse through an obstacle course to pick up and return objects to a designated safe position
  • The theme was Star Wars and the goal was to save the Ewoks from the Stormtroopers
Contribution
  • Co-wrote code in C++ on a customized Arduino to develop a state machine to carry out different tasks. This included line following using PID, object detection using a lidar module communicating via I2C and edge detection
  • Soldered circuit boards used for motor control, h bridge, and to detect different IR frequencies
  • Designed the chassis for the truck in Onshape, printed the chassis on the laser cutter, 3D printed the wheels and waterjet cut the polycarbonate claws and delrin gears

ASAP Suction

R&D, Simulation Design, SolidWorks

Time
Mar 19
Organization
Hatching Health, Vancouver, Canada
Type
Hackathon
Team
7 people
Award
UBC Faculty of Medicine Catalyst Award, MDDC Finalists
Project Overview
  • Designed a device for efficient and error free intubation in patients with soiled airways
Contribution
  • Created a simulation of the product and developed a prototype in Solidworks

Non-Techincal Work Experience

January 2021 - May 2021

Teaching Assistant

Physics and Astronomy Department, UBC
  • Assist 1st year engineering students to use different lab equipments, and foster an inclusive learning environment for all the students
  • Create an engaging and interactive learning session over zoom breakout rooms

August 2017 - May 2020

Residence Advisor

Student Housing and Hospitality Services, UBC
  • Worked as a first year advisor for 3 school terms and an upper year advisor for 2 summer terms
  • Provided peer-to-peer support in wellness, safety and security, community building and personal development for residents
  • Interacted with ~60 students on a frequent basis and handled situations such as helping students manage time and helped resolve roommate conflicts
  • Executed 20+ individually planned and collaboratively planned events for the residents

August 2018 - September 2018

UBC JumpStart Orientation Leader

Orientations, UBC
  • Worked with a group of UBC leaders and staff to welcome over 3500 first year students
  • Mentored a group of 40 engineering students about the academic, social and wellbeing aspects of university life
  • Worked with a faculty fellow to create an engaging and inclusive learning environment for all

July 2011 - June 2012

Community Building Committee Chair

Women in Engineering (WiE), UBC
  • Worked with my committee and the WiE leadership team to organize inclusive events, geared towards minorities, to encourage diversity and equity within STEM
  • Actively engaged in discussions about equity and minority representation within STEM

Hobbies