About
About Me
I'm a software/systems engineer with a passion for problem solving. I am opinionated, but try my best to be open-minded. Those who have worked with me know I won't shy away from telling you how I feel - I think directness is critical to effective communication.
My career has spanned across the aerospace and defence industry, finance, and commercial software. I've worked mostly as software architect, which has given me broad exposure to all of the things that make software engineering teams successful. I value rigorous engineering practices, DevOps, and agile. Over the past few years, I have developed interests in team dynamics and understanding how some teams are more effective than others.
I earned my B.S. in Aerospace Engineering from the University of Central Florida and my M.S. in Space Systems Engineering from the Johns Hopkins University.
About this site
This site is a place for me to write things down - mostly to organize and capture my own thoughts. If it turns out to be useful for anyone else, that's great too.
Technical Background
Programming Languages: I began programming in MATLAB and Python in 2009. Python is my preferred programming language when I want to optimize for developer time. I am also have significant experience in JavaScript and Typescript. I've done plenty of work in Java but generally don't care the Java ecosystem. Today, I work predominantly in Rust.
Frameworks: I've been using React for nearly all front-end development in recent years (including this site). For API's I've used Express.js quite a bit. For Python, I prefer Flask, and when Java is necessary, Spring Boot is often inevitable.
Databases: Most of my experience is with NoSQL databases. MongoDB is my most used database. I'm also comfortable with DynamoDB. I've used Elasticsearch with Kibana as an analytics data store and observability solution on a number projects. I've also used Neo4j for some smaller projects.
Cloud: Most of my cloud development work has used Amazon Web Services or hybrid solutions. The majority of my AWS-based projects leverage Lambda extensively. I've use Azure for some limited use cases on recent projects. Azure Static Web Apps has proven to be particularly useful.
DevOps: I am a strong advocate for effective DevOps practices. I like GitHub Actions but have also used GitLab CI, Jenkins, and Azure DevOps pipelines and would happily chose any of them over no pipeline at all. For provisioning and configuration I prefer Terraform.
Agile: I write a lot on this topic ... so I'll be brief. I prefer Scrum as a framework and have experience coaching teams as they adopt Scrum for the first time as well as helping large organizations scale agile practices. My most used approach for scaling agile has used SAFe®. Despite criticisms that SAFe® is too prescriptive, I've found it to be a useful because it can act as a superset to Scrum allowing success at the team level to be an enabler for success at scale.
Additional Info
Disclosures
I decided to include a disclosures section here to make clear my biases and external interests.
I am the owner Triple Dot Engineering, which I reference in several places on this site. Triple Dot Engineering does not make any money from this site. As of 2024, I am no longer actively seeking new clients for Triple Dot Engineering and have moved on to other day-to-day work.
I also hold an Adjunct Instructor position at the University of Central Florida supporting the Interdisciplinary EngineeringvCapstone Design program. Many of the topics I write about are of direct relevance to my students. All UCF targeted posts are tagged with "UCF".
Feeds
The RSS feed for this site is published at https://jdkaplan.com/articles/rss.xml.
The Atom feed for this site is published at https://jdkaplan.com/articles/atom.xml.