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