Welcome to my digital space
I am a dedicated Principal Software Engineer with a deep-seated passion for crafting exceptional digital experiences. With a wealth of expertise in full-stack development, I thrive on architecting innovative solutions that seamlessly bridge the gap between creativity and functionality.
My journey in software engineering has been marked by a relentless pursuit of excellence. My approach is rooted in the art of elegant coding and the science of efficient system architecture. I possess a keen eye for detail, ensuring every line of code I write is not just functional but also optimized for performance and scalability.
What truly sets me apart is my commitment to user-centric design. I believe in the power of technology to enrich lives and transform businesses. Beyond the lines of code, I am driven by the profound impact software can have on people’s daily lives. My projects are not just applications; they are experiences tailored to meet real needs and exceed user expectations.
In addition to my technical acumen, I am a dedicated mentor and collaborator. I relish the opportunity to guide aspiring developers, sharing my knowledge and fostering an environment of continuous learning. Collaboration is at the heart of my approach. I thrive in interdisciplinary teams, where diverse perspectives converge to create truly groundbreaking solutions.
As you navigate through these digital pages, I invite you to explore my portfolio and witness firsthand the passion and precision that define my work. Whether you are here to learn, collaborate, or explore opportunities, I am excited to connect and share insights.
Thank you for visiting. Let’s create something extraordinary together.
Interests
- Robotics
- Machine Learning
- Augmented Reality
- Software Engineering
- Algorithm Design
- Audio/Visual Systems Design
- Human to Computer interface
- Web + Mobile Applications
Publications
US Patent 10325014: System and method for convergent document collaboration
In various implementations, a computing device: displays the document outline on the user interface; maintains, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a level of the document outline; receives, via the user interface, an insertion of a new level to the document outline; in response to the insertion, defines a structure node that represents the inserted level; inserts a transition node in the causal graph data structure, wherein the transition node represents a relationship between the structure node and at least one other node of the causal graph data structure; inserts the structure node into the causal graph data structure as a child of the transition node; and updating the user interface to display the inserted level.
ACM Conference Proceedings: The Causal Graph CRDT for Complex Document Structure
Commutative Replicated Data Types (CRDTs) are an emerging tool for real-time collaborative editing. Existing work on CRDTs mostly focuses on documents as a list of text content, but large documents (having over 7,000 pages) with complex sectional structure need higher-level organization. We introduce the Causal Graph, which extends the Causal Tree CRDT into a graph of nodes and transitions to represent ordered trees. This data structure is useful in driving document outlines for large collaborative documents, resolving structures with over 100,000 sections in less than a second.
Projects
All of my open source projects can be found on GitHub. These projects are personal discovery efforts or work that I have retrieved approval from employers to share with the world under my name. But this is only what I am allowed to show or what I can do on my free time. Just imagine how I can help your teams out if I was on your payroll, eh?
Education
Graduate at Montana State University
Cumulative GPA 3.910
Master of Sciences in Computer Science
- Focused on distributed system architecture design and testing and AI
- Build a Homemade datacenter and custom cloud testing utilities
- Designed and Built an Artificial Intelligence Game Engine
- Professor requested closed source
Undergrad at Carroll College
Cumulative GPA 3.800
Bachelor of Arts in Computer Science
Bachelor of Arts in Mathematics
Bachelor of Arts in Physics (Minor)
- Awarded Presidential Scholarship based on GPA
- Jack Hemmer Math & Science Scholarship based on GPA
- Meritorious winner for the Mathematical Contest in Modeling
- Intern for Carroll IT department
- Deans list all semesters
Training
- Introduction to Artificial Intelligence
Based on Stanford’s CS-221, introduced basics of Artificial intelligence which includes machine learning, probabilistic reasoning, robotics and natural language processing - Building a Search Engine
Designed and built a search engine with a web crawler and way of ranking popular pages - Programming a Robotic Car
Applied basic methods in Artificial Intelligence to a ‘virtual’ self driving vehicle
Skills
Working knowledge | Basic knowledge | |
---|---|---|
Languages | ||
Libraries | ||
Protocols | ||
Providers | ||
Tools |
Experience
Principal Software Engineer @ Workiva
July 2014 - Present
- Advocated for developer efficiency and worked to accelerate other developers velocity
- Planned and Executed cross-organization, multi-team technical efforts
- Worked for 4 years on team of 10+ developers
- Technical lead on several successful initiatives
- Developed on the full stack with emphasis in server processes + algorithms
- Tech: Python, Go, Flex, PDF and NATS
Adjunct Professor @ University of Montana - Helena
Spring 2014
- Teaching CSCI 100 - Intro to Programming
- Using Flowcharts, Visual Logic and C#.
Intern @ Anderson ZurMuehlen
Fall 2013 - Summer 2014
- Designed a purchasing system from the ground up based around an organizations needs
- With constant feedback and development changes, an agile development process was implemented early
- Tech: Angular.JS, Git, Grunt, PHP and related
Web Developer @ Carroll College
Fall 2010 - Dec 2013
- Assisted with the development of a custom content management system
- Dealt with corporate environment problems such as communication issues
- Tech: Smarty, CSS, jQuery, MySQL, PHP, Flex and related
REU Student @ Utah State University
Summer 2010
- Researched license place recognition, focus: license plate localization
- Implemented a system that was 80% accurate using haar-like features
Web-master and Systems Administrator @ Outside Media
2007 - 2012
- Side design and implementation x2
- Managed systems and corporate network
- Tech: Joomla, AJAX, JavaScript, HTML+CSS, RSS and related