During my time at BlackBerry, I worked on the BlackBlack IVY platform.
I mainly worked on 2 different data ingestion frameworks as well as one Tensor flow ML application.
The definition of Blackberry's IVY from BlackBerry's website is
BlackBerry IVY is a scalable, cloud-connected software platform that's poised to give developers
and automakers a reliable and secure way to share vehicle sensor data. With data normalization,
partners will be able to discover actionable insights on board and in the cloud.
IVY landing page - https://www.blackberry.com/us/en/products/automotive/blackberry-ivy
For the first part of my work term, I worked on a simulation data-ingestion framework that was able to take scenario files
and provide simulated data to our sensors which will be put up through the stack to create useful insights. Developers
can then use the created insights when testing their sensors. I was responsible for adding features to our application
such as playing, pausing, and changing the playback speed of the simulation, as well as designing, and implementing a TUI
for the test application. The test application made use of NCURSES to provide our testers with a GUI application while still
being able to run it on all of our targets because it runs within a terminal window. I was also responsible for fixing any
defects that were created against the application which forced me to dig through unfamiliar code in order to find the bugs.
I helped supported other coworkers using the application throughout the rest of my work term.
For another part of my work term, I worked on a data-ingestion framework that ingested real data from a device. This framework was able to
ingest data from the device and then convert it into useful insights that could be used up the stack. For this project, I spent most of my
time working on the ingestion code for one of our platforms grabbing data off the device. I also was assigned with fixing defects through
the various parts of the framework. I was also responsible for creating, designing, implementing, documenting, and testing sample custom
code for our application. Customers can then use this when trying to create their own custom code against our application. This sample
code maintained a code coverage greater than 90% code coverage for both line and function coverage.
The last project I worked on was a TensorFlow ML application, where I was mostly responsible for supporting the teams in any odd jobs they
had as I joined the team during the wind-down of the project. For example, adding code coverage and pipeline builds for one of our target
platforms, as well as improving test coverage and fixing defects.
Not tech-related responsibilities I had included helping my manager on-board his new co-op team providing technical support getting
them all set up as well as answering any questions they had throughout the rest of the work term, as well as running a few stand-ups
for the co-op team when my manager was away. Which has greatly helped me grow non-technical skills, which was one of my goals throughout the second half of my work term.