2019 is ending. What a transformative year. Here’s my retrospective.

Major Achievements

1. Migrated to Amazon EKS

Moved from self-managed Kubernetes (kops) to Amazon EKS:

  • Reduced operational burden
  • Better AWS integration
  • 30% cost reduction with spot instances

No more 2 AM pages for control plane issues.

2. Built First Kubernetes Operator

Created a PostgreSQL Operator:

  • Automated backups
  • Automatic failover
  • Rolling upgrades
  • Saved 10+ hours/week of manual work

3. Scaled to 100+ Microservices

Our microservices architecture matured:

  • 100+ services in production
  • 500+ pods running
  • 50,000 requests/second
  • 99.99% uptime

Technologies I Learned

Kubernetes Operators

Built custom controllers to automate complex applications.

Vue Composition API

New way to organize Vue code. Game-changer for large components.

Go 1.13

Error wrapping and module improvements.

ES2020 Features

Optional chaining and nullish coalescing.

Projects I’m Proud Of

1. Service Mesh Evaluation

Evaluated Istio for 3 months:

  • Tested traffic management
  • Evaluated security features
  • Measured performance impact

Decision: Not ready for us yet. Too complex for our needs.

2. Observability Platform v2

Upgraded our monitoring:

  • Distributed tracing with Jaeger
  • Log aggregation with ELK
  • Metrics with Prometheus + Grafana
  • Custom dashboards for each team

MTTR dropped from 15 minutes to 5 minutes.

3. Developer Platform

Built internal platform for developers:

  • Self-service deployments
  • Automated testing
  • Environment provisioning
  • Documentation portal

Developer productivity increased 40%.

Mistakes I Made

1. Over-Engineering the Operator

Built too many features into our first Operator. Should have started simpler.

Lesson: MVP first, iterate later.

2. Not Investing in Documentation

Our Kubernetes setup was poorly documented. Onboarding new team members took weeks.

Now we have comprehensive docs and runbooks.

3. Ignoring Developer Experience

Focused on infrastructure, neglected developer tools. Developers struggled with local development.

Fixed with better tooling and documentation.

Technical Lessons

1. Kubernetes is Mature

Kubernetes has matured significantly. It’s production-ready for most use cases.

2. Managed Services Win

EKS, RDS, ElastiCache - managed services reduce operational burden.

3. Observability is Non-Negotiable

You can’t run microservices without proper observability.

4. Developer Experience Matters

Infrastructure is useless if developers can’t use it effectively.

Soft Skills

1. Technical Leadership

Fully transitioned to Tech Lead role:

  • 30% coding, 70% leadership
  • Architecture decisions
  • Team mentoring
  • Stakeholder management
  • Technical roadmap

2. Public Speaking

Spoke at 2 conferences:

  • “Kubernetes in Production” at KubeCon
  • “Building Operators” at local meetup

Nerve-wracking but rewarding.

3. Writing

Published 50 blog posts. Writing helps me learn and share knowledge.

Books I Read

  • The Phoenix Project (re-read)
  • Team Topologies - Organizing teams for fast flow
  • Staff Engineer - Path beyond senior engineer
  • Kubernetes Patterns - Design patterns for Kubernetes

Blog Stats

  • 50 posts published
  • ~200,000 page views (2x growth)
  • Most popular: “Vue Composition API: A Game Changer”

What I’m Excited About for 2020

Technologies

  • Kubernetes 1.18: Ingress to GA
  • Vue 3.0: Composition API, better performance
  • Go 1.14: Module improvements
  • Java 14: Records, pattern matching

Skills

  • System design at scale
  • Team building
  • Product thinking
  • Strategic planning

Goals for 2020

  1. Speak at 3 conferences: Share more knowledge
  2. Mentor 5 engineers: Help others grow
  3. Build a SaaS product: Launch a side project
  4. Write a technical book: Share Kubernetes lessons
  5. Contribute to CNCF projects: Give back to open source

Career Transition

This year I fully embraced the Tech Lead role:

  • Leading technical direction
  • Mentoring team members
  • Stakeholder communication
  • Strategic planning

Less coding, more impact.

Advice to My Past Self

  • Managed services are worth the cost
  • Documentation is not optional
  • Developer experience is as important as infrastructure
  • Start simple, add complexity when needed
  • Public speaking gets easier with practice
  • Writing clarifies thinking

Thank You

Thanks to:

  • My team for their dedication
  • The Kubernetes community for their support
  • Everyone who read my blog and attended my talks
  • My family for their patience

Here’s to 2020! 🎉

What did you learn in 2019? What are your goals for 2020?