Fullstack enterprise software engineer working primarily within the Java and .NET ecosystems, alongside modern web development with Angular and Blazor. My professional experience includes working with a variety of technologies spanning the stack from TypeScript, Spring Boot, .NET, and ILE RPG to SQL Server, DB2, and the iSeries AS/400. As an avid open source developer, I contribute to .NET Core libraries and tools within the OSS community and frequently work on my own open source projects available to the general public.
Software development is my passion and I enjoy the challenge it brings each and everyday. When I’m not hacking away on the command line, you’ll most likely find me spending time with family and friends, writing about technology on my C# and .NET-based blog, or browsing around GitHub in search of new projects to work on.
Sierra Pacific Windows is part of Sierra Pacific Industries, the largest millwork producer and the second largest lumber company in the U.S. Sierra Pacific Industries, and produces high quality products installed in over 30 countries world wide, with a focus on residential and commercial properties in the United States.
Developing internal applications using RPG for use on the IBM iSeries AS/400 and VB.NET for desktop software
Using Rational Application Developer for i (RDi) for RPG development and Visual Studio 2019 for .NET
Architecting new program features and existing bug fixes for various company personnel
Maintaining legacy codebases concerning order and manufacturing processing
Refactoring existing code to adhere to modern RPG and VB.NET standards
Performing system administration tasks on the IBM iSeries AS/400
Coordinating with business analyst to define technical user requirements
Troubleshooting user issues in a timely fashion and orchestrating immediate hotfix solutions
Administering database development operations with DB2 and SQL Server interfacing with IBM and .NET applications
Designing new tables to conform with existing normalized table schema to assist with dataware housing and OLTP-related tasks
Ad hoc querying and report generation with SQL Server Management Studio (SSMS) and RDi
Vision Service Plan (VSP) is a company founded by vision care professionals with the primary goal of servicing patients with unmatched quality and service, both in person and through technological innovation.
Developed Java-based API solutions with Spring and Spring Boot backed by SQL Server and DB2 databases
Lead development of a tier one application rewrite using Angular with TypeScript and NPM
Maintained a multitude of existing legacy and modern application codebases comprising of millions of lines of code in total
Updated several mission critical legacy Java EE applications for optometry practices used nation wide with new features
Deployed fullstack and frontend applications to Windows servers, Linux servers, and AWS using automated CI/CD pipelines
Provisioned and managed a fleet of Windows and Linux servers using RDCM, Chef, and VMware
Participated in a rotating 24/7 oncall schedule to provide production application support
Coordinated with prosuming and consuming API teams to develop design contracts between applications
Designed new features to APIs and fixed existing bugs
Practiced agile software development with scrum and two week sprint-based development work
Investigated application irregularities sifting through logs to determine root cause of failures
Assisted with schema and table maintenance of IBM DB2 and SQL Server instances and query optimization
Engility, now SAIC, provides services to the United States federal government in the form of systems engineering and enterprise modernization, specializing in contractor services supplied to all branches of military.
Provided contractor support for SPAWAR 1.0 Finance Division in the form of data analysis and systems engineering
Wrote and maintained a Visual Basic codebase within Excel to perform spreadsheet specific functionality
Performed regression analysis and statistical programming using R with Navy-based datasets
Extensively used Excel and RStudio for data reporting and high level graphical analysis and exploration
Coordinated ETL efforts and data normalization between engineering and financial teams
Mathnasium is a math-based learning center providing tutor services for kids around the nation ranging from first grade to high school seniors.
Taught mathematics from pre-algebra to calculus and differential equations
Oversaw up to 30 students while maintaining a productive learning environment
Worked within a classroom environment to enhance student grades and mathematical intuition
Performed private tutoring specialties for physics and advanced mathematics
The Department of Astronomy at San Diego State University employs well-known and respected research astronomers and physicists, with specialties ranging from observation astronomy to theoretical astrophysics.
Researched binary star systems to obtain precise astronomical physical measurements including mass, radial velocity, and orbital separation
Performed astronomical photometry on large data sets within a Linux environment
Used astrophysical data reduction software to manipulate data sets for studying stellar age and evolution
Wrote Bash scripts and Fortran code to compute stellar properties optimize data reduction speed to assist with analysis
An adventure in vertical slice architecure for decoupled controllers with ApiEndpoints.
An expoloration of .NET Core's built-in dependency injection library service lifetime scopes.
A continuation of building a Blazor application featuring state management with the help of Fluxor.
A developer guide to state management on the front end and the flux design pattern using Blazor and the Fluxor library.
An in-depth look at external API network calling using Blazor WebAssembly within a real world context using the GitHub public API.
The fourth part of a series discussing business logic encapsulation, MediatR, and FluentValidation for .NET Core applications.
The third in a series discussing unit testing with xUnit, Shouldly, and in-memory SQLite databases using the disposable pattern for .NET Core applications.
An article exploring the recently added nullable reference type feature in C# 8.0 and discussing its various use cases.
The second publication in a series discussing the persistence layer of our application using the Unit of Work and Repository Patterns with Dapper.
The first publication in a series guiding developers to build a real world application with .NET Core, Dapper, and SOLID design principles.