Senior Software Engineer

  • Remote, United States
  • Fully Remote
  • Software Engineering

Role:

  • Responsibilities:

    • Lead the design, architecture, and implementation of complex software solutions, ensuring they align with business goals and technical requirements.

    • Design, implement, train, enrich and optimize large-scale machine learning models and pipelines, ensuring they meet performance, scalability, and business requirements.

    • Develop and implement robust, scalable, and secure data architectures to support advanced machine learning models, real-time analytics, and data processing workflows.

    • Create data strategies encompassing ETL/ELT pipelines, data lakes, and warehouses, while ensuring adherence to data governance, privacy, and compliance standards.

    • Collaborate with data scientists, engineers, and business stakeholders to build ML-ready data ecosystems, optimizing data pipelines for feature engineering, model training, and inference at scale.

    • Provide technical leadership and guidance to engineering teams, ensuring best practices and high-quality code.

    • Take ownership of critical components of software systems, driving improvements in scalability, performance, and maintainability.

    • Collaborate with cross-functional teams, including Product, Operations, and Design, to define and refine product requirements and technical specifications.

    • Analyze and address software bottlenecks, bugs, and scalability issues, continuously improving system performance and reliability.

Qualifications:

  • Experience:

    • 6 years of experience in software development, with a strong background in system architecture and leading engineering teams.

    • Proven experience in designing, developing, and maintaining large-scale, high-performance software systems.

    • Expertise in multiple programming languages (Java) and proficiency in relevant frameworks and technologies.

    • Experience with Azure cloud platform.

    • Experience working in Agile development environments, collaborating with cross-functional teams to deliver software solutions.

    • Proven ability to work on complex technical challenges, solving issues related to performance, scalability, and security.

    • Experience in driving the adoption of engineering best practices, including automated testing, continuous integration, and version control.

  • Skills:

    • Expert-level proficiency in at least one programming language, with a solid understanding of software design patterns, algorithms, and data structures.

    • Strong leadership and mentoring skills, with the ability to guide and inspire engineering teams.

    • In-depth knowledge of cloud infrastructure, containerization (Docker, Kubernetes), and CI/CD practices.

    • In-depth knowledge and hands-on on Machine Learning and Data Science.

    • In-depth knowledge and hands-on Azure Infrastructure

    • In-depth focus on design documentation.

    • Experience with software testing methodologies, debugging, and performance optimization.

    • Excellent problem-solving and analytical skills, with a focus on delivering innovative and scalable solutions.

    • Strong communication skills, with the ability to clearly articulate complex technical concepts to both technical and non-technical stakeholders.

    • Proven ability to contribute to long-term technical vision and strategy, balancing business requirements with technical constraints.

  • Education:

    • Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.