Software Engineer – Python Developer

Job title: Software Engineer – Python Developer

Company: RCMT

Job description: Job Description
Our client is incubating a new software venture in the Industrial Internet of Things (IIoT) space. The particular service offering is in the context of Predictive Maintenance (PdM) and has the goal to reduce operational disruptions due to equipment malfunction.

We are looking for a Software Engineer who will be responsible for transitioning algorithms developed in the lab to robust and reliable software capable of accommodating large volumes of data and being deployed as a service offering in a large number of different industrial environments. The algorithms focus on anomaly detection, diagnostics, and prognostics of failure that leverage machine learning techniques and hybrid machine learning/physics-based variants using streaming sensor data from industrial equipment.

The Software Engineer needs to be comfortable with engaging in the end-to-end process of remote monitoring which includes all steps from data collection to analytics results presented back to customer. The Software Engineer is expected to adhere to disciplined coding guidelines and styles so that the solutions can be integrated into a software platform. Additionally, the solutions need to be robust to variations to input, minor design variations, and similar so they can be scaled across these different customer applications.


  • Write reusable, testable, and efficient code
  • Design and implementation of low-latency, high-availability, and performant applications
  • Implementation of security and data protection
  • Integration of data storage solutions
  • Performance tuning, improvement, balancing, usability, automation
  • Work collaboratively with research team to understand requirements to provide technical solutions and for the implementation of new software features
  • Coordinating with development teams to determine application requirements.
  • Testing and debugging applications.
  • Developing back-end components.
  • Integrating user-facing elements using server-side logic.
  • Assessing and prioritizing client feature requests.
  • Integrating data storage solutions.
  • Coordinating with algorithm developers.
  • Reprogramming existing databases to improve functionality.
  • Build reproducible back tests for proposed models / algorithms.
  • Come up with creative ways to find and use algorithms that significantly impact performance metrics.
  • Development of automated testing functionality to incorporate into CI/CD pipeline.
  • Experience with real-world customer deployment using multi-team Git-based source code branching strategies.
  • Experience with Go, Linux, and Docker a plus.


  • Working knowledge of machine learning
  • 3-5 years of experience as a Software Engineer.
  • Excellent communication skills
  • Must be able to conceive of solutions that have not been already defined
  • Facility with Python, scikit-learn, pandas, Matplotlib, and TensorFlo


  • Experienced in a 24/7 distributed teams
  • Experience working as Software Engineer in industry
  • Experience working with large real-time data streams
  • Experience with IoT architecture and SaaS
  • Experience working with distributed technologies (REST, web services, WebAPI, microservices, etc.)
  • Comfortable working in a variety of different applications.
  • Ability to collaborate on projects and work independently when required.

The job location is Palo Alto, CA, but the client is flexible with working remotely for this role. Please note that the position could require occasional travel (up to 20%),mostly within North America post COVID.

RCM Technologies, (USA) Inc. is an Equal Opportunity Employer M/F/D/V. RCM encourages applicants of all ages.


Expected salary: $150000 – 180000 per year

Location: Palo Alto, CA

Job date: Wed, 06 Oct 2021 03:00:45 GMT

Apply for the job now!

Leave a Comment

%d bloggers like this: