What are the responsibilities and job description for the Scala Developer position at SMX Services & Consulting, Inc.?
Role Summary
We are seeking experienced Scala Developers to design, develop, and support scalable backend services and event-driven microservices in a high-performance enterprise environment. The ideal candidate will have strong hands-on expertise in Scala, Java, Apache Kafka, and RESTful API development, with experience building resilient, distributed systems using modern functional programming and reactive architecture principles.
This role requires close collaboration with frontend, platform, and DevOps teams to deliver highly available, secure, and scalable applications.
Key Responsibilities Backend & API Development- Design and develop RESTful APIs using Scala and Java.
- Build scalable backend services using frameworks such as:
- Scalantra
- Akka HTTP
- Play Framework
- Spring Boot
- Develop and maintain microservices architectures and event-driven systems.
- Define and implement API contracts and integration patterns with cross-functional teams.
- Optionally contribute to GraphQL API development and integrations.
- Develop and maintain Kafka producer and consumer applications.
- Design and implement fault-tolerant event-driven services using Apache Kafka.
- Ensure reliable Kafka integrations including:
- Schema validation
- Error handling
- Retry mechanisms
- Topic design optimization
- Work with Avro/Protobuf serialization standards and message validation patterns.
- Apply functional programming concepts and reactive design patterns in application development.
- Build asynchronous and high-performance services using Scala ecosystem tools.
- Utilize libraries/frameworks such as:
- Akka
- Cats
- Scalaz
- Contribute to code quality, automated testing, and CI/CD pipeline implementation.
- Develop strong unit and integration testing practices.
- Monitor, troubleshoot, and optimize service performance and API response times.
- Collaborate with DevOps teams on deployment automation and operational excellence.
- Strong programming experience with:
- Scala
- Java 8
- Hands-on experience with:
- Apache Kafka
- RESTful APIs
- Microservices architecture
- Experience with Scala frameworks/libraries including:
- Akka
- Play Framework
- Cats/Scalaz
- Experience with Spring Boot and asynchronous programming models.
- Understanding of functional programming and reactive systems.
- Experience with dependency injection frameworks.
- Strong knowledge of:
- Git
- CI/CD pipelines
- API security concepts (OAuth2, JWT)
- Excellent troubleshooting, debugging, and analytical skills.
- Kafka Streams or Akka Streams experience.
- Exposure to:
- Kafka Connect
- Schema Registry
- Message validation patterns
- Experience with:
- Docker
- Kubernetes
- Cloud-native application development
- Familiarity with API gateways such as:
- Kong
- Apigee
- Knowledge of service mesh technologies such as Istio.
- Develop and maintain process flows and technical documentation.
- Mentor client project team members and provide knowledge transfer.
- Participate as a primary, co-, or contributing author on project deliverables.
- Support data conversion and data maintenance activities.
- Recommend industry best practices and scalable technical solutions.
- Provide alternative and innovative technical approaches where applicable.
- Deliver thought leadership alongside hands-on development and configuration work.
- Participate actively as a collaborative member of the technical team.
- Perform additional duties as assigned.