Provides training (both class room and online) and consulting on Go, Microservices and cloud-native distributed systems architectures. Class room trainings are only available in India.
- Providing training and consulting for the successful adoption of Go programming language
- Providing One-on-One Mentoring to individuals on Go and distributed systems
- Architecture guidance for building highly scalable distributed systems and microservices
Contact: [email protected]
List of clients of Shiju Varghese's Masterclass on Go and Distributed Systems
Course Duration:
- Classroom/Online Training for Corporate Organizations: 4 Days
Prerequisite: Basic foundation on programming with any programming language
Level: Beginner to Advanced
Summary of Course Contents:
- Go programming language and its core fundamentals.
- First-class functions.
- Package ecosystem and Go Modules.
- Error handling.
- Struct and Interface.
- Writing testable and idiomatic Go code with interface, struct and packages (architecture guidance and best practices).
- Concurrency primitives: Goroutines and Channels.
- Advanced Concurrency patterns.
- Mutexes.
- HTTP programming: From basics to building production-ready apps.
- Testing Go applications.
- Generics.
- Context package.
- Structured Logging with slog.
Course Duration:
- Classroom/Online Training for Corporate Organizations: 4 Days
Prerequisite: Completion of "Professional Go" course or Go developers with deep knowledge on SOLID principles
Target Audience: Distributed Systems Engineers and Architects
Level: Advanced
Summary of Course Contents:
- An overview of Microservices architecture
- Decomposition Patterns for Microservices
- Domain-Driven Design (DDD)
- A deep dive into gRPC and Protocol Buffers
- Working with CockroachDB - A distributed, fault-tolerant database
- A deep dive into distributed messaging/streaming systems: NATS and NATS JetStream
- Building event-driven streaming systems with NATS JetStream
- Microservices development with Go kit
- Modular Monolith architecture
- Building distributed applications using Google Service Weaver
Monolith or Microservices, or Both: Building modern distributed applications in Go using Google Service Weaver
Course Duration:
- Classroom/Online Training for Corporate Organizations: 1 Day
Prerequisite: Completion of "Professional Go" course or Go developers with deep knowledge on SOLID principles
Target Audience: Developers and Architects
Level: Advanced
Summary of Course Contents:
- Monolith or Microservices, or Both: An introduction to Service Weaver
- Writing Service Weaver Components
- Making reference to Components
- Working with Configurations
- Routing in Service Weaver
- Running Service Weaver applications
- Integrating with observability
- Deploying Service Weaver applications
Shiju Varghese is a solutions architect, consultant, published author and speaker. He is focused on building large-scale distributed systems in the Go programming language, with a strong focus on clean architecture, domain-driven microservices architecture and event-driven streaming architecture. He is an early adopter of Go, and has been providing consulting and training for building highly-scalable backend APIs and distributed systems with Go ecosystem. Before adopting Go as the primary technology stack, he worked extensively on Microsoft .Net technologies for more than a decade, and was awarded Microsoft MVP seven times. He has spoken at numerous conferences including GopherCon India (Go Conference in India), DevConf.IN and Great Indian Developer Summit. He has authored two books on Go, titled "Web Development with Go" and "Go Recipes", both published by Apress. Beyond technology, Shiju Varghese is a mind-body healing practitioner, with an emphasis on Energy Psychology and Emotional Freedom Techniques (EFT).