Hello!

I'm Sam, a software engineer. If you're into that, here's my GitHub!

I have a lot of interests and have done a few things, so let me lay some stuff out. You can see some of my work and some of my projects.

Languages I've worked with include Typescript, JavaScript, C/C++, Java, PHP, HTML, and CSS.
The frameworks I've worked most with are Angular and NestJS.
Platforms I've used include Bitbucket, Jira, GitHub, and Azure DevOps.
Software I've worked with includes VEGAS Pro, Photoshop, and OBS.

Work

Fullstack Engineer (Generation Esports)

I worked over a year and a half (May 2021 - December 2022) as a full stack engineer at Generation Esports, building and maintaining an Angular front-end and a NestJS microservice back-end, supported by a PHP monolith. For much of that time, I was also the Scrum Master of three teams within the organization.

I was responsible for the creation and maintenance of several new features on the platform, including quests, challenges, hero banners, tournament divisions, and League of Legends statistics. This involved everything from creation of the microservice in NestJS, configuring them for deployment in Kubernetes, creation of relevant MySQL tables/MongoDB collections, and implementation of their front-end components in Angular. When appropriate, I also implemented queues using RabbitMQ and service communication using GRPC (alongside REST). I also performed code reviews. Based on shifts of rotating weeks, I handled on-call duties for any extra technical support teams needed.

As a Scrum Master, I conducted the daily morning standups, retrospectives, and sprint planning. I know first-hand that great morale plays a key part in the quality (and happiness!) of everyone's work, so I kept this at the forefront of my mind as I led meetings. In this role, I also managed everyone's assigned stories and their statuses in Azure DevOps, shuffling items in cases where priorities shifted. I was also heavily involved in story refinement, working to help make sure the designs and acceptance criteria were ready for any engineer.

Manager (Alameda Theatre)

I've spent several years working as a movie theatre manager, taking on responsibilities everywhere between the floor and the projection booth. My experience of working as part of the general floor staff prior to becoming a manager informs how I work every day- feeling good about the job is the first step to doing great work. I take great pride in having created and continuing to contribute to a productive, exciting, and fun work environment.

Some of my responsibilities include the creating and budgeting for the staff schedule, graphic design, handling of cash, and inventory management. I also handle the IT end of things, like provisioning POS stations and running FTP servers.

A large part of my work includes using VEGAS Pro to create content for digital postercases, Photoshop for signage, and Excel for lots of computational work.

Technician (TECS)

One of my original aspirations in the theatre was to operate in the projection booth. Along with managing the theatre floor, I've also been the lead projectionist for several years. My skill in the booth and ability to pass on this knowledge to others made me a successful technician for other theatres in the area, working under Theatre Equipment and Construction Services.

Some of my responsibilities include remote troubleshooting and on-site work at a customer's request: problems are identified, solutions are created, and customers have this knowledge passed on to them. I was also responsible for setting up booths and auditoriums, which involved running cables and standing up server racks.

I serviced a lot of Barco projectors, Dolby and GDC servers, and set up a lot of ladders. While not in my regular wheelhouse, I do also work with Christie and NEC projectors, as well as Series 1 servers.

Projects

GatorSwap (JavaScript, web)

GatorSwap was a web app that facilitated the trading ('swapping') of goods at San Francisco State University.

It was developed over four months in 2018 as a six-developer group where I acted as the project/team lead. The class was set up to emulate a software engineering environment, where the professor and their assistant acted as CEO and CTO. I worked with the CEO and CTO to create an executive summary of the app and develop a list of functional and non-functional requirements. With the direction of the CEO and CTO, I led a team of two front-end developers and two back-end developers to complete the project. I was also responsible for the operation of the app, maintaining the Amazon Web Service instance, setting up nginx, etc.

GatorSwap was written mostly in JavaScript and used Bootstrap, Node.js, AWS, and mongoDB. Tools used include Heroku for some prototyping, mLab for maintaining the database, and Trello for organization.

RocketStats (Swift, iOS)

RocketStats was an iOS app that tracked statistics for the video game Rocket League.

It was developed in a month in 2018 as a single-developer final project for an iOS San Francisco State University class. I wanted to make something that could be used in-between games to provide player feedback and encourage well-rounded play. It also supported viewing a full Standard team's statistics!

RocketStats was written in Swift used AlamoFire, SwiftyJSON, and WrapAPI to pull statistics.

CS:GO Helper (Java, Android)

CS:GO Helper was an Android app. It displayed a user's inventory & strategies for the video game Counter-Strike: Global Offensive.

It was developed in two months in 2017 as a single-developer final project for a San Francisco State University class. The intent was to make an app that made it easy to show off your personal inventory in a sleek interface that matched the game, and provide basic strategies for things like smoke positioning. I think I pulled off the former pretty well, but strategies were harder to provide more quickly than using Steam's overlay to do so.

CS:GO Helper was written in Java and used the Steam API and Volley to pull a user's inventory from Steam.
(For the time being, the API key in this repository is outdated!)

Half-Life Modding

From time to time, I enjoy experimenting with modding games, usually of the GoldSrc/Source engine variety. I have used the Unreal and Unity engines in the past for experimentation as well.

The screenshot above is of a section of a map I made using the Hammer editor for GoldSrc games. Much of my experience revolves around level editing, but I have recent examples of attempts to work with source code modding as well. The repository linked is loadable and launchable, and should also work with the main Half-Life campaign as a gameplay modification.

Education

Computer Science

Bachelor of Science, San Francisco State University

Mathematics

Minor, San Francisco State University