Developer Experience Journey
Overview
This journey is designed for engineering professionals who want to understand the hands-on developer experience of building with Engineering11. We'll explore implementation details, coding practices, and the day-to-day workflows that make engineering productive and predictable.
What You’ll Learn
- How microservices are structured and implemented
- The patterns and conventions that reduce cognitive load
- How custom services integrate with platform services
- The development workflow and tooling experience
- Real code examples and implementation patterns
Journey Steps
Understanding the Foundation Structure
Engineering11 provides a complete backend foundation with 20+ production microservices covering core platform domains. These aren't black boxes — they follow the exact same patterns you'll use for your custom services.
- All services (platform and custom) live side by side
- Same structure, same patterns, same deployment workflows
- No special "internal" frameworks or exceptions
Microservice Anatomy
Every Engineering11 microservice follows a consistent structure with a finite set of well-defined parts:
- Server APIs - Published packages for service-to-service integration
- IPC REST APIs - Internal service communication endpoints
- REST APIs - Client-facing endpoints
- Background Jobs - Async processing and long-running tasks
- Task Handlers - Queue-based workflow processors
- Shared Libraries - Full-stack reusable utilities
- Migrations - Database evolution scripts
- Reduced cognitive load when moving between services
- Predictable testing strategies
- Clear ownership boundaries
- Faster onboarding for new team members
Building a Custom Service
Let's look at how you'd build a custom microservice on top of Engineering11.
// Example: Your custom service structure my-service/ ├── src/ │ ├── server-api/ // Shared with other services │ ├── rest/ // Client-facing endpoints │ ├── ipc-rest/ // Service-to-service endpoints │ ├── background-jobs/ // Async processing │ └── migrations/ // Database evolution ├── tests/ └── package.json
- Define your domain models and repositories
- Implement your business logic
- Expose REST endpoints for clients
- Add background jobs for async workflows
- Deploy using the same CI/CD pipeline
Frontend Integration
Engineering11 provides frontend SDKs for Angular, React, React Native, and Flutter.
- Are built from E11 seed apps with pre-configured auth, routing, and state management
- Use generated TypeScript clients for type-safe API calls
- Follow established patterns for theming and component architecture
- Include built-in observability and error handling
Development Tools & Workflow
Engineering11 systems use modern tooling to improve the developer experience: