Software Engineer - Automation and Controls

Moxtek, Inc.
  • Orem, UT
    27 days ago

    Job Description

    Job Summary:

    We are seeking a Controls Software Engineer to join our Equipment Engineering team. In this role, you will develop C# desktop applications that control and interface with custom production and engineering equipment using a variety of hardware communication protocols, including Ethernet, USB, and RS-232.

    Working alongside mechanical, electrical, and software engineers, you will contribute to the design, development, and continuous improvement of innovative manufacturing equipment. This position offers the opportunity to work on challenging, real-world automation systems while helping develop reliable, maintainable software that supports both engineering and production operations.

    Our team is committed to modern software development practices, including clean architecture, object-oriented design, source control, and collaborative development, providing an excellent environment for engineers to learn and grow.

    Responsibilities:

    • Develop and maintain C# desktop applications that control and interface with production and engineering equipment.
    • Design, implement, test, and debug software that communicates with hardware devices using Ethernet, USB, RS-232, and other industrial communication protocols.
    • Collaborate with mechanical, electrical, and software engineers throughout the design, development, and commissioning of new equipment.
    • Write clean, maintainable, and well-documented code using modern software engineering principles and team coding standards.
    • Utilize version control systems (Subversion, Git, etc.) and participate in collaborative development workflows, including branching, merging, code reviews, and CI/CD processes.
    • Troubleshoot software and hardware integration issues using common electronic test equipment and diagnostic tools.
    • Support continuous improvement efforts by identifying opportunities to enhance equipment performance, reliability, and maintainability.

    Preferred Qualifications

    • Interest in writing clean, maintainable, and reusable software as part of a collaborative engineering team.
    • Strong foundation in object-oriented programming with C# and the .NET platform.
    • Experience developing Windows desktop applications using WPF and the MVVM design pattern.
    • Familiarity with modern software engineering practices, including Clean Architecture, SOLID principles, dependency injection, and the .NET Generic Host.
    • Experience using version control systems such as Git or Subversion in a collaborative development environment.
    • Working knowledge of SQL databases and data access concepts.
    • Familiarity with hardware communication protocols such as Ethernet, USB, or serial (RS-232) interfaces.
    • Exposure to industrial automation technologies, including PLCs, Beckhoff controllers, or Structured Text, is a plus but not required.
    • Experience with Linux and embedded platforms such as Raspberry Pi is a plus.
    • Strong analytical and problem-solving skills with an interest in developing software for real-world automation systems.

    Education and Experience:

    • Bachelor's or Master's degree in Computer Science, Software Engineering, or a closely related field.
    • 0-2 years of software development experience, including internships, co-op experience, or relevant academic projects.

    Location:

    This role requires on-site presence; it is not a remote position.

    Numbers & Facts

    LocationOrem, UT

    Skills

    • Analysis Skillsunmatched
    • Automationunmatched
    • Automation System Developmentunmatched
    • Automation Systemsunmatched
    • Code Reviewsunmatched
    • Coding Standardsunmatched
    • Commissioningunmatched
    • Communications Protocolsunmatched
    • Computer Scienceunmatched
    • Continuous Deployment/Deliveryunmatched
    • Continuous Improvementunmatched
    • Continuous Integrationunmatched
    • Debugging Toolsunmatched
    • Dependency Injectionunmatched
    • Design Patterns Programming Methodologiesunmatched
    • Desktop PCunmatched
    • Electrical Engineeringunmatched
    • Embedded Linuxunmatched
    • Ethernetunmatched
    • Gitunmatched
    • Hardware-Software Integrationunmatched
    • Manufacturing Equipmentunmatched
    • Microsoft .NETunmatched
    • Microsoft Access Databaseunmatched
    • Microsoft C# (C Sharp)unmatched
    • Microsoft Windows Desktopunmatched
    • Model View ViewModel (MVVM)unmatched
    • Object Oriented Design (OOD)unmatched
    • Object Oriented Programming (OOP)unmatched
    • Problem Solving Skillsunmatched
    • Programmable Logic Controller (PLC)unmatched
    • RS-232unmatched
    • SQL Databasesunmatched
    • Software Administrationunmatched
    • Software Developmentunmatched
    • Software Engineeringunmatched
    • Source Code/Configuration Management (SCM)unmatched
    • Subversionunmatched
    • Team Playerunmatched
    • Test Equipmentunmatched
    • Testingunmatched
    • USBunmatched
    • Windows Presentation Foundation (WPF)unmatched

    Be found by employers

    5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.

    Level up your application

    Professional resume templates

    Browse dozens of recruiter approved resume templates, layouts and formats. Choose your favorite and make it your own in minutes.

    Free resume templates

    Free resume builder

    Improve your existing resume or start from scratch and create a standout, ATS-friendly resume. Add job-specific content, download and apply.

    Free resume builder