NOTE: (hybrid work schedule: 3 days in office, 2 days remote)
Responsible for the functional and empirical analysis and design as related to developing and implementing user interface software for the company's products. This may include, but is not limited to, operating software, utility software, development software and diagnostic software. May be involved in the development of testing strategies.
- Great communicative capabilities to supply technical advice and information to others.
- Supervise other software engineers and technicians assigned to a particular job or project.
- Create, modify, and maintain software for new and revised products.
- Developing and tracking schedules for software development or revisions.
- Programs in .NET, using WPF Framework and WinForms and other high level languages.
- Assists in the development of programming standards and practices.
- Uses software development tools such as Visual Studio debugger.
- Works with Design Engineer and/or Project Leader during the development of new or revised design.
- Assist in the development of the definition of the software requirements, objectives, and modules for a new or revised designs.
- Assist in the development of new software architecture, security features and drivers.
- Perform or assists others in software testing, or establishing software testing requirements.
- Works with customers, users, and others to develop software operating requirements or to troubleshoot/debug existing problems. This includes travel when required.
- Assists in the training of the software operation of new or revised design.
- Develops and/or direct device communications standards, software programs, and hardware requirements.
- Estimate Engineering effort and material required on jobs or proposals being quoted.
- Performs other duties as assigned.
- .NET programming language and development with WPF Framework or WinForms.
- In addition to software development, responsibilities of the position include analysis of technical requirements, software architecture and design, and software verification.
- Must have a bachelor’s degree ideally in Computer Science or equivalent.
- 6 years software design experience.
- Working knowledge of software version control tools such as SVN and Git.
- Working knowledge of Window operating system, networking and multithreaded execution systems.
- Working knowledge of .NET, using WPF Framework and WinForms and other high level languages.
- Working knowledge of functional programming languages like Elm and Rust (preferred).
- Working knowledge of relational database and SQL scripting language (preferred).
- Familiarity with XML and JSON schema.
- Knowledge using Visual Studio, unit testing / test-driven development, source control using Git or Subversion, security, secure coding, knowledge of electrical engineering and power systems (preferred).
- Familiarity with third party code integration (preferred).
- Ability to exchange and furnish information requiring detailed explanation and discussions with customers and various levels of personnel.
- Travel as required for training, support of project tasks, product issues, or other design or job related needs.
Job Type: Full-time
Pay: $90,000.00 - $125,000.00 per year
- 401(k) matching
- Dental insurance
- Flexible schedule
- Health insurance
- Paid time off
Ability to commute/relocate:
- Highland, IL: Reliably commute or planning to relocate before starting work (Required)
Work Location: One location