Sr. Software Engineer

workforcenow

Remote 8 years experience Posted 1h ago

Job Description

Application Design & Development

  • Design, develop, test, and maintain enterprise-grade applications and services using .NET or Java technologies.
  • Build scalable RESTful APIs, microservices, and event-driven services.
  • Develop highly available and fault-tolerant systems capable of handling large transaction volumes and user traffic.
  • Translate functional and non-functional requirements into robust technical designs.
  • Participate in architecture discussions and contribute to long-term technology strategy.

Microservices & Distributed Systems

  • Design and deploy cloud-native applications running on AWS and/or Azure.
  • Develop applications optimized for containerized environments.
  • Design loosely coupled, independently deployable services.
  • Implement service communication patterns including synchronous and asynchronous architectures.
  • Design systems for high throughput, low latency, resiliency, and fault tolerance.
  • Build solutions that can scale horizontally to support millions of users and transactions.
  • Implement distributed caching, messaging, and event-driven architectures where appropriate.

Software Architecture & Design

  • Apply enterprise architecture principles and software design best practices.
  • Design maintainable, extensible, and reusable software components.
  • Implement appropriate design patterns and architectural patterns.
  • Drive technical decisions related to scalability, reliability, maintainability, and performance.
  • Conduct design and code reviews across engineering teams.

Database Design & Performance

  • Design efficient relational database schemas.
  • Develop optimized SQL queries and stored procedures where necessary.
  • Troubleshoot query performance issues and optimize database interactions.
  • Analyze execution plans, indexing strategies, locking behavior, and transaction performance.
  • Ensure applications are designed for high-volume transactional workloads.
  • Identify and eliminate performance bottlenecks across application, database, infrastructure, and network layers.

Troubleshooting & Production Support

  • Debug complex production issues across multiple layers of the technology stack.
  • Analyze logs, metrics, traces, thread dumps, heap dumps, and system diagnostics.
  • Perform root cause analysis and implement corrective actions.
  • Support production incident resolution and continuous reliability improvements.

Qualifications:

  • Bachelor's or Master's degree in Computer Science, Software Engineering, Information Technology, or related field.
  • 8+ years of professional software development experience.
  • Proven experience building large-scale enterprise applications and distributed systems.

Preferred Qualifications

  • Experience supporting SaaS products serving large enterprise customers.
  • Experience building systems that process millions of transactions daily.
  • Experience with Kafka, RabbitMQ, ActiveMQ, or cloud-native messaging services.
  • Knowledge of event-driven architecture and asynchronous processing.
  • Experience implementing zero-downtime deployments.
  • Familiarity with Infrastructure as Code (Terraform, CloudFormation).
  • Experience with AI-assisted development tools and automated code quality platforms.
  • AWS and/or Azure certifications.
    • Kubernetes certifications (CKA/CKAD).

Similar Openings for You