Things to do

Software Engineer and Architect. I've got things to do, and they sometimes end up here.

  1. HOME
  2. ABOUT

Who am I

I am a Software Engineer and Software Architect currently located in Central Florida. I attended Washington State University Vancouver for my Bachelors of Science in Computer Science, graduating with a Mathematics minor in 2009. I continued there for my Masters of Science degree in Computer Science in 2011. Thanks to the great advisors and faculty at the WSU-Vancouver campus, I finished my coursework in 2010, and began working professionally while completing my Master thesis on security analysis of cyber-physical systems.

I am a product of the places I’ve worked, and the things I have either been forced to care about, or grew to appreciate. Here are some brief descriptions, but I’ll be making posts over some of the work I did here and what it means to me now.

Sharp Labs of America

While in college I pushed for internships and experience, and I had tremendous luck with Sharp. This was the Camas, Washington location, while their software engineers and researchers are in California.

So what is a software engineering intern doing at the wrong location? I was a direct asset for an optics team that was leveraging new technologies for prototyping. I was going in-the-cloud image processing from an Android G1. I was piecing together some code glue and algorithm development for novel imaging and scanning concepts these guys were implementing. It was hands-on applied algorithms and data pipelines, it was great! I had two summers here before I moved on to my masters program.

University of Central Florida

The part of UCF I was working in wasn’t a college at the time, and was entirely funded through grants and research cooperations with the US Army, US Navy, and US AirForce, who have multiple buildings around UCF in Orlando FL. I was surrounded by PhDs and program managers, and filled in whatever technical or other gaps were needed for the research goals.

This was my first professional coding job, as a research associate at the Institute for Simulation and Training at UCF. This job was a many-hats situation, as I was doing contract support for Army Research. I had a local virtualized cluster I was maintaining, remote enclave installation support for our simulator, and Node/Python/C# bugfixing and tooling development for the simulator.

FanHero

Fanhero is a kind of social networking startup, specializing in white label apps that replicate some common online interactions for organizations and celebrities. The content-creator would post text, images, audio, video, links, etc. The users of the particular app would like, comment, respond, etc on the posts. Their livestreaming stack was very good.

I was a Sr Software Engineer here for around 2 years. I was brought in as a high-velocity single-contributor for their existing back-end API, database, deployment and external integrations. The first half was working in their existing nodejs framework, and learning to hate bad code. Through the power of getting spammed thousands of qos support notifications while spending time with my family, I did something about it.

The second half of my time at Fanhero was spent on these self-assigned tasks: Replace the janky Node framework with something better, increase testing coverage of the API and database to save my own sanity, and spread this gospel of doing it right to other teams through direct interactions and mentorship of of other developers.

Luminar Technologies

Talk about a context shift. While this is also a startup company, this company is in the automotive sector building LiDAR systems and associated software / perception stacks for safety and autonomous vehicle systems.

I have only considered myself a dabbler in C/C++ at this point. That isn’t fair to dabblers, as C was my first programming language 15 years prior, and I had picked up C++ on the way. I even used it academically and at UCF for projects, I just never did it ful time until now. I still make mistakes sometimes and write bad code, but I do not have the interest or motivation at turning into a low-level C graybeard when there is more than enough work just organizing and establishing interfaces; something I’ve been doing since college.

I’ve filled the roles of Lead, Mentor, and Product-Owner a few times, but here rubber met the road. As of this writing, I am a Staff Software Engineer, a Technical Lead over an international team of engineers, as well as the Product Owner in a SAFe context.