π Hey there friend!!! I'm David. I am a Senior Software Engineer at Bestow. I have a strong passion for distributed systems, microservices, secure data processing systems, Go, Python, and rare single-origin coffees. When time allows you can find me tinkering with one of my split mechanical keyboards.
πͺ Iβm currently a Senior Software Engineer at Bestow (check us out). Previously, I was a software engineer at Atlassian on the Jira Align and Bitbucket Cloud teams.
π° Note: I previously went by DataDavd/datadavd online (a relic from my data engineering days), but now use codeaucafe as my GitHub username.
π» Outside of work I'm constantly learning and improving my skills. I like doing LeetCode, improving my knowledge of various software system designs, reading software-related books, and improving my Go knowledge.
π Outside of software engineering and tech, I'm learning French, snowboard with my brother and friends, and love traveling with my wife.
- v1.53.5: Add CLI feature to support importing CSV and PSV files without header rows. Pull Request #9204
- v1.55.3: Add early primary key validation during table import to fail fast instead of processing entire large files with invalid primary keys.ββββββββββββββββ Pull Request #9349
- v1.55.6: Improve argument error messaging during table import. Pull Request #9429
in-toto/witness (CNCF project)
- v0.2.0: Add the feature for users to set what hash algorithms they want to use for digest calculation. Pull Request #292
- v0.5.2: Small change to add shorthand vars to two common witness run options. Pull Request #441
- v0.48.0: Fixed bug to correctly return error when users navigate to routes downstream from
BaseURL
. Pull Request #2382. - v0.54.0: Added in-app lakeFS documentation links on the Setup, Create a Repository (Modal), Branches, and Auth/Admin pages of lakeFS UI. Pull Request #2506.
- v0.62.0: Remove unused functions in tx.go. Pull Request #3128.
- v0.63.0: Fix 'Create a Repo' minimum character limit wording. Pull Request #3155.
- v1.25.0: Fix build version bug; use commit instead of version file blob hash. Pull Request #3987
- v0.9.21: Added Diff-Stat feature. Pull Request #145.
- v0.9.24: Created RepositoryRefsOptions type and ListRefs method. Pull Request #155.
- v0.9.30: Update GetDiffStat functionality to filter response fields. Pull Request #171.
- Pull Request #156: This PR simplifies TagOptions and BranchOptions types into a single RefOptions type (since git tags and branches are both refs) and adds DeleteBranch and DeleteTag functionality.
- v0.23.2: Update GCP icons using the official, updated GCP icons. Pull Request #666.
- Go
- Python
- JavaScript
- C#
- Backend Development: distributed systems, microservices, Django, Go net/http
- API Development: RESTful services, gRPC with Protocol Buffers, Buf ecosystem
- Concurrent Programming: Go (goroutines, channels, select, sync package - Mutex, WaitGroup, atomic), Python (threading - Lock, Event, Semaphore, asyncio, concurrent.futures, multiprocessing)
- Frontend: React
- System Design: scalability, high availability, fault tolerance
- Architectural Patterns: event-driven architecture, event sourcing & CQRS
- CLI Development: Cobra framework
- AWS: EC2, RDS (PostgreSQL), SQS, SNS, S3, Lambda, EMR, ElastiCache (Redis), CDK & CloudFormation, SDK (Go/Python/boto3), LocalStack
- GCP: Google Kubernetes Engine (GKE), Cloud SQL, Pub/Sub, MemoryStore (Redis), Cloud Deploy, SDK (Go)
- Docker, Kubernetes, Docker Compose
- Database: PostgreSQL, Microsoft SQL Server
- Cache: Redis
- CI/CD: GitHub Actions, CircleCI, Bitbucket Pipelines, GCP Cloud Deploy
- Observability: New Relic, Splunk, Sentry, StatsD
- Incident Management: Opsgenie, Statuspage
- Code Quality: SonarQube, LaunchDarkly (feature flags)
- Data Processing: Apache Spark, PySpark, Databricks
- Workflow Orchestration: Apache Airflow
- Big Data Query Languages: SparkSQL, HiveSQL, Presto
- daily driver: Boardsource lulu ergonomic mechanical keyboard with Alpaca V2 linear switches lubed with 205g0 and official Star Wars Galactic Empire DSA keycaps from NovelKeys. What does it look like? Find out! Check out my QMK Layout too!
- debug keyboard: I use a Rama Dual Shot M6-C macro keyboard with the keys mapped specifically to my custom shortcuts for easy debugging. The keyboard uses Rama artisan aluminum keycaps. Also, I use Zealio V2 65G tactile switches lubed with 205g0 with Deskeys V2 switch films.
- travel keyboard: Lily58 (which is what the Lulu is based upon) with the same keymap.