Your responsibilities will include involvement in the architecture, design, development, test, and support of our software systems. Systems where capabilities will include data acquisition from other hardware/software systems, machine control, and a user interface aspect. You will also be looked upon to be a technical leader and mentor to junior engineers. This position requires a bachelor’s degree in computer science, computer engineering, electrical engineering, mechanical engineering or related discipline with 7+ years of demonstrable experience owning the development of automated/control systems.
Strong software development skills
7+ years experience developing machine to machine (M2M) and electromechanical automation system software in C# (3.0 and greater), C++, C, Java
7+ years experience developing multi-threaded/process applications/service and the common constructs and patterns associated with them.
Excellent system (software and hardware) troubleshooting and debugging skills
5+ years experience developing with MS technologies such as Visual Studio 2008, 2010, 2013, .NET 3.5 and greater, WPF, Winforms, console applications, etc.
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 services
Experience developing with network protocols such as TCP and UDP over IP
Attention to detail and data driven decision making
Experience developing IoT and data driven systems
Experience in developing applications on multiple operating systems such as Windows, Unix, Linux, iOS, Mac OS, Android.
Experience using fieldbus protocols such as EtherCAT, SynqNet, DeviceNet, ControlNet, Modbus, Profibus, CANopen.
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 PLC programming using Structured Text.
Experience with and understanding of the value of modern development tools such as Git, Jenkins, NuGet, and JIRA