Education
A foundation in analytical thinking and research, complemented by continuous professional development in cutting-edge technologies.
Middle Tennessee State University
Murfreesboro, TN
Graduated 2019
Bachelor of Arts in History
Key Outcomes
- Graduated with highest honors, demonstrating exceptional analytical and research abilities.
- Developed strong written communication skills through extensive thesis and research paper work.
- Cultivated critical thinking and problem-solving methodologies applicable to software engineering.
Transferable Skills
Professional Foundations
Distributed Systems
The study of how autonomous computing processes, communicating solely through unreliable networks and without shared memory or a global clock, can be composed to behave as a single system.
Key Influences
- Distributed Systems (Maarten van Steen and Andrew S. Tanenbaum)Book
- Time, Clocks, and the Ordering of Events in a Distributed System (Leslie Lamport)paper
- Designing Data-Intensive Applications (Martin Kleppmann)Book
Recent Developments
- AI-powered observability using telemetry data to automatically repair systems or suggest fixes
- WASM-based edge computing for serverless functions
Portability
The study of how software systems can be composed such that their behavior can be realized consistently and transparently across heterogeneous execution environments.
Key Influences
- Programming Principles and Practice Using C++ (Bjarne Stroustrup)Book
- Robert C. MartinPerson
- KotlinConfConference
Recent Developments
- Compose Multiplatform for unified UI across platforms
- WebAssembly for near-native browser performance and expanding browser access to more language ecosystems
- Web metaframeworks empowering multiple deployment options such Nuxt's Nitro-based universal rendering, static site generation, single page application, and serverless modes
Interoperability
The study of how independently developed and independently evolving software systems can exchange information and invoke behavior across well-defined boundaries despite differences in implementation and execution environment.
Key Influences
- Architectural Styles and the Design of Network-based Software Architectures (Roy Thomas Fielding)paper
- Martin FowlerPerson
- UnixOS
Recent Developments
- Model Context Protocol (MCP)
- Agent Communication Protocol (ACP)
- CloudEvents from the CNCF graduated in 2024, defining a common envelope for event metadata
Human-Machine Interaction
The study of how computational system behavior can be perceived, understood, and influenced by humans.
Key Influences
- Usability Engineering (Jakob Nielsen)Book
- The Design of Everyday Things (Don Norman)Book
- Qt World SummitConference
- VueConfConference
Recent Developments
- ChatGPT and conversational AI interfaces
- Voice-first interfaces and natural language interaction
- Spatial computing in AR/VR devices directly incorporating a user's limbs
- Qt Bridges entered alpha for C#, Java/Kotlin, Python, Rust, and Swift, potentially creating a single UX/UI framework - QML - for every major platform in the near future
Core Influences
A foundational guide emphasizing practical approaches to software craftsmanship, continuous learning, and adaptable problem-solving strategies that transcend specific technologies.
A set of principles valuing individuals and interactions, working software, customer collaboration, and responsiveness to change over rigid processes and comprehensive documentation.
The practice of building software in a way that it can be released to production at any time through automated testing, deployment pipelines, and incremental improvements.
Learning Philosophy
θεωρία καὶ πρᾶξις
Theory and practice must develop together. Study and then do for real learning.
Teach to Learn
Mentoring others solidifies knowledge and reveals gaps in understanding.
Fundamentals Win Fights
Master the fundamentals. Strong foundations enable systemic solutions.
"Theory should be studied not to learn rules, but to understand principles."