Senior Software Engineer (remote)

Engineering · Full-time · Piedmont, Italy

Job description

As an integral member of Criteria’s Global Engineering team, the Senior Software Engineer will be responsible for designing and developing solutions to application problems, ensuring a solid development framework of leading-edge technology and process is utilized in developing the Criteria product to meet business needs and vision.  This will involve collaborating with the wider Research and Development (R&D) team and key stakeholders including R&D Psychology, Product and Project Managers.

We are looking to hire a Senior Software Engineer who will play a pivotal role in advancing our technology stack, mentoring junior team members, and contributing to the evolution of our product offerings. If you are passionate about innovative technologies and thrive in a collaborative environment, we would love to hear from you. 

REQUIRED KNOWLEDGE/SKILLS/ABILITIES

To be successful in this role the incumbent will demonstrate the following:

  • Comfortable working during parts of the day that overlap with Pacific Standard Time (PST) and/or Australia’s AEST for occasional meetings.
  • Excellent English-speaking skills, with a strong command of written English, and comfort in collaborating with native English speakers.
  • Proficiency in PHP and advanced JavaScript.
  • Experience in front-end web development using JavaScript
  • Proven track record in creating API back-ends and connecting them to web application front ends.
  • Hands-on experience with Amazon Web Services (Lambda, API Gateway, DynamoDB, EC2, AWS-SDK).
  • Experience working in a continuous integration/deployment environment
  • Expertise in implementing and maintaining unit, integration, and system tests
  • Meticulous attention to detail and the ability to create quality documentation
  • Natural curiosity and a proactive drive to continually develop skills and assist junior team members.
  • Superior problem-solving skills and diligence in task execution.

Additional Desirable Skills include:

  • Experience in NodeJS and/or TypeScript development.

  • Familiarity with front-end frameworks such as React.

  • Experience with Infrastructure as Code principles.

  • Proficiency in Linux scripting languages such as Shell or Groovy.

  • Fluency in multiple programming languages.

  • AWS (Amazon Web Services) Certification (e.g., AWS Developer Associate).

  • Engagement in side projects or personal development that enhances your in-office skills.

RESPONSIBILITIES
Tech/Programming:

  • Master the tools and technologies used at our company.
  • Routinely evaluate current or emerging methodologies, technologies, and frameworks for feasibility or improvement.
  • Scope, design, and estimate the effort of solutions, ensuring adherence to architectural best practices (performance, resiliency, cost, security, and operational excellence).
  • Translate detailed business requirements into robust and comprehensive system designs.
  • Undertake programming for various applications and systems.

Quality:

  • Contribute to and enhance the automation of testing by writing unit, integration, functional, smoke, performance, and security tests.
  • Participate in efforts to improve code quality and reduce technical debt.

Delivery:

  • Assist in the implementation of continuous integration and continuous delivery.
  • Enhance the monitoring of system operations to detect potential issues (infrastructure, application, and security).

Collaboration:

  • Actively participate in the agreed Software Development Life Cycle (SDLC).
  • Contribute to and refine standards, policies, and procedures to ensure operational excellence.
  • Maintain and update internal documentation and wikis.
  • Communicate project information to stakeholders through presentations, technical reports, or white papers.
  • Provide regular status updates (including identifying deviations) to stakeholders.

Support:

  • Offer technical guidance or support for the development or troubleshooting of systems.
  • Mentor other team members to ensure leading practice.

Other:

  • Adhere to all internal procedures and policies (e.g., change control, security and auditing, release, configuration, problem, and incident management).
  • Perform other reasonable tasks consistent with your skills, qualifications, and experience on an as-needed basis.
  • Proactively manage your career progression.


Teams

This job is not in any teams