Four-role engineering portfolio

Research & Systems Software Engineer

Reproducible research infrastructure, dependable ML systems, low-level C/C++ software, and compiler/runtime foundations.

I build and document software where correctness, reproducibility, performance, and clear engineering decisions matter. My doctoral research, systems projects, teaching, and technical writing provide inspectable evidence across four connected roles.

Research software & ML infrastructure

GenCyberSynth Research

I develop reproducible cybersecurity and machine-learning workflows combining synthetic malware-image data, generative models, controlled evaluation, artifact management, and high-performance computing execution.

  • Synthetic-data workflows
  • Trustworthy evaluation
  • HPC experiment execution
  • Reproducibility and artifacts
Explore research evidence →
Teaching & technical communication

Systems-Focused Teaching

Teaching experience strengthens my ability to reason about technical mechanisms, diagnose misunderstandings, and communicate complex systems clearly.

  • CSCI 330 — Systems Programming
  • CSCI 370 — Computer Architecture
  • CSCI 389 — Computer & Network Security
View relevant experience →
How the work is evaluated

Evidence Before Claims

The portfolio emphasizes observable engineering practice rather than long technology lists.

01

Reproducible Builds

Documented environments, commands, dependencies, configurations, and clean-clone workflows.

02

Correctness & Testing

Warnings-as-errors, automated tests, sanitizers, static analysis, and explicit boundary conditions.

03

Measured Behavior

Metrics, controlled experiments, profiling, benchmarks, and evidence-backed conclusions.

04

Engineering Decisions

Clear interfaces, invariants, failure models, tradeoffs, limitations, and architecture records.

Technical writing

Reasoning Made Inspectable

View all articles →
September 7, 202611 min read

Using fgets and strtol Safely in C

A practical guide to reading integer input safely, detecting invalid characters, handling overflow, enforcing ranges, and building reusable input functions in C.

Systems Software Engineer
Read article →
September 7, 202610 min read

Why C Pointers Matter

Pointers are the mechanism that allows C programs to refer to memory, share objects, manage resources, build dynamic structures, and communicate with operating systems and hardware.

Compiler & Runtime EngineeringSystems Software Engineer
Read article →
Evaluate the complete profile

From Research Pipelines to Runtime Foundations

Select a role pathway, inspect the supporting work, or start a conversation about an engineering opportunity.