Posted in

Senior Software Engineer-Scala

Senior Software Engineer-Scala

CompanyRewards Network
LocationChicago, IL, USA
Salary$150000 – $182000
TypeFull-Time
DegreesBachelor’s
Experience LevelSenior

Requirements

  • 7+ years of experience in back-end software development, with at least 3 years focused on functional programming.
  • Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent experience (e.g., coding bootcamp or self-taught expertise).
  • Expert proficiency in Scala or other functional programming languages for building complex back-end systems.
  • Strong experience with functional programming libraries, including Cats Effect, for concurrent and scalable applications.
  • Advanced skill in designing RESTful APIs and microservices with functional paradigms.
  • Proficiency in event streaming systems like Kafka for real-time processing.
  • Expertise in optimizing relational databases (e.g., PostgreSQL) for high-throughput environments.
  • Ability to write clean, testable code adhering to functional programming principles.
  • Deep knowledge of security practices for critical systems.
  • Proven ability to lead technical projects and mentor engineers across teams.
  • Experience with CI/CD pipelines and containerized environments (e.g., Docker, Kubernetes).

Responsibilities

  • Lead the development of scalable back-end systems to support platform services.
  • Architect RESTful APIs and microservices using functional programming to ensure reliability and maintainability.
  • Build real-time data pipelines to enable efficient platform operations.
  • Optimize databases for performance and data integrity.
  • Mentor team members on functional programming practices and system design for high-quality, testable code.
  • Collaborate with DevOps and data teams to align on platform performance and operational needs.
  • Implement security measures to safeguard sensitive platform data.
  • Oversee projects from design to deployment, ensuring alignment with business goals.
  • Enhance CI/CD processes to maintain platform reliability.
  • Research advanced functional programming techniques to improve system performance.

Preferred Qualifications

  • Familiarity with Typelevel ecosystem (preferred)