2019: The Year of Kubernetes Maturity and Career Growth
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
- Speak at 3 conferences: Share more knowledge
- Mentor 5 engineers: Help others grow
- Build a SaaS product: Launch a side project
- Write a technical book: Share Kubernetes lessons
- 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?