Job Openings Staff Software Engineer (Scala/Spark)

About the job Staff Software Engineer (Scala/Spark)

Key Skills: Scala, Spark

Location: Barcelona (Relocation within the EU)

The Opportunity:

Join us at the forefront of innovation in healthcare analytics. As a science-driven healthcare analytics company with a rapidly growing customer base, We are looking for a software engineer to strengthen our backend engineering team in Barcelona. As a staff software engineer, you will contribute to system architecture discussions and decisions and help with strategy and execution to improve the core analytical backend of our platform. Specifically, you will work with the team to lead continuous improvements, refactoring, and rearchitecting of how we query data using Spark & Scala to meet the growing expectations of our legacy system. You will work closely with our product and science team in providing insights on technology advancements for the platform's analytical capabilities, ensuring scalability, reliability, and availability is at the forefront of strategic conversations.

How will your days look like:

  • Scala Development (60-80%): Spearhead the crafting of advanced analytics code, services, jobs, workflows, and clusters primarily using Scala within Apache Spark. Lead the charge in not just writing code but innovating and optimizing the way we handle data.
  • Quality Assurance: Champion the implementation of automated tests to ensure the robustness and reliability of the codebase, aiming to enhance coverage and maintain high standards.
  • Solution Engineering: Engage deeply in developing and documenting software solutions. Understand user and system needs, collaborate closely with stakeholders, and navigate through data and workflow intricacies to address and resolve technical challenges.
  • Strategic Technical Contribution: Actively participate in the strategic expansion and refinement of the core analytical backend. Ensure that the platform remains cutting-edge by integrating the latest technological advancements, focusing on scalability, reliability, and availability.
  • Feature Development and Standards Compliance: Drive the development of critical features and processes, ensuring that all statistical programs are properly documented and meet industry and regulatory standards for robustness and accuracy.
  • Leadership and Mentorship: Provide guidance and mentorship to less experienced engineers, fostering a culture of technical excellence and continuous learning within the team.
  • Decision-Making in Solution Architecture: Utilize your expertise to make informed decisions between tactical and strategic solutions, ensuring the long-term success and adaptability of our technology.
  • Maintenance and Documentation: Oversee the continued functionality of software during maintenance and testing phases. Meticulously document each aspect of the system or application to facilitate future upgrades and maintenance.

What you need:

  • Educational Background: A Bachelor's Degree in Computer Science, Engineering, or a closely related field, or demonstrable equivalent experience.
  • Seasoned Developer: A minimum of 7+ years crafting production-level code, with a preference for proficiency in Java, Scala, Python, SQL, or R.
  • Specialized Expertise: At least 3+ years of in-depth experience with Apache Spark and Scala programming, showcasing significant projects or contributions.
  • Data Proficiency: Proven track record of working with large datasets, demonstrating an ability to navigate and extract value from complex data environments.
  • Technical Acumen: Solid grasp of system design, data structures, and algorithms, evidencing a high level of problem-solving skills and technical insight.

Preferred Qualifications

  • Strategic Skills: Adept at prioritizing tasks, clearly communicating complex ideas, and designing systems for optimal repeatability and scalability. A strong sense of ownership and a willingness to delve into technology to understand and innovate.
  • Collaborative Spirit: A genuine enthusiasm for working within collaborative team settings and an eagerness to partner with product teams on solving challenging and creative engineering problems.
  • Technical Versatility: A working proficiency in Python and R, adaptable to various technological requirements and environments.