Jobs · Information Technology

Software Development Engineer II - Automation

Itential · United States · 1 wk ago
RemoteRemoteInformation TechnologyFull-time

Key Responsibilities

  • Develop, deploy, and maintain robust and scalable automation platform services in Go, including the gateway server, gRPC APIs, WebSocket connectivity, and embedded network automation tooling.
  • Design software with a focus on performance, reliability, and scalability — including distributed execution patterns, HA leader election, multi-backend store architecture (BoltDB, etcd, DynamoDB), and concurrent request handling.
  • Collaborate with engineering teams to translate network automation requirements into clean technical specifications, working across the core platform, runner framework, and protobuf-defined service contracts.
  • Independently own components from design through production delivery — including adapters, gRPC service handlers, store backends, or netsdk integrations — following established Go conventions and architectural patterns.
  • Conduct code and design reviews to uphold Go idioms, concurrency safety, and API consistency across the gateway5 codebase.
  • Continuously improve platform reliability through automation, refactoring, and optimization — including CI/CD pipeline enhancements, test coverage improvements, and performance profiling.
  • Stay current with the Go ecosystem and cloud-native tooling (gRPC, buf, etcd, DynamoDB, Prometheus) and apply relevant advances to improve the platform.

Basic Qualifications

  • Bachelor’s degree in Computer Science, Engineering, or a related technical field.
  • 3+ years of professional software development experience.
  • Proficiency in Go or a strongly-typed backend language (e.g., Java, C++); strong motivation and ability to work in idiomatic Go full-time.
  • Solid understanding of CS fundamentals — data structures, algorithms, concurrency, distributed systems, and network protocols.
  • Experience building and consuming gRPC or REST APIs in a collaborative team environment using standard workflows: Git, code review, vendored dependencies, and CI/CD pipelines.
  • Strong problem-solving skills with a disciplined approach to debugging, testing (unit and integration), and root cause analysis.
  • Good verbal and written communication skills, including the ability to document technical decisions and architectural tradeoffs clearly.
  • Demonstrated ability to effectively leverage AI coding assistants and LLM-based tools to accelerate development workflows, improve code quality, and solve complex technical problems — including prompt crafting, output validation, and knowing when not to rely on AI suggestions.

Preferred Qualifications

  • Master’s degree in Computer Science or a related field.
  • Hands-on experience deploying Go services in AWS (DynamoDB, EC2, ECS/EKS) or comparable cloud environments, including containerized workloads (Docker/Podman, Kubernetes).
  • Experience with gRPC and Protocol Buffers, including proto schema design and code generation toolchains (e.g., buf).
  • Familiarity with distributed systems patterns: leader election, TTL-based locking, key-value stores (etcd, BoltDB), and graceful multi-node shutdown.
  • Experience with network automation, CLI tooling, or integration with vendor device APIs (SSH, NETCONF, scrapligo).
  • Prior work in an Agile environment with end-to-end ownership across the full SDLC — design, implementation, testing, CI/CD, and release.
  • Demonstrated ability to deliver high-quality software independently, communicate trade-offs across teams, and uphold code quality standards through peer review.
  • Experience with CI/CD pipelines (GitLab CI or similar), Go testing tooling (go test, mocks, integration test patterns), and coverage enforcement.

Similar jobs