Senior Scala Software Engineer
Responsibilities
• Design, analysis, development, testing, and documentation of modules and features of new or upgraded components in common application services supporting Blue Planet Inventory and Orchestration products.
• Execute implementation according to project plans and priorities.
• Develop non-functional features such as localization, logging, metrics, and monitoring.
• Continuous performance and scalability improvements to the software components.
• Extend and create SDKs used by users to author customized features.
• Work closely with the Blue Planet solution teams, internal developers, and customers to support their use of the platform to deliver complete solutions to customers.
Required Experience
• Bachelors/Masters in Computer Science or equivalent field
• 6+ years of development experience in one or more of the following languages: Scala/Java/GoLang/Python • 3+ years of development in Scala
• Familiarity with asynchronous programming and frameworks, such as Akka or Twisted
• Interest and ability to quickly learn and ramp-up on new technologies and existing codebase
• Ability to write understandable, reliable and testable code with minimum supervision
• Effective written and verbal communication skills
Desired Experience
• 5+ years of development in Scala
• Development with Akka clusters and Akka streams
• Microservice architecture and REST APIs
• Distributed, highly-available, horizontally scalable systems running at large scale
• Design and tuning of software components such as Kafka, Elasticsearch, and PostgreSQL, for scaled deployments • Network, service, and data modeling using TOSCA, YANG, JSON Schema, Swagger, etc.
• Design and programming with relational and/or graph database
• Automating tests and delivering software using continuous integration and deployment methodologies and tools • Strong understanding of Linux (Ubuntu/RHEL)
• Understanding of container technology and orchestration framework such as Kubernetes