Ryan Job

Software Engineer


I'm Ryan Job, a software engineer currently finishing a master's degree at Colorado State University. My area of study is in high-performance computing, especially within the polyhedral model of computation. I've worked across a wide range of the computational hierarchy: hardware design in Verilog, parallel and distributed CPU/GPU programming, compiler development, and Windows GUI applications.

I've also published a short paper on the background work for the optimizations I'm creating within the polyhedral model as part of my thesis work.


Education

Master of Science
  • Colorado State University
  • MS in Computer Science
  • August 2022 - Summer 2024 (expected)
Bachelor of Science
  • University of Wisconsin - Madison
  • BS in Computer Engineering, Computer Science, and Mathematics
  • August 2014 - May 2018

Experience


Colorado State University

August 2022 - Present

Master's Student - Thesis Track
  • Studying compiler optimizations in the polyhedral equational model of computing.
  • Developing automated reduction simplification in the open-source AlphaZ compiler system.
  • Published a short paper at the IMPACT workshop on some of the background for my thesis.
  • Working to automatically generate maximally optimal code (within constant factors) for a dynamic program used in RNA secondary structure prediction.
  • Maintained a 4.0 GPA.
CSU: Data Science Research Institute

June 2023 - Present

Graduate Research Assistant
  • Parallelizing and distributing research software and PyTorch machine learning models.
  • Teaching students in the Math department on good distributed programming practices.
  • Working with systems administrators to improve the local Slurm-based HPC clusters.
  • Developing data storage and access solutions centered around Globus and Snakemake.
CSU: Computer Science Department

August 2022 - June 2023

Graduate Teaching Assistant
  • Taught Software Engineering (Fall 2022) and Foundations of Computer Systems (Spring 2023).
  • Created new assignments and automated grading scripts.
  • Worked directly with students to help them learn course material and debug assignments.
  • Taught recitation lectures to reinforce course learning objectives.
  • Managed undergraduate teaching assistants.
NorthStar Medical Radioisotopes

June 2018 - June 2022

Software Engineer II
  • Developed software for a novel medical radioisotope separation system.
  • Performed requirement analysis, software design, development, verification, and validation tasks.
  • Complied with federal regulations and guidelines to ensure user and patient safety.
  • Worked in a Windows desktop GUI environment and embedded microprocessor with custom firmware.
  • Designed and implemented a programming language for nuclear scientists and biologists to control fluid movement devices.

Technical Skills

  • Assembly
    • ARM
    • x86/64
  • Bash
  • C#
    • ANTLR
    • MSBuild
    • nDepend
    • NuGet
    • NUnit
    • UWP/WinUI
    • WinForms
    • WPF
  • C/C++
    • CUDA
    • Intel Advisor
    • Intel MKL
    • MPI
    • OpenMP
  • Code Climate
  • Containers
    • Apptainer
    • Docker
    • Singularity
  • Databases
    • MongoDB
    • PostgreSQL
    • SQL CE
    • SQLite
  • Functional Languages
    • F#
    • Haskell
  • HDFS
  • Java-Based Languages
    • Apache Hadoop
    • Apache Spark
    • JUnit
    • Scala
    • Xtend
    • Xtext
  • Jenkins
  • Jira
  • LaTeX
    • Overleaf
  • MLIR/LLVM
  • Polyhedral Equational Model of Computation
    • Alpha/AlphaZ
    • isl
    • islpy
  • PowerShell
  • Python
    • Dask
    • Jupyter Notebooks/Labs
    • Numpy
    • Pandas
    • PyTorch
    • PyTorch Distributed
    • Ray
    • Snakemake
  • Slurm
  • Subversion (SVN)
  • System Verilog
  • Version Control
    • Azure DevOps
    • Git
    • GitHub
    • GitHub Actions
    • Subversion (SVN)
  • Web Technologies
    • AJAX
    • Bootstrap
    • CSS
    • HTML
    • JavaScript
    • JQuery
    • PHP
  • Windows Subsystem for Linux (WSL2)
  • Yarn