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