Software Engineer [multiple Positions Available]

JPMorgan Chase JPMorgan Chase · Banking · Plano, TX +1 · Commercial & Investment Bank

Software Engineer role focused on designing, implementing, and launching event-driven and data-processing based software solutions for Payments products within a fintech domain. Responsibilities include collaborating with cross-functional teams, designing robust software systems, incorporating testing principles, collaborating with infrastructure teams, conducting performance testing, debugging production issues, designing scalable data processing applications, monitoring and optimizing data pipelines, and providing mentorship. Requires experience with AWS cloud services, Java, Springboot, Kafka, Spark, Airflow, Kubernetes, and various testing and observability tools.

What you'd actually do

  1. Ideate, scope, plan, implement, and launch event-driven and data-processing based software solutions for Payments products.
  2. Collaborate with cross-functional teams to gather business requirements, analyze, and provide technical architecture considering scalability, performance, and evolvability.
  3. Design robust software systems for a given set of business requirements, present to stakeholders, and drive to execution.
  4. Incorporate Behavior Drive Development (BDD) principles with BDD tests, unit tests, and integration tests when driving the development of said designs.
  5. Collaborate with infrastructural teams to drive the team's infra requirements and arrive at maintainable solutions.

Skills

Required

  • Designing, architecting, and building scalable, available, and fault-tolerant Event-driven microservices in AWS Cloud using Java, Springboot, Webflux, Monetaboot, Aurora PostgreSQL, Apache Kafka, Terraform, and AWS MSK and Reactive Programming
  • Designing, building, and integrating high throughput real-time data streaming applications using Spark Structure Streaming, Airflow, Parquet, Avro, Glue Schema Registry, and S3
  • Designing, building, and integrating high throughput Payment Processing and Ledgering Applications using PySpark, SparkSQL, S3, AWS Glue, Aurora MySQL, Glue Data Catalog, Airflow, and Avro
  • Designing and building software for performing and validating Double-entry Bookkeeping for payment transactions and enabling funding to merchants
  • Building and performing automated Functional testing using Cucumber, Performance testing using Blazemeter, Unit testing using Junit and Pytest, and User Acceptance Testing
  • Designing and developing Behavior Driven Development Tests to cover functional use cases
  • Improving scalability and efficiency of Spark applications using Spark system architecture, industry best practices, and scalability patterns
  • Developing, enhancing, and executing regression test scripts in Python for functional and infrastructural test scenarios
  • Designing and implementing AWS Step Function orchestration pipelines for state machine flows
  • Defining workflows, managing state transitions, and integrating AWS Lambda, AWS Glue, and AWS Event Bridge services
  • Automating the build, test, and deployment processes in AWS multi-region environments using Jenkins, Spinnaker, and Jules
  • Deploying, managing, and scaling containerized applications using Kubernetes, including orchestration, service discovery, and automated deployment processes to ensure efficient and reliable software operations
  • Incorporating observability into software during design and development for monitoring, alerting, and maintenance of applications post go live
  • Debugging and identifying root causes for functional and infrastructural issues using observability tools including Splunk, Datadog, and Grafana
  • Guiding projects from inception through deployment using Agile SDLC practices