Software Developer - Distributed Systems

Olive Recruiting

  • Houston, TX
  • 4 days ago

    Highlights

    Hands-on experience designing, developing, or maintaining distributed software systems, including state reconciliation, fault tolerance, system coordination, and network partition handling. We are seeking a Software Developer with experience in distributed systems and container management to support the development of centralized configuration and fleet management capabilities for industrial software applications.

    Numbers & Facts

    LocationHouston, TX

    Description

    We are seeking a Software Developer with experience in distributed systems and container management to support the development of centralized configuration and fleet management capabilities for industrial software applications. This position will focus on building scalable solutions to deploy, monitor, configure, and maintain containerized applications across customer edge devices, on-premises infrastructure, and cloud environments. The ideal candidate will have experience with Go, Docker, distributed systems architecture, and secure communication between remote systems. This role will collaborate with cross-functional development teams and contribute to the full software development lifecycle.

    Responsibilities:
    • Design, develop, and maintain distributed fleet management capabilities using Go, including container deployment, upgrades, rollbacks, health monitoring, and lifecycle management.
    • Build centralized configuration management solutions to distribute and synchronize application settings across multiple remote devices and systems.
    • Develop desired-state reconciliation processes to maintain consistent application configurations and operational status across distributed environments.
    • Design reliable solutions for remote and edge networks with intermittent connectivity, communication failures, and network interruptions.
    • Develop and secure APIs and agent/server communication systems, incorporating authentication, authorization, and audit capabilities.
    • Implement monitoring and observability features, including fleet status reporting, system health aggregation, and data integration with management dashboards.
    • Integrate container runtimes and registries, including Docker and JFrog Artifactory, to support application distribution, deployment, and verification.
    • Collaborate with software development teams on shared components, system integrations, and cross-product functionality.
    • Participate in agile development activities, including sprint planning, testing, code reviews, and production deployment.
    • Contribute to backend development, user interfaces, and deployment processes across the software platform.
    Qualifications:
    • Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
    • Hands-on experience designing, developing, or maintaining distributed software systems, including state reconciliation, fault tolerance, system coordination, and network partition handling.
    • Strong knowledge of Docker, container architecture, and container lifecycle management.
    • Experience with container orchestration platforms such as Kubernetes or Nomad, or development of deployment and agent-based management tools, is strongly preferred.
    • Proficiency in Go or experience with another systems programming language, with a willingness to develop in Go.
    • Experience designing, developing, and securing APIs and agent-based communication architectures.
    • Experience developing, deploying, and troubleshooting software in Linux environments; Windows experience is beneficial.
    • Familiarity with cloud platforms such as Azure or AWS and on-premises infrastructure.
    • Experience with CI/CD pipelines, Azure Pipelines, JFrog Artifactory, Bitbucket, Jira, or similar development tools is a plus.
    • Exposure to edge computing, industrial automation, OT/SCADA environments, or distributed software management outside traditional data centers is strongly preferred.
    • Familiarity with TypeScript, Angular, or full-stack software development is beneficial.
    • Strong analytical, problem-solving, communication, and collaboration skills with the ability to work effectively in an agile development environment.

    Similar Jobs