
I build full-stack software, with backend systems that keep data moving.
Full-stack engineer in Salt Lake City with a backend focus and nearly a decade in IT. I started in technical support, moved through systems administration, and now build production software, so I understand the whole stack, from front ends and APIs down to the servers and cloud they run on. Open to full-stack, backend, and platform roles.
Experience
Planned break
Took time to travel through Thailand, Laos, and Vietnam. My wanderlust is satisfied, and I am excited to take my career to the next level.
Software Engineer II, BAE Systems
Full-stack, Hill AFB, UT (hybrid)
- Built and modified React front ends for internal web applications.
- Wrote Node.js and Python APIs with unit tests.
- Wrote stored SQL queries used dynamically by applications.
- Worked with ArcGIS on mapping layers for web applications.
Software Engineer, Overseas Military Sales Corporation
Full-stack, remote
- Designed and built a web scraper that fetches, parses, and processes vendor CSV files into our systems.
- Built AWS Lambdas in Python and Node.js for cron jobs, business-event reactions, API replacements, and monitoring and alerting.
- Wrote Java (WildFly, formerly JBoss) APIs for data aggregation, email and SMS survey delivery, and data processing.
- Updated the Angular sites to serve .webp images using a fallback hierarchy of image types, and automated conversion of the images stored in S3.
- Tested with JUnit, Mocha, Python unittest, and Postman.
Platform Engineer Intern, Stride Inc.
Remote
- Researched, designed, built, and tested a data-reconciliation module in Java.
- Wrote Serverless Framework YAML to automate deployment to AWS.
- Wrote Liquibase scripts to manage Postgres database schema changes.
Software Developer Intern, Manic Kat Records
Web and mobile, remote
- Designed, built, and tested a web admin site for the company's mobile app.
- Fixed bugs and added features in the existing mobile app.
- Established SDLC and development practices for the coding team.
Systems administrator and technical support
Goldman Sachs, CSS Corp, Vantiv
- Administered Windows and Unix (RHEL) systems, users, and computers, and kept the team knowledge base current.
- Scripted repetitive tasks in shell languages to save time and reduce errors.
- Troubleshot hardware, software, and networks for payment systems and end users, including financial reconciliation to rule out technical errors.
B.S. Computer Science, Southern New Hampshire University
Software Engineering concentration, 3.82 GPA
Skills
- Languages
- Java, JavaScript and Node.js, Python, SQL, Bash, PowerShell
- Front end
- React, Angular, Bootstrap, HTML, CSS, responsive design, ArcGIS mapping layers
- AWS
- Lambda, S3, CloudFront, Route 53, DynamoDB, SQS, SNS, CloudWatch, Secrets Manager, EC2
- Azure
- Function Apps, Cosmos DB, Azure Artifacts
- Data
- Postgres, MySQL, MongoDB, DynamoDB, Liquibase schema migrations
- Systems
- Windows and Unix (RHEL) administration, networking, troubleshooting, shell scripting and automation
- Practice
- Unit and integration testing, API design, git, Atlassian tools, Azure DevOps, Linux, macOS, Windows
Projects
This site: three iterations
I have rebuilt my portfolio three times, each time to fix a specific problem. It now costs very little to run and loads quickly worldwide because CloudFront caches it close to each visitor.
- Version 1: Node.js, Express, and EJS on Amazon Lightsail (source). A full server for a low-traffic site, which cost money every month and was more than the job needed.
- Version 2: Plain HTML and CSS on S3, CloudFront, and Route 53. After a cost and traffic analysis, I removed the server entirely, which cut the cost immediately and made the site faster.
- Version 3 (this site): A redesigned front end with no external dependencies, deployed by GitHub Actions that sign in to AWS with short-lived OIDC credentials instead of stored keys (source).
Earlier work
- 3D scene in C++ and OpenGL, with lighting, texture, and free camera control.
- Inventory management system in Java with JDBC and MySQL.
- Weather app in Node and Express using the OpenWeatherMap API.
- Todo list with Node, Express, and MongoDB.
Contact
The best way to reach me is ianrhefflefinger@gmail.com. Outside of work I mountain bike, ski, climb, play ultimate frisbee, and am slowly learning guitar.