SOFTWARE ENGINEER

“Creating Quality Automation Solutions Through Innovation and Service” is what we are at Kahler Automation. We seek dependable, hardworking candidates who are not only looking for a job, but a career with our progressive team. For additional information on this position, call (507) 235-6648. Send resume and cover letter to: Kahler Automation, c/o Human Resources, 808 Timberlake Road, Fairmont, MN 56031 or e-mail to HR@kahlerautomation.com.

Summary: Converts data from specifications and statements of problems to computer code by performing the duties explained within this listing. Position based in Fairmont, MN.

Essential Duties and Responsibilities:

  • Consults with supervisor, systems analysts, other programmers, and end users to gather information about program intent, functions, features, data requirements, input requirements, output requirements, internal and external checks and controls, hardware and operating system environment, and interfaces with other systems.

  • Designs or writes program specifications based on consultations with supervisor, systems analysts, other programmers, and end users.

  • Converts designs and specifications into computer code.

  • Compiles code into programs and corrects errors detected in compile process.

  • Creates test transactions and runs tests to find errors and confirm program meets specifications.

  • Analyzes code to find causes of errors and revises programs.

  • Writes and maintains documentation of changes to computer code, programs, and specifications.

  • Designs and codes layouts for onscreen user interfaces, printed outputs, and interfaces with other systems.

  • Reviews user and technical documentation written by others to confirm consistency with program operations.

  • Provides technical assistance by responding to inquiries regarding errors, problems, or questions with programs.

  • Revises program for corrections, enhancements, or system environment changes

  • Trains end users or technical support staff to use and support program.

  • Coordinates with other programmers about program revisions.

  • Modifies and maintains software programs written by others.

  • Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.

  • Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.

  • Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking inventory, storing or retrieving data, or controlling other equipment.

  • Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.

  • Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.

  • Consult with customers about software system design and maintenance.

  • Coordinate software system installation and monitor equipment functioning to ensure specifications are met.

  • Obtain and evaluate information on factors such as reporting formats required, costs, and security needs to determine hardware configuration.

Education/Experience: Bachelor’s degree or associate's degree (A. A.) or equivalent from two-year college or technical school with a concentration of software development or six months to one year related experience and/or training; or equivalent combination of education and experience.

Computer Skills: Development software and Internet software; Familiarity with the Microsoft .NET Framework (using Visual Basic and C#), the C programming language and others as assigned; plus productivity software such as Microsoft Word and Excel.