All offersWarszawaScalaScala Software Engineer
Scala Software Engineer
Scala
1dea

Scala Software Engineer

1dea
Warszawa
Type of work
Full-time
Experience
Senior
Employment Type
B2B
Operating mode
Remote

Tech stack

    Scala
    advanced
    Java
    regular
    NoSQL
    regular
    Python
    junior

Job description

Online interview
Friendly offer

Position Overview:

We are looking for an experienced Scala Developer to design, develop, and maintain robust and efficient backend systems using Scala and related technologies. The ideal candidate will have a strong background in functional programming, concurrent programming, and software engineering principles. You will collaborate with cross-functional teams to translate business requirements into scalable and maintainable code, while ensuring the highest standards of quality and performance.


Responsibilities:

  • Design and develop backend services and APIs using Scala and related frameworks, such as Akka, Play, or Lagom.
  • Write clean, concise, and well-documented code following best practices and coding standards.
  • Collaborate with frontend developers, QA engineers, and product managers to deliver end-to-end solutions that meet business requirements and user needs.
  • Optimize and tune performance-critical components to ensure scalability, reliability, and responsiveness of the system.
  • Implement automated tests and continuous integration pipelines to ensure the quality and stability of the codebase.
  • Stay up-to-date with the latest advancements in Scala and functional programming paradigms, and apply them to improve the efficiency and effectiveness of our development processes.
  • Participate in code reviews, knowledge sharing sessions, and technical discussions to foster collaboration and learning within the team.


Qualifications:

  • Bachelor's degree or higher in Computer Science, Engineering, or a related field.
  • Proven experience (4+ years) in software development using Scala, with a strong understanding of functional programming concepts and principles.
  • Solid understanding of concurrent and distributed systems, as well as experience with related tools and frameworks.
  • Proficiency in other programming languages, such as Java, Python, or JavaScript, is a plus.
  • Experience with relational and NoSQL databases, message brokers, and caching systems.
  • Strong problem-solving skills and the ability to analyze and debug complex issues in distributed systems.
  • Excellent communication and collaboration skills, with the ability to work effectively in a team environment.