Want A Career With Ivani?

Benefits

Health Insurance

Dental Insurance

Vision Insurance

Supplemental Life Insurance

Mental Health Care

401K Plan

Maternity & Paternity Leave

Reduced or Flexible Hours

Vacation & Paid Time Off

Sick Days

Paid Holidays

Employee Assistance Program

Free Snacks

Pet Friendly Workplace

Computer Budget

Company Social Events

Professional Development

Tuition Assistance

4 Day Work Week

Check Back Soon

Engineer

Engineers at Ivani are expected to be quite flexible and wear different hats as needed. They may be responsible for things like: developing novel algorithms, wrangling varied data, porting and optimizing code, writing clear APIs, or writing indefinitely-stable firmware.

Required:

  • Strong programming skills, preferably in Python and/or C
  • Comfortable working on problems that may or may not have solutions
  • Self-starter able to identify valuable tasks and contribute to them effectively

Potential depth points:

  • Expert in Python
  • Expert in C
  • Communicating technical concepts to non-experts
  • Exploratory data analysis
  • Data visualization
  • Database management
  • Testing evangelism
  • Hardware-in-the-loop testing
  • Cat herding
    Apply Now

    Data (Machine Learning) Engineer

    CHESTERFIELD, MO / ENGINEERING

    The Data (Machine Learning) Engineer will design, develop, modify and implement machine learning models and genetic algorithm for automated network presence systems and solutions.

    Responsibilities:

    • Analyze data collected from spaces outfitted with various IoT devices using Python libraries like Pandas, NumPy and SciPy to solve real-world problems such as activity detection, human presence detection, people counting, real time location tracking, etc.
    • Preprocess (clean, integrate, transform, reduce and discretize) time series network diagnostic data using scripts written in Python.
    • Extract meaningful features from the preprocessed raw data using radio frequency domain knowledge and statistics to improve the performance of existing machine learning models.
    • Create new machine learning models and genetic algorithms using libraries (like Scikit-learn, TensorFlow and Keras) to understand various physical phenomena.
    • Visualize the data in new and interesting ways using Matplotlib and Plotly and Tableau.
    • Design data pipelines and modify them for different installations and scales using InfluxDB and SQLite, Rust, C and Python.
    • Maintain data pipelines by various Python and Bash Shell scripts to periodically perform cleanup tasks and integrity checks.
    • Perform unit and integration tests on the data pipelines to ensure robustness and reliability.
    • Optimize data pipelines to increase efficiency in terms of computing power and storage size in order to minimize operating costs and enable installation at larger scales.
    • Develop frameworks for showcasing the various products and solutions using Bokeh.
    • Demo and present state of the art solutions to human presence detection and real time location tracking to potential partners/customers.
    • Automate system maintenance, monitoring and notification using Bash Shell and Python scripts.

    Requirements:

    • Master’s degree (or the equivalent) in Computer Science/Engineering, Information Technology, or a closely related field.
    • Minimum 1 year of experience in the same or a closely related position such as software developer, or systems/programmer analyst.
    • Nationwide telecommuting available.
      Apply Now

      Electronics/Firmware Engineer

      St. Louis, MO / ENGINEERING

      The Electronics/Firmware Engineer will design, develop, support and maintain high-quality and reliable firmware applications for intelligence network systems, components and devices for business usage.

      Responsibilities:

      • Design, implement, and maintain electrical/electronic instruments, components, and/or systems for industrial, commercial, or domestic purposes using Python, C/C++, Rust, Go Lang, Influx DB, Git, Linux and Pycharm.
      • Prepare electrical/electronic systems specifications, technical drawings, and/or topographical maps using AutoCAD.
      • Perform detailed calculations to establish construction, manufacturing, and installation standards or specifications.
      • Design, develop and modify network control systems using scientific analysis and mathematical models to predict and measure outcome and consequences of design to fit user needs.
      • Interface with cloud services, including working with third-party hardware and writing analysis scripts for various purposes.
      • Write, test, refine firmware code, and communicate with other programmers involved in the project using Pycharm and Python.
      • Evaluate the software and systems that make computers and hardware work in Vmware.
      • Integrate existing software products and get incompatible platforms to work together.
      • Write systems code to control the scheduling of jobs and/or to control the access allowed to users or remote systems.
      • Investigate new technologies and conduct trade studies.

      Requirements:

      • Master’s degree (or the equivalent) in Electrical/Electronic Engineering, Systems Engineering or a closely related field.
      • Minimum 1 year of experience in the same or a closely related position such as electrical engineer, systems engineer, etc.
        Apply Now

        Check Back Soon

        Software / Electrical Engineer (Senior & Entry Level)

        Software/Electrical Engineers at Ivani are largely responsible for human understandable algorithm development and being able to flexibly handle development needs as they exist in the team. The job involves data analysis, writing various Python scripts, working with microprocessors and wireless communication devices, exploring machine learning techniques, and algorithm development. Most of the work is done in Python, but may involve embedded C and various other frameworks. In terms of development context, scripts may be developed on Windows, Linux, and other systems, Further duties include interfacing with cloud services as needed, working with 3rd party hardware, and writing analysis scripts for various purposes. Must enjoy working with wireless communications hardware, writing Python scripts, being flexible in day to day tasking, and having fun at the office.

        Credentials:

        • Strong Python skills, other languages always a plus
        • Comfort working with embedded C
        • Strong data analytics capabilities
        • Senior Level- PhD and/or 5+ years experience
        • Entry Level- M.S. Electrical/Computing/Software/Systems/Robotics Engineering
        Apply Now

        Machine Learning Engineer (Senior & Entry level)

        Machine Learning Engineers at Ivani help analyze the data collected by wireless communication networks, engineer features, and build models to enhance the classification of those features into the various data classes provided by Network Presence Sensing™ technology. Most of the work is done in Python, utilizing a wide range of Machine Learning techniques, from traditional ML models to more complex Deep Learning/Neural Networks. As a part of the Machine Learning team, a candidate would be comfortable working with not only the members of that team, but also the other teams within Ivani. Collaborations with respect to improving data collection, collaborative feature building, and machine learning model porting are all part of a day’s work. Candidates can also expect to support new concepts or develop across teams from time to time. Must enjoy manipulating data, working in higher dimensional space, and having fun at the office.

        Credentials:

        • Strong Python skills, other languages always a plus
        • Comfort using a wide range of Machine Learning techniques to solve problems
        • Strong data analytics capabilities
        • Familiarity with time series data
        • Senior Level- PhD and/or 5+ years of Machine Learning industry experience
        • Entry Level- M.S. Computer Science, Software Engineering or similar
        Apply Now

        Embedded Software Engineer (Senior & Entry Level)

        Embedded Software Engineers at Ivani are largely responsible for creating and maintaining the platform on which Network Presence Sensing is built. This largely involves working with a wide variety of wireless networking protocols, including but not limited to ZigBee, Thread, Bluetooth® Low Energy, WiFi, and Z-Wave, using chipsets and stacks provided by various vendors. Creating large networks of devices, separating those networks into detection areas, and generating communications between nodes on those networks requires a significant amount of effort. Most of the work is done in embedded C and managed in git repositories. Further duties include optimizing algorithms written by the other two dev teams at Ivani to run on embedded hardware, and supporting their needs with regards to wireless communications and networking. Must enjoy working with wireless communication stacks, complaining about design decisions made by the micro manufacturers, dealing with a wide range of customer requests, and having fun in the office.

        Credentials:

        • Strong embedded C skills, proficient in Python, other languages always a plus
        • Experience with one or more short range wireless communication protocols (ZigBee, Thread, Bluetooth® Low Energy, WiFi, Z-Wave)
        • Ability to work with a variety of microprocessors
        • Senior Level- PhD and/or 5+ years experience with embedded systems
        • Entry Level- M.S. Electrical/Computing/Software/Systems/Robotics Engineering
        Apply Now

        Tools Engineer (Entry Level)

        A tools engineer at Ivani is responsible for creating and maintaining various tools that will support the activities of the embedded, algorithm, and machine learning teams. The range of tools is wide and may include one-off scripts for data analysis, GUIs to simplify interacting with our system, scripts that set up and run tests on permanent hardware testbeds, scripts to simplify or automate building, etc. A qualified applicant should be able to create useful programs quickly in at least one language, and be willing to learn and use other languages as needed. Further duties will include proactively learning about the needs of other teams, maintaining existing tools, and supporting team members who need help outside their main programming language.

        Must cringe at the phrase “Because we’ve always done it this way.” Must enjoy coding, making life easier for others, being a force multiplier for other engineers, and having fun at the office.

        Credentials:

        • Strong coding skills in at least one language
        • Comfortable working with Python
        • Comfortable making GUIs and dashboards
        • Strong desire to improve everything
        Apply Now