Ian J. Sawyer
Computer Science Student — Low-Level Systems Programming
Objective
Computer science student eager to apply knowledge in low-level programming to secure a full-time position as a low-level systems software engineer.
Education
Bachelor of Science, Computer Science
May 2026Rose-Hulman Institute of Technology — Terre Haute, IN
- GPA: 2.76 · Major GPA: 3.14
- Relevant Courses: Computer Architecture, Software Design, Software Requirements Engineering, Operating Systems, Operating System Design, Network Security, Computer Networks, Design and Analysis of Algorithms
Skills
Languages
C · Java · JavaScript · Python · SQL · bash
Tools & Technologies
Linux CLI · Git · Network programming (TCP/UDP, raw sockets) · QEMU · Wireshark · Meson · Make
Operating Systems
Linux · Windows
Concepts
Object Oriented Design · OS internals · IPC · Network protocol design
Work Experience
CNC Wire Operator
June 2025 – August 2025Montrow Group — North Vernon, IN
- Collaborated with members of other departments to ensure timely and efficient job completion.
- Designed efficient part set-ups for the mass-manufacturing of steel parts, improving workflow and efficiency.
- Performed detailed inspections using specification sheets and internal quality standards to ensure product accuracy and compliance.
- Troubleshot setup and production issues to minimize downtime and maintain output targets.
Projects
Capstone Project: Puzzle Hunt Management Platform
August 2025 – Present- Developed full-stack features for a puzzle hunt platform using MySQL, a Node.js REST API, and Svelte, enabling teams to securely access and solve puzzles during live events.
- Designed and implemented responsive user-facing interfaces in Svelte, improving usability for puzzle navigation, puzzle tracking, and live event interaction.
- Collaborated with a four-person engineering team and coordinated with the client to refine requirements and adjust implementations based on feedback.
Microkernel Operating System Research Project
December 2025 – Present- Researched microkernel and monolithic kernel architectures to inform the design of a custom microkernel OS, with emphasis on process isolation, inter-process communication (IPC), and kernel responsibility boundaries.
- Performed in-depth analysis of process control block (PCB) designs in existing production-level operating systems to design and implement a PCB, weighing real-world trade-offs in scheduling, fault handling, and capability management.
- Modernized the project's build infrastructure by migrating from a Make-based system to Meson, improving maintainability and iteration speed for development.
Personal Project: Network Stack for the Xv6 OS
June 2025 – August 2025- Designed and implemented a custom network driver and UDP network stack for the Xv6 operating system, enabling inter-machine packet transmission.
- Built support for Ethernet, ARP, and UDP, as well as packet construction/parsing.
- Implemented a socket API into Xv6, modeled after Linux sockets, supporting socket(), bind(), recvfrom(), and sendto().
- Debugged low-level networking in QEMU and with Wireshark, developing deeper understanding of protocol interactions and driver/OS boundaries.
Activities
Rose-Hulman
- Competitive Programming Team2024 – 2025
- Intramural Sports2022 – Present
High School
- Soccer — 2 years captain2018 – 2022
- Baseball — 4 years varsity2018 – 2022