Sorry, this listing is no longer accepting applications. Don’t worry, we have more awesome opportunities and internships for you.

Software Engineer Machine Control and Automation

ENVISN INCORPORATED

Software Engineer Machine Control and Automation

St. Louis, MO
Full Time
Paid
  • Responsibilities

    Title: Software Engineer – Machine Control and Automation – Mid Level

    Location: St. Louis, MO (100% ONSITE from Day 1)

    Duration: Long term contract

    Our Global Breeding Automation Engineering Team is a group of technologists passionate about creating the systems that fuel the farm of the future. We are reimagining and rebuilding our entire suite of field and lab technologies for the world of digital ag, a world that is geospatial, connected, automated, and cognitive. A world where every plant matters. A world where machines, agronomists, breeders, scientists, and engineers work collaboratively to deliver products that revolutionize the experience of our customers. We're looking for an experienced software engineer to join our Field Systems team to help create the next generation of automated R&D field equipment. Your responsibilities will include requirements, design, development, test, and support of our research control software systems. Systems capabilities include data acquisition from other hardware/software systems, machine control, cloud connectivity, process control and user interaction. You will also be looked upon to be a technical leader and mentor to junior engineers. You will be a member of a cross functional team, expected to set technical direction and organize how tasks fit into the overall project.

    This position requires a bachelor’s degree in computer science, computer engineering, electrical engineering, mechanical engineering, or related discipline with 4+ years of demonstrable experience owning the development of automated/control systems.

    Required Skills:

    Strong software development skills

    Ability to drive software development in all phases of the product lifecycle as part of a small multi-disciplined engineering team. This includes project planning, deriving requirements from system objectives, organizing, and prioritizing work, delivering results, and providing support.

    7+ years’ experience developing machine to machine (M2M) and electromechanical automation system software in C#, C++, C, or Python

    7+ years’ experience developing multi-threaded/process applications/services and the common constructs and patterns associated with them.

    Excellent system (software and hardware) troubleshooting and debugging skills

    Experience with and an understanding of the value of modern development concepts and practices including OO principles, unit testing, agile development, TDD and continuous delivery

    Experience developing networked systems that communicate with data generating devices and data aggregation and transformation services

    Experience developing with network protocols such as TCP and UDP over IP

    Attention to detail and data driven decision making

    Experience in developing applications on multiple operating systems such as Windows, Linux, iOS, Mac OS, Android.

    Preferred Skills:

    Experience developing IoT, and data driven systems

    4+ years’ experience developing with MS technologies such as Visual Studio .NET, WPF, WinForms, console applications, etc.

    Experience using serial communication standards such as RS422, RS485, and RS232

    Experience developing data-driven systems using relational and/or NoSQL database technologies such as Oracle, SQLite, PostgreSQL, SQL Server, MongoDB, Cassandra

    Experience with and understanding of the value of modern development tools such as Git, CVS, Subversion, Jenkins, NuGet, JIRA, Aha, and Azure DevOps

    NOTES-

    Overview of the role: What is a day like in this role? Candidate gets to develop software to automate machinery and communicate with cloud infrastructure. This enables new capabilities in digital agriculture and R&D.

    • Who will this person work with on a daily basis? Software development teammates.

    • Tell me about the team dynamic/culture – long standing team that has worked together for years or fairly new team? How does the team work together? Small team, lots of ambiguity. Candidate must take initiative.

    • List top 5 must haves to be successful in this role.

    Solid software development skills

    General knowledge of Physics and Engineering principles

    Ability to self-organize

    Problem solving skills

    Ability to communicate effectively without being asked.

    • What kind of soft skills are you looking for? Ambition, communication, reliable