Professional Engineering

Insurance.

Secure API development, service integration, cloud capabilities, data evolution, and automated testing for policy-management software.

A workspace with analytical documents and software dashboards representing insurance systems

Context

My insurance experience involved a policy-management platform spanning Java and Python services, third-party interfaces, customer-facing applications, AWS services, relational and cloud data stores, and automated testing.

The work required balancing secure integration and modernization with the maintainability and test confidence expected from software supporting established business processes.

Engineering Scope

  • Secure APIs
  • Service integration
  • Cloud capabilities
  • Data evolution
  • Frontend delivery
  • Testing

Selected Outcomes

  • Delivered API and full-stack functionality across a policy-management platform
  • Integrated internal and external services through documented interfaces
  • Contributed cloud capabilities alongside established application systems
Systems & Responsibilities

API and integration engineering

Developed service capabilities across REST and SOAP interfaces using Java, Spring Boot, and Python frameworks.

Insurance workflows depend on dependable contracts between internal systems, external services, and customer interfaces.

Application modernization

Contributed cloud and full-stack capabilities alongside established application and data technologies.

Incremental modernization preserves business continuity while creating room for more maintainable delivery.

Automated quality

Expanded testing across unit, service, and browser-level workflows.

Meaningful automated tests reduce regression risk when connected policy and integration behavior changes.
Engineering Challenges

Heterogeneous integrations

Challenge: The platform needed to interact through both modern REST interfaces and established SOAP integrations.

Approach: Developed and documented API capabilities across Java and Python services while supporting multiple integration styles.

Consideration: Supporting different protocols improves compatibility but expands validation, error handling, testing, and maintenance responsibilities.

Schema and application evolution

Challenge: Application changes needed corresponding data-model changes without losing control of existing behavior.

Approach: Worked with Oracle, RDS, DynamoDB, and framework-supported schema evolution as part of service development.

Consideration: Schema changes require compatibility planning, controlled rollout, and tests that cover both data and application behavior.

Cross-layer test confidence

Challenge: Changes could affect backend services, integrations, and browser workflows at the same time.

Approach: Used JUnit, Mockito, PyTest, Playwright, and Selenium at different levels of the application.

Consideration: Broader test coverage increases confidence but requires careful scope so suites remain reliable, useful, and maintainable.
Technology by Responsibility

Backend

Java 11 · Spring Boot · Python · Flask · Django

Integration

REST · SOAP · OpenAPI

Data

Oracle · RDS · DynamoDB

Frontend

Angular · React · TypeScript

Cloud

AWS Lambda · API Gateway · AppSync · Cognito

Testing

JUnit · Mockito · PyTest · Playwright · Selenium

Delivery

Jenkins · Linux

Improvements, Decisions & Outcomes

Improvements

  • More consistent service and partner integration
  • Incremental modernization across application and cloud capabilities
  • Controlled data and schema evolution
  • Greater automated-test coverage across backend and frontend behavior
  • Clearer API documentation and production support material

Decisions & trade-offs

Support REST and SOAP where required

Allows modern services to integrate with partners and established systems without requiring an all-at-once replacement.

Multiple interface styles create additional contracts, mapping logic, error models, and test paths.
Use layered automated testing

Unit, service, and browser tests catch different classes of regression across a full-stack platform.

Higher-level tests provide valuable confidence but are slower and more sensitive to environment and data setup.
Modernize incrementally

Introduces cloud and service capabilities while preserving continuity for existing policy workflows.

Temporary coexistence between old and new approaches increases integration and operational complexity.

What I learned

  • APIs must be treated as contracts across organizational boundaries.
  • Modernization is usually a staged integration problem, not a single replacement event.
  • Schema evolution needs application, deployment, and rollback thinking.
  • Test layers should be selected according to the failure they are intended to expose.
  • Security and maintainability are inseparable in integration-heavy systems.