Effectual is a company focused on cloud-native applications and modernization services. As a Principal Software Engineer, you will lead technical direction and architecture for enterprise client engagements, mentoring teams and ensuring project success.
Responsibilities:
- Serve as the technical lead on enterprise client engagements. Establish architectural direction, make key design decisions, and make sure delivery stays aligned with business objectives and engineering best practices. This includes designing new solutions for critical business needs as well as improving existing ones
- Assess in-flight projects by evaluating existing architectures, codebases, team dynamics, and backlogs. Identify what's working, what's not, and where the biggest opportunities are
- Evaluate and recommend emerging cloud technologies and modernization approaches to support client initiatives
- Lead large feature releases that cross-team boundaries or require coordination with client teams
- Define technical strategies for replacing legacy and monolithic systems with cloud-native microservices architectures
- Contribute reusable reference architectures, accelerators, and engineering standards back to the broader App Modernization practice
- Architect, build, and maintain microservice-based systems, ensuring scalability, resilience, and maintainability across distributed environments
- Design and implement service integration patterns. This includes inter-service communication, API gateway configuration, external platform API integration, and distributed data flows through deployment
- Own the technical delivery strategy for features and workstreams. Delegate and oversee implementation but stay hands-on where it matters
- Use AI development tools effectively to accelerate code production, while applying the engineering rigor to critically evaluate AI-generated output. You should also be able to guide other engineers on the team in doing the same
- Drive technical debt reduction and performance optimization across the codebase
- Define and enforce engineering standards for code quality, testing, and deployment
- Engage directly with client technical and business leadership to understand requirements and align on technical approach. Build trusted advisor relationships over the course of engagements
- Integrate into existing client team structures, working within their sprint cadences, tooling, and processes. Identify and drive improvements to how the team works
- Mentor individual contributors through code reviews, pairing sessions, and technical coaching
- Contribute to requirements refinement and story decomposition. Help close gaps between what the business is asking for and what gets built
- Support engagement scoping and effort estimation. Provide technical input into statements of work and, when needed, participate in pre-sales technical discussions
- Identify and evangelize long-term technical direction for teams and projects
Requirements:
- 10+ years of experience building and delivering production applications from design through release and iteration
- Demonstrated experience architecting and leading microservice-based systems in production environments
- Experience integrating with complex third-party enterprise platforms via APIs
- Comfortable stepping into established projects and getting up to speed quickly on unfamiliar codebases, team structures, and business domains
- Strong stakeholder management skills. You should be equally comfortable presenting to a CTO and whiteboarding with a junior developer
- Advanced Skills: Software engineering and architectural skills with deep understanding of multiple software architecture patterns, including microservices and event-driven architectures
- Python (primary language): expert-level proficiency including async/concurrency, packaging, testing, and backend frameworks such as FastAPI
- Microservices architecture: expert-level experience designing, implementing, and operating microservice-based systems including service discovery, API gateways, inter-service communication (REST, gRPC, messaging), and distributed tracing
- Third-party platform integration: experience designing robust integrations with external enterprise systems. This includes API consumption patterns, data mapping, error handling, and resilience strategies
- React 18+ (primary frontend framework): including TypeScript, component architecture, state management, and performance optimization
- HTML5, CSS (preferably TailwindCSS v4)
- Data and retrieval pattern design including PostgreSQL, DynamoDB, and data pipeline architectures
- Intermediate Skills: AI-assisted software development: demonstrated ability to use tools like AI code assistants and code generation tools to meaningfully accelerate delivery. Critically, this means knowing how to validate, test, and refactor AI-generated code rather than accepting it uncritically. We are looking for engineers who get faster with AI tools because their fundamentals are strong, not engineers who depend on AI tools because their fundamentals are weak
- Kubernetes and container orchestration (EKS preferred), including deployment strategies and operational fundamentals
- Docker and containerization: building, optimizing, and managing container images for both local development and production deployment
- Command of IaC platforms (preferably Terraform, including state management; or CloudFormation/CDK)
- REST and WebSocket Architectures
- AWS services: compute (Lambda, EC2/EKS), messaging (SQS, SNS, EventBridge), API Gateway, S3, and database technologies (RDS, DynamoDB)
- Jest and/or PyTest for Unit Testing
- Understanding of SDLC models, Application Lifecycle Management, data structures, and algorithms
- Cloud architecture and cloud-native design patterns
- Legacy system assessment and modernization strategy: evaluating monolithic applications and designing migration paths to modern architectures
- Experience in client-facing, consulting, or professional services delivery environments is preferred
- AWS Certifications Preferred: AWS Certified Solutions Architect Professional
- Financial services, capital markets, or asset management domain experience
- Experience working in regulated or compliance-heavy environments
- Familiarity with AI agent frameworks, agentic workflow patterns, or hands-on LLM integration (tool use, function calling, retrieval, evaluation)