Hi, I'm Abel Yagubyan.

A
Self-driven, quick starter, passionate programmer with a curious mind who enjoys solving challenging real-world problems.

About

Welcome to my page! I am a Bachelor's graduate in Computer Science and Applied Mathematics from UC Berkeley. I have a particular passion for Machine Learning, Distributed Systems, Databases, and Security. Building on this passion, I pursued and successfully completed my Master's of Science degree in Computer Science at Northwestern University. I have previously worked on technologies like Python, C/C++, Golang, Java, MySQL, MongoDB, Flask, and x86/RISC-V during my Bachelor's/Master's. I am passionate about developing complex applications that solve real-world problems impacting millions of users within my intended areas of interest.

  • Languages: Python, Java, C/C++, Golang, Rust, Swift, PHP, JavaScript, Bash
  • Databases: MySQL, PostgreSQL, MongoDB, Firebase
  • Libraries/Frameworks: Keras, TensorFlow, PyTorch, CUDA, UPC++, GPU Programming, MPI, NumPy, Pandas, OpenCV, Flask, Django, Node.js
  • Tools & Technologies: Git, Docker, AWS, Heroku

Looking for an opportunity to work in a challenging position combining my skills in Software & ML Engineering, which provides professional development, interesting experiences, and personal growth.

Experience

Research Assistant
  • Contributor to Professor Dongning Guo's and PhD student Yiming Zhang’s project titled as "Deep Reinforcement Learning for Scheduling, Power Control, and Rate Adaptation in Cellular Networks".
  • Currently speeding up project simulations using GPU programming.
  • Tools: Python, GPU programming, and CUDA
June 2022 - April 2023 | Evanston, IL
Research Assistant
  • Working with the Pagoda Project team at Lawrence Berkeley National Laboratory on UPC++, a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming, to:
  • Develop and deploy automated performance regression testing for UPC++ using crons and Python.
  • Implement benchmarks in UPC++ (OSU micro-benchmarks, Parallel Research Kernels, Bale benchmarks) and compare to other libraries such as MPI and SHMEM.
  • Tools: Python, Flask, C++, UPC++, MPI, SHMEM
June 2022 - April 2023 | Berkeley, CA
Research Assistant
  • Worked as a Research Assistant for the world-renowned Professor Alex Filippenko to implement an ML Classification model using CNNs that use image data from Caltech's ZTF program to accurately classify different types of supernovae and transient objects.
  • More mentioned in the Projects section.
  • Tools: Python, JS
Aug 2021 - May 2022 | Berkeley, CA
Teaching Assistant
  • Teaching Assistant for CS61C: Computer Architecture and CS161: Computer Security courses.
  • Project lead for CS61C's numc, a project that implements a simple numpy library and achieves up to 20x speedup (in comparison to dummy implementation) with the help of OpenMP, SIMD, and Loop unrolling.
  • Project lead for CS61C's CS61Classify, a project that implements a simple Neural Network model using RISC-V assembly code (similar to x86).
  • Project lead for CS161's Dropbox project, a project that implements an encrypted, safe, and scalable file sharing system using Go along with Cryptography.
  • Tools: Python, C, Go, Assembly (RISC-V and x86), JS
May 2021 - May 2022 | Berkeley, CA
Software Engineer Intern
  • In collaboration with Apple and UC Berkeley's CS61C: Computer Architecture course (myself as a Teaching Assistant for that course), introduced Computer Architecture-based projects to 4000+ HBCU students by implementing the source code with the help of C, Python, and Assembly.
  • Project lead for numc, a project that implements a simple numpy library and achieves up to 20x speedup (in comparison to dummy implementation) with the help of OpenMP, SIMD, and Loop unrolling.
  • Project lead for CS61Classify, a project that implements a simple Neural Network model using RISC-V assembly code (similar to x86).
  • Tools: Python, C, Assembly (RISC-V)
May 2021 - Aug 2021 | Remote
Research Assistant
  • Introduced new online examination features to 3,000+ students with 100% satisfaction by implementing an interactive RISC-V compiler to PrairieLearn, an online examination platform, for UC Berkeley Computer Architecture courses using a combination of Python, Assembly (RISC-V), C, JS, and Docker.
  • Published paper with Prof. Garcia for the SIGCSE '22 Technical Symposium.
  • Tools: Python, Docker, Assembly (RISC-V), C, JS
June 2019 - May 2022 | Berkeley, CA

Projects

Curated News App
FibonAI

The premier legal AI-powered workspace that transforms in-house legal operations

Accomplishments
  • Tools: Python, Flask, AWS, SQL, Zilliz, and JS
  • End-to-end in-house legal workflow with GPT-powered suite of tools.
  • Onboarded over 10 beta customers from enterprises like Confluent and Cresta.
  • Helped save up to 40% of repetitive and manual daily tasks in in-house teams.
Efficiency in Deep Neural Networks
SCALPEL

Introducing efficiency in Deep Neural Networks

Accomplishments
  • Tools: Python, C++, Bash
  • Reduced popular modern Deep Neural Network (DNN) model sizes (i.e., AlexNet, LeNet-5, etc.) by up to~80%.
  • Achieved up to ~3.5x speedup in modern DNNs.
  • Customizes DNN pruning techniques to the underlying hardware parallelism (Microcontroller, CPU, and GPU)
SN1A Classification
Supernovae Classification

Supernovae type classifier using Convolutional Neural Networks (CNNs) and Random Forests

Accomplishments
  • Tools: Python, Flash, Bash
  • Retrieves image data from Caltech's ZTF Program API.
  • Processes and classifies Supernovae according to their type by up to ~95% accuracy by using a modified version of ResNet-18.

Education

Northwestern University

Evanston, Illinois, USA

Degree: Master of Science in Computer Science (Concentration in Deep Learning and Distributed Systems)

    Relevant Courseworks:

    • EECS 473: Deep Reinforcement Learning
    • MATH 450: Probability Theory & Stochastic Analysis
    • CS 440: Advanced Networking
    • CS 446: Kernel and Other Low-level Software Development
    • CS 449: Deep Learning
    • CS 468: Programming Massively Parallel Processors - CUDA
    • CS 497: Deep Learning in NLP

University of California, Berkeley

Berkeley, California, USA

Degree: Bachelor of Arts in Computer Science and Applied Mathematics

    Relevant Courseworks:

    • CS 61B/170: Data Structures and Algorithms
    • CS W186: Database Systems
    • CS 188: Artificial Intelligence
    • CS 189: Machine Learning
    • CS 194-26: Computer Vision
    • CS C267: Parallel Computers
    • CS 294-82: Machine Learning in Multimedia data

Contact