Skip to main content
NEUN
Back to Careers

OpenEXA

Senior Software Engineer, Distributed Systems

NEW
Seattle, WA or NYCFull-timeGlobal
šŸ“Š MidšŸ  On-site
ActivePosted within the last 30 days

Job Description

[AI-summarized by JobStash]

You will design, implement, and optimize scalable, fault-tolerant distributed systems. You will implement distributed algorithms, data structures, and protocols to ensure reliable communication and coordination. You will profile and optimize system performance, debug complex distributed issues, and integrate distributed components with existing software. You will define technical specifications from system requirements and provide technical guidance to more junior engineers.

Requirements

  • ā—Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field
  • ā—Proven professional experience as a Software Engineer with a focus on distributed systems
  • ā—Proficiency in programming languages such as Java, C++, or Python
  • ā—Solid understanding of distributed systems concepts including distributed algorithms, consistency models, fault tolerance, and scalability
  • ā—Experience with frameworks and technologies used in distributed systems such as Apache Kafka, Apache Hadoop, or distributed databases
  • ā—Familiarity with cloud platforms and services (AWS, Azure, or GCP) and containerization technologies (Docker, Kubernetes)
  • ā—Experience with performance profiling, optimization techniques, and debugging distributed systems
  • ā—Strong problem-solving and analytical skills
  • ā—Strong collaboration and communication skills

Responsibilities

  • ā—Design and develop distributed systems and architectures to meet scalability, performance, and reliability requirements
  • ā—Collaborate with architects and product managers to define system requirements and translate them into technical specifications
  • ā—Implement distributed algorithms, data structures, and protocols to ensure communication and coordination across systems
  • ā—Optimize distributed systems for performance, fault tolerance, and scalability
  • ā—Conduct testing and debugging of distributed systems to identify and resolve issues promptly
  • ā—Integrate distributed systems with existing software solutions
  • ā—Stay updated with advancements in distributed systems and contribute to technology improvements
  • ā—Provide technical guidance and mentorship to junior engineers

Tech Stack

Hadoopfault tolerancedistributed systemsKafkadebuggingConsistency modelsDistributed algorithmsDistributed databasesScalabilityoptimization
Expired
Search