I started writing code when I was around seven years old on a computer I'd cobbled
together using parts my dad's job was going to throw away but he'd convinced them to let
him take home. It was the mid 90s and the Web was new and interesting. My dad had decided
to do a bit of a career change and get into computers but his interest waned: mine did
not.
Getting started
I started building web applications in elementary school probably because it was easier
than writing "real" Windows applications with the kinds of interfaces I wanted. I
prototyped applications in Microsoft Publisher, which would let you link slides together
and export it all as a bundled HTML-like thing I could distribute to friends on floppy
disks.
Eventually I would get frustrated with the limitations of these tools and as I knew that
underneath it was just writing HTML for me I realized I'd have more capability if I just
wrote all that HTML myself. But soon that was tedious and it was annoying that when I
refreshed the browser everything was gone: I needed a way to store things in a database.
Thus, in late middle school I taught myself PHP and MySQL so I could do more.
I convinced the administration at my church to let me build their website for experience:
I'd do it for free if they paid for the hosting. And so I learned enough about server
admin and dev ops (before anyone called it that) to get a LAMP stack up and running.
Growing up
In eighth grade I had enough of a reputation as a "webmaster" that I was invited to join
the high school's website team despite not actually being a high school student yet: the
middle and high schools were connected and after school I would sneak onto the high school
campus to attend). I would spend my high school years as the most experienced developer on
the team.
Full-Stack Software Consultant
Independent Consultant
2005 - 2010
In my teen years, I provided technical guidance and solutions for local SMBs and governments, honing my skills in full-stack development and project management.
- Worked with local SMBs developing their websites and serving as their hosting provider.
- Working with another developer, we provided the full product lifecycle for planning, design, and development of a city government website while I was in high school.
- Acted as essentially a fractional IT team for local businesses and organizations, providing technical support and guidance.
Django Entrepreneurship HTML/CSS JavaScript Python
This carried me through high school and on to community college. In college I participated
in the Phi Beta Lambda business organization and won first place in the state of Florida
for two computer science-related competitions and placed third in another. This opened up the
opportunity to represent Florida at the national level in Anaheim, California later that year.
It was my first time in California and although it wasn't "Silicon Valley" it was pretty awesome
anyway.
Venturing out into the world
In 2011 I moved to Pensacola, Florida to attend the University of West Florida for Computer Science. While there I continued to work as a full-stack software consultant
as well as participate in university groups like ACM and AITP, where I somehow won first place
in a Java competition when I'd been writing Java for less than a week. (The judges later told
me it was that I had an attention to detail that the other participants did not)
Full-Stack Software Consultant
Independent Consultant
2010 - 2013
Dispensed technical guidance and developing custom software for a broad range of companies and industries.
- Worked with a range of companies and industries developing custom software while attending the University of West Florida for Computer Science.
- Built a custom financial advising software suite for a local financial advisor to license to other financial advisors.
- Built a resilient task queue system for a client to effectively move terabytes of data between multiple IMAP servers.
- During school, identified as a top performer by a CS professor and invited to work study in the CS department computer lab. Assisted Computer Science students with their coursework involving data structures, algorithms, and related topics.
Django HTML/CSS JavaScript Node.js Python
In 2012 some personal things happened that changed a lot for me but it also pushed me
outside of my comfort zone and started a sequence of events that would completely change
the trajectory of my career. I moved a few times, including a brief time in West Virginia,
and eventually to Kansas City, Missouri, where I worked as a full-stack developer for a
healthcare IT company called Cerner.
Worked with the LightsOn team to create software to help medical personnel work more efficiently.
- Built a full-stack metrics/analytics dashboard using Django/Python, JavaScript, and an Oracle-based data warehouse.
- The platform was used by medical personnel to track provider effectiveness with Cerner's EHR system and surface training opportunities.
- The platform was also used by high-level executives at Cerner by providing them with software performance metrics which informed product development and could be used as a measure of customer experience.
Django Gulp HTML/CSS MySQL Node.js Python TypeScript/JavaScript Webpack
Moving to Georgia
I grew a lot at Cerner and made some great friends who I keep to this day. However, some
connections I had made previously while consulting came through unexpectedly with an
opportunity to work for two years at Google in Atlanta, Georgia, which I could not turn
down.
I worked on the People Operations team at Google, where we aspired to change the way learning is done at Google, to a world where learning software doesn't just help you learn, it learns about you to help you learn better.
- Was engineering lead for a training tool used ultimately by every "Noogler" at Google to identify their incoming skills and knowledge and to help them learn how to be effective at Google.
- The platform also played a key role in the onboarding process of data center employees who needed to be especially trained on Google's security policies and procedures.
- Used a variety of technologies to achieve the goals of the project, including Python/Django, GCP, and Polymer.
Bazel Django GCP HTML/CSS MySQL Protobuf Python TypeScript/JavaScript Webpack
This was a pivotal moment in my career. I learned how to work at scale, how to build
products that served users globally and how to work with people from all over the world,
which significantly broadened my perspective on life and work. Connections made during
this period would lead to another opportunity at Google.
I worked on a team which built training tools for Google Fiber's customer service representatives. I built and managed an alternate environment of the Google Fiber customer portal which CSRs could use for practicing customer interactions in a safe, interactive training environment.
- Built and managed an alternate environment of the Google Fiber customer portal which CSRs could use for practicing customer interactions in a safe, interactive training environment.
- Used a variety of technologies to achieve the goals of the project, including React, Node.js, and GCP.
Angular Bazel GCP HTML/CSS Node.js Protobuf Python React Rollup TypeScript/JavaScript Webpack
Roots
In the years I was working at Google I had gotten married. We decided to start a family
and were looking to truly put some roots down in the Atlanta area, where we were still
living. As we were thinking about a family and homeownership, I became aware of a startup
in the real estate space that had an interesting approach. I interviewed there and was
accepted as one of the founding engineers of their new ATL office.
I worked in the Home Operations engineering group building the internal tools used by Opendoor employees and their partners to manage everything that happens between Opendoor purchasing a home and finding a new owner for that home.
- Was a founding member of the Atlanta office and Home Operations engineering group.
- Built internal tools used by Opendoor employees and their partners to manage everything that happens between Opendoor purchasing a home and finding a new owner for that home.
- Used a variety of technologies to achieve the goals of the project, including Node.js, React, and React Native.
AWS HTML/CSS Jest Node.js React React Native React Testing Library TypeScript/JavaScript Webpack
The world turned upside down
With small children and a global pandemic taking hold, I took some time off assess all of
the rapid change in my life: we had twins instead of the one baby we expected, we bought a
home, and now the world was shut down. Stemming back from even before I worked on
financial software during my consulting in university, I had always had an interest in
finance so I was interested to learn about a Square office that was growing in Atlanta. I
interviewed there and started in April 2020 as the pandemic was still raging on.
Staff Software Engineer
Block • Payments
2020
My first team at Block, I worked on the payment gateway which would power the integration between Square and Cash App to allow users to use their Cash App wallets to at merchants using Square, both online and in-store on-device.
- Worked on the payment gateway which would power the integration between Square and Cash App to allow users to use their Cash App wallets to at merchants using Square, both online and in-store on-device.
- Assisted Square Web team with adding 3D Secure support to their SDK, following closely the industry standard specification.
Java Kotlin Protobuf Terraform TypeScript/JavaScript
My team at Block built a platform used by nearly all Block engineers to deploy, manage, and observe their services. We coordinated with multiple teams at Block to build an extensible platform which could be improved or built atop by other teams.
- Built a platform using React, Node.js, and Go used by nearly all Block engineers to deploy, manage, and observe their services.
- Coordinated with multiple teams at Block to build an extensible platform which could be improved or built atop by other teams.
- Personally led the effort to migrate the UI library to a more adaptable system more aligned with the Block design system. Used and taught an AST transform approach to iteratively migrate safely.
AWS Go HTML/CSS Jest Language Server Protocol Mentoring Node.js React React Router React Testing Library Static Analysis Terraform TypeScript/JavaScript Webpack
Taking inventory
Having just powered through starting a family and a global pandemic, I was really tired.
We had learned of some challenges our sons would have in life and the road to figuring out
healthcare and therapies had been pretty rocky at the start.
I decided to take a step back and focus on my family for a while, particularly
because they were reaching the age where they'd soon be off to pre-school and my
opportunity of getting to spend weekdays with them was dwindling and could never be
regained.
Today
With the boys eventually in pre-school, I began exploring some ideas I'd had previously at
Block and looking for opportunities to explore them.
I worked with the Google Checks team on code analysis tools and IDE integrations (VSCode, IntelliJ, IDX etc.) utilizing conventional AST static analysis approaches mixed with LLM-enhanced approaches using Gemini.
- Built code analysis tools and IDE integrations (VSCode, IntelliJ, IDX etc.) utilizing conventional AST static analysis approaches mixed with LLM-enhanced approaches using Gemini.
- Was the lead engineer on the initial implementation of the Go CLI tool used for on-device analysis, which was announced during the Google I/O 2024 Developer keynote.
Angular Bazel GCP Go HTML/CSS LLMs Language Server Protocol Protobuf Scala Static Analysis TypeScript/JavaScript
Full-Stack Software Consultant
The Thorough Company
2023 - Present
Working with companies of various sizes to improve their software stacks and processes, especially in the context of modernizing in an increasingly AI-driven world.
- Worked with companies of various sizes to improve their software stacks and processes, especially in the context of modernizing in an increasingly AI-driven world.
- Exploring and learning new technologies and approaches made available for software development, including AI Agents, blockchains, and more.
AI Agents Django HTML/CSS Hardware Internet of Things Jest LLMs LangChain Node.js Python React React Router Tailwind TanStack TypeScript/JavaScript
Want the formal version? Check out my CV.