Match score not available

Mid-level Software Engineer (C++/Java, ML)

extra holidays
Remote: 
Full Remote
Experience: 
Mid-level (2-5 years)
Work from: 

Offer summary

Qualifications:

BSc/MSc in Computer Science, Engineering, 3+ years in C++ and Java.

Key responsabilities:

  • Design, develop software applications
  • Maintain performance, reliability, scalability
  • Collaborate with cross-functional teams
  • Identify bottlenecks and suggest improvements
  • Need to code profiling and code optimization
Omilia - Conversational Intelligence logo
Omilia - Conversational Intelligence Information Technology & Services SME https://omilia.com/
201 - 500 Employees
See more Omilia - Conversational Intelligence offers

Job description

The mid-level C++/Java Engineer will be responsible for designing, developing, and maintaining software applications that ensure high performance, reliability, and scalability. This role requires a strong foundation in C++ and Java, along with the ability to collaborate with cross-functional teams to deliver innovative solutions for complex problems. The engineer will play a crucial role in the development lifecycle, from conceptual design to implementation, testing, and deployment, contributing to the continuous improvement of our software products.

Responsibilities:

Software Development:

  • Design and develop high-volume, low-latency applications for mission-critical systems geared for high availability and performance;
  • Consistently produce well-designed, testable, and efficient code;
  • Ensure designs are in compliance with specifications;
  • Contribute to all phases of the development lifecycle;
  • Prepare and produce releases of software components;
  • Ensure software is updated with the latest features;
  • Design, develop, manage, and support microservices;
  • Identify performance bottlenecks and suggest improvements;
  • Scale services in a DevOps mindset;
  • Sustain, improve, and implement new features for tools written in C++ and Java.

Code Optimization & Code Profiling:

  • Identify and implement performance improvements in existing codebases to enhance application efficiency and speed;
  • Use profiling tools to analyze and identify bottlenecks in the software, optimizing code to achieve better performance.

Ownership:

  • Take full ownership of tasks and projects, from conceptualization to deployment, highlighting testing to ensure accountability and high-quality results;
  • Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review;
  • Produce specifications and determine operational feasibility;
  • Integrate software components into a fully functional software system.

Problem Solving:

  • Analyze complex problems and provide innovative solutions to address technical challenges and improve product functionality;
  • Troubleshoot, debug, and upgrade existing systems;
  • Debug and resolve issues and perform resolution follow-up;
  • Solve scalability and performance issues.

Agile Methodologies & Collaboration:

  • Actively participate in Agile software development processes, including sprint planning, daily stand-ups, and retrospectives to ensure timely and high-quality deliverables;
  • Work closely with cross-functional teams, including product managers, designers, and other engineers, to gather requirements and ensure alignment on project goals;
  • Participate in project planning, including research and development;
  • Contribute to the backlog of tasks with improvements and suggestions;
  • Implement Proof of Concepts (PoC) to introduce new solutions and ideas to the team;
  • Effectively manage time and meet deadlines.

Documentation:

  • Maintain comprehensive documentation of software design, development, and testing processes to facilitate knowledge sharing and future maintenance;
  • Contribute actively and effectively as an integrated team member;
  • Meet regularly with the line manager to review progress;
  • Manage issue resolution and critically escalate;
  • Work effectively with other teams, units, and departments;
  • Manage issues with clarity and ensure effective information flow and team working;
  • Support organization's other priority activities, when necessary;
  • Act as an Omilia ambassador.

Requirements

  • BSc/MSc degree in Computer Science, Engineering, or a related subject;
  • At least 3 years of working experience in C++ and Java development;
  • Advanced knowledge of Java/Java EE application development;
  • Strong C++ code development and debugging skills, including unit, code optimization, code profiling, and regression testing;
  • Understanding of basic machine learning practices and the ML model development lifecycle;
  • Experience with Agile software methodologies and an empowerment approach for engineers, emphasizing accountability for end-to-end deployments;
  • Experience with Gitflow (Git for source code control);
  • Experience with QA in one or more of the following frameworks: pytest, k6, or Locust;
  • Experience with Security (e.g., infosec exceptions, penetration testing, SonarQube, logging);
  • Experience in writing APIs and/or Web Services & Microservices using Java 8+;
  • Proficiency in object-oriented analysis and design using common design patterns;
  • Experience handling product requests;
  • Self-motivated and driven to create extraordinary things;
  • Ability to work under pressure and on strict deadlines;
  • Continuous innovation mindset;
  • Excellent written and oral communication skills in English;
  • Experience with Agile methodologies and DevOps practices;
  • Proven ability to identify and resolve performance bottlenecks;
  • Effective time management skills and the ability to meet deadlines.

Nice to have:

  • Experience in AI, NLP technologies, and Speech-related technologies;
  • Experience in automatic speech recognition, language modeling, and machine learning;
  • Experience developing automatic speech recognition or machine learning algorithms in C/C++ or Java;
  • Experience with ONNX Runtime and Torch runtime in C++;
  • Experience with KALDI and k2 runtime in C++;
  • Experience with NVIDIA Triton Inference Server;
  • Experience with DevOps practices (Git CI/CD).

Benefits

  • Fixed compensation;
  • Long-term employment with the working days vacation;
  • Development in professional growth (courses, training, etc);
  • Being part of successful cutting-edge technology products that are making a global impact in the service industry;
  • Proficient and fun-to-work-with colleagues;
  • Apple gear.

Omilia is proud to be an equal opportunity employer and is dedicated to fostering a diverse and inclusive workplace. We believe that embracing diversity in all its forms enriches our workplace and drives our collective success. We are committed to creating an environment where everyone feels welcomed, valued, and empowered to contribute their unique perspectives without regard to factors such as race, color, religion, gender, gender identity or expression, sexual orientation, national origin, heredity, disability, age, or veteran status, all eligible candidates will be given consideration for employment.

Required profile

Experience

Level of experience: Mid-level (2-5 years)
Industry :
Information Technology & Services
Spoken language(s):
English
Check out the description to know which languages are mandatory.

Other Skills

  • Time Management
  • Problem Solving
  • Communication
  • Self-Motivation
  • Collaboration
  • Proactivity

Software Engineer Related jobs