Profile

Kareem is a researcher, engineer, and entrepreneur with over 20 years of field experience. He’s currently pursuing a PhD at National University of Singapore’s School of Computing focussed on applied cryptography.

Education

  • PhD Candidate, Computer Science, National University of Singapore School of Computing, expected completion: 2025

  • B.A.Sc. Electrical Engineering, 2003, University of Waterloo, Honours with Distinction, Computer Engineering Option, GPA 3.78

Awards

  • 2023 NUS School of Computing Teaching Fellowship
  • 2022 NUS School of Computing Teaching Excellence Award
  • 2020 NUS Graduate Research Scholarship
  • 2003 University of Waterloo ECE Fourth Year Design Contest, Runner-Up
  • 2001 University of Waterloo Engineering Faculty Deans Honour List
  • 2001 NSERC Undergraduate Student Research Award
  • 1998 University of Waterloo Engineering Faculty Deans Honour List
  • 1998 Waterloo Cooperative Residence Pine Cone Citizenship Award
  • 1998 Best of School, Descartes Mathematics Contest

Teaching

  • NUS CS4230/5430 Foundations of Modern Cryptography, Jan to April 2023, Prof. Prashant Vasudevan

    • Prepared and presented tutorials to students on relevant background material needed to understand lectures.

    • Topics included: complexity theory, security arguments, hybrid arguments, interactive proofs, group, number, and probability theory.

  • NUS CS3235 Computer Security, Jan to April 2021 and 2022, Prof. Prateek Saxena

    • Prepared and presented tutorial materials on security modelling, cryptography, and number theory.

    • Prepared and adapted assignments to online learning, including setting up autograding and randomized problem generation scripts.

    • Awarded Teaching Excellence and Teaching Fellowship awards for excellence in teaching.

Experience

Google, Senior Software Engineer (SWE5)

Belo Horizonte, Brazil, 2015-2019

  • Led design and implementation of new service within Google Web Search for getting direct user feedback at scale that does not require analysts to write code

  • Designed improvements to Google Web Search for handling language mismatches between query and interface languages, implemented on the actual Google search stack, and ran experiments to determine effectiveness

  • Led the design and implementation of a new data pipeline for analyzing data logged from the world’s largest knowledge app, handling billions of interactions and petabytes of data per day

Clearpath Robotics, Lead Software Developer

Kitchener, Ontario, Canada, 2014-2015

  • Led team to develop large autonomous vehicle for mining industry

  • Planned project, including scope, resources, and timing

  • Worked directly with customer to determine true requirements

  • Designed software architecture and planned implementation

  • Guided and reviewed implementation of the team’s software code

  • Implemented comm. structures, sensor interfaces, and vehicle control

  • Key technologies: ROS, Robot Simulation, Embedded Linux, Lidar, Radar, Python, embedded C/C++

Dandy, Chief Technical Officer

Kitchener, Ontario, Canada, 2013-2014

  • Led development of new mobile app through the Dandy process

  • Selection of development team, product design, and implementation on iOS, BB, Android, and backend services

  • Simultaneously managed development of the Dandy web platform, including new features and maintenance

  • Evaluated app ideas and provided feedback to the CEO and partners

  • Key technologies: iOS, Android, BlackBerry, Objective-C, Java (Android), C++ (BB), Python, virtual web services

Aeryon Labs, Senior Software Developer

Waterloo, Ontario, Canada, 2008-2013

  • Led software development for Scout and SkyRanger platforms

  • Implemented Agile development process and continuous integration

  • Designed and implemented new architecture for Mission Control Station, including pluggable mapping and video support

  • Evaluated and led introduction of new platform technology including Python, messaging services, and logging services

  • Key technologies: Embedded Linux, Linux Kernel Drivers, network programming and messaging, IP video (RTP/RTSP), Python, Java/Swing, embedded C/C++

Independent Consultant

Waterloo/Toronto, Ontario, Canada, 2006-2007

  • Provided software and systems development expertise to client projects

  • Projects typically involved development of new or modification of existing software systems based on customer specifications

  • Clients included: JMP Engineering, Scotiabank Jamaica, Parmalat, TMMC

  • Key technologies: C#, MS SQL Server, Oracle PL/SQL

ATS Advanced Systems, Control Systems Software Designer

Cambridge, Ontario, Canada, 2004-2006

  • Led software development for several advanced automation projects, including an automated microbiology experimentation system, and an automated capacitive TFT inspection system

  • On-site machine bring-up and upgrades in the US, South Korea, and Europe

  • Designed architecture and implemented software control solutions

  • Key technologies: QNX, software PLCs, Visual Basic, machine vision, Stäubli robotics, motion control

Archronix Corp, Hardware Designer

Toronto, ON, 2003-2004

  • Hardware designer for aerospace APU motor controller and simulator

  • Designed and oversaw construction of motor simulator project, including requirements analysis, circuit design, construction, and verification

  • Key technologies: analog and digital circuit and board design, VHDL