Software Engineer- MES III USA

First Solar

First Solar

Software Engineering
Perrysburg, OH, USA
Posted on Wednesday, March 13, 2024

Job Description

First Solar reserves the right to offer you a role most applicable to your experience and skillset.

Basic Job Functions:

Evaluates, designs, and implements projects for controlling and interfacing with the manufacturing processes. This includes designing and developing related data visualization and user input systems, database structures, procedures, and reports. Works with the MES architects and controls engineers to ensure solutions integrate seamlessly with the MES hardware and software systems to support enterprise design goals. Provides execution system technical knowledge and resources to the MES development team. Provides the final level of escalated support for First Solar’s manufacturing execution systems, data architectures, and data collection.


  • Master’s degree in IT, Engineering, or related field with four years of related external work experience or two years of First Solar software development experience OR
  • Bachelor’s degree in IT, Engineering, or related field with six years of related external work experience or 4 years of First Solar software development experience OR
  • Associate’s degree in IT, Engineering, or related field with eight years of related external work experience or six years of First Solar software development experience OR
  • Ten + years of related external work experience or eight years of First Solar IT experience.
  • 6+ years in either manufacturing systems or on software development teams using Microsoft .NET technologies preferred.
  • 4+ years of experience interfacing with manufacturing control systems, shop floor interface/automation systems, programmable logic controllers (PLCs), Supervisory Control And Data Acquisition (SCADA), or OPC data transfer preferred.
  • 2+ years experience:
    • Developing JavaScript/HTML/CSS in modern front-end framework (Angular or React) preferred.
    • Developing Python in Flask or Django preferred.
    • Developing efficient data structures in relational databases, MS SQL Server preferred.

Required Skills/Competencies:

  • Proven Organizational and Project Managerial skills.
  • Demonstrated expertise with manufacturing software architecture and execution systems.
  • Strong troubleshooting and programming software solutions skills based on multi-tiered architecture using C#, ASP.NET, JavaScript, T-SQL, and message processing (MSMQ, RabbitMQ, Kafka).
  • Proven expertise in designing data structures and using/configuring/querying SQL Server databases.
  • Experience interfacing with Allen Bradley Logix PLCs and RSLinx software is preferred.
  • Experience with Inductive Automation Ignition preferred.
  • Demonstrated success in integrating manufacturing hardware and 3rd party software systems.
  • Experience with Service Fabric is preferred.
  • Experience with SQL Server Integration Services (SSIS) is preferred.
  • Experience with Angular and AngularJS is preferred.
  • Experience with Azure DevOps, Git, YAML, and deploying via Pipelines is preferred.
  • Experience with Digital Transformation, Industry 4.0 is a plus.
  • Experience in developing, deploying, and supporting Windows mobile applications is a plus.
  • Proven experience with software development life cycle, Agile teams, change management process, and version control packages.
  • Excellent understanding of computer operating systems and software applications.
  • Excellent understanding of enterprise data systems.
  • Logical troubleshooting skills.
  • Proven interpersonal communications, including the ability to drive international projects with multinational team members.
  • Global experience providing tier three support in a manufacturing environment is a plus.
  • Proficient use of all Microsoft Office suite programs.

Essential Responsibilities:

  • Evaluates, configures, integrates, and deploys execution system software for controlling manufacturing processes and tool data collection.
  • Integrates shop floor systems with custom-developed and off-the-shelf solutions.
  • Designs and develops data visualization and user input systems for manufacturing and related processes.
  • Designs and develops database structures and procedures to operate and maintain software systems.
  • Responsible for post-deployment hypercare and expert-level support on global applications for manufacturing, database, and related systems.
  • Develops software and database applications on a variety of platforms.
  • Manages outsourced software development work.
  • Ensures good QA standards for software development.
  • Manages transitions from the developers (solutions group) to the support group.
  • Documents recurring issues and presents possible solutions.
  • Interfaces with other departments and supplier representatives.
  • Exercises effective communications levels and foster team building.
  • Adheres to all safety procedures and good housekeeping standards.

Key Competencies:

  • Undertakes analytical activities and delivers analysis outputs, in accordance with customer needs and conforming to agreed standards.
  • Maintains knowledge of specific technical specialisms provides detailed advice regarding their application and executes specialized tasks. The specialism can be any area of information or communication technology, technique, method, product, or application area.
  • Contributes to research goals and builds on and refines appropriate outline ideas for the evaluation, development, demonstration, and implementation of research. Uses available resources to gain an up-to-date knowledge of any relevant IT field. Reports on work carried out and may contribute significant sections of material of publication quality. Contributes to research plans and identifies appropriate opportunities for publication and dissemination of research findings.
  • Monitors the market to gain knowledge and understanding of currently emerging technologies. Identifies new and emerging hardware and software technologies and products based on own area of expertise, assesses their relevance and potential value to the organization, contributes to briefings of staff and management.
  • Promotes and ensures use of appropriate techniques, methodologies, and tools.
  • Applies data analysis, data modeling, and quality assurance techniques, based upon a detailed understanding of business processes, to establish, modify or maintain data structures and associated components (entity descriptions, relationship descriptions, attribute definitions). Advises database designers and other application development team members on the details of data structures and associated components.
  • Specifies user/system interfaces and translates logical designs into physical designs taking account of target environment, performance requirements and existing systems. Produces detailed designs and documents all work using required standards, methods, and tools, including prototyping tools where appropriate.
  • Develops specialist knowledge of database concepts, object and data modeling techniques and design principles. Translates object and data models into appropriate database schemas within design constraints. Interprets installation standards to meet project needs and produces database components as required. Evaluates potential solutions, demonstrating, installing, and commissioning selected products.
  • Designs, codes, tests, corrects and documents large and/or complex programs and program modifications from supplied specifications using agreed standards and tools, to achieve a well-engineered result. Takes part in reviews of own work and leads reviews of colleagues' work.
  • Leads Junior Developers, providing instruction and oversight to complete assignments, as well as guidance on proper techniques, best practices, beneficial tooling, design patterns, troubleshooting methodologies, and how best to grow technical capabilities.
  • Selects and uses tools and methods to establish, clarify and communicate the user experience, users' characteristics and tasks, and identifies the technical, organizational and physical environment in which complex products or systems will operate.
  • Defines the integration build, accepts software modules from software developers, and produces software builds for loading onto the target environment. Configures the hardware environment, produces integration test specifications, and conducts tests, recording details of any failures and carrying out fault diagnosis.
  • Assesses and analyses release components. Provides input to scheduling. Carries out the builds and tests in coordination with testers and component specialists maintaining and administering the tools and methods – manual or automatic - and ensuring, where possible, information exchange with configuration management. Ensures release processes and procedures are maintained.
  • Identifies and resolves issues with applications, following agreed procedures. Uses application management software and tools to collect agreed performance statistics. Carries out agreed applications maintenance tasks.
  • Investigates problems in systems and services. Assists with the implementation of agreed remedies and preventative measures.
  • Uses appropriate methods and tools in the development, maintenance, control, and distribution of quality and environmental standards. Makes technical changes to quality and environmental standards according to documented procedures. Distributes new and revised standards.
  • Other duties as assigned.
  • Job description subject to change at any time.

Reporting Relationships:

  • Reports to the Manager- MES.
  • This position will not have direct reports.


  • 5% - 10%

Estimated Salary Range:

  • Estimated Salary Range $94,700-$135,000 annually.

US Physical Requirements:

Office Physical Requirements:

All positions in our office require interaction with people and technology while either standing or sitting. To best service our customers, internal and external, all associates must be able to communicate face-to-face and on the phone with or without reasonable accommodation. First Solar is committed to compliance with its obligations under all applicable state and federal laws prohibiting employment discrimination. In keeping with this commitment, it attempts to reasonably accommodate applicants and employees in accordance with the requirements of the disability discrimination laws. It also invites individuals with disabilities to participate in a good faith, interactive process to identify reasonable accommodations that can be made without imposing an undue hardship.

Potential candidates will meet the education and experience requirements provided on the above job description and excel in completing the listed responsibilities for this role. All candidates receiving an offer of employment must successfully complete a background check and any other tests that may be required.

Equal Opportunity Employer Statement: First Solar is an Equal Opportunity Employer that values and respects the importance of a diverse and inclusive workforce. It is the policy of the company to recruit, hire, train and promote persons in all job titles without regard to race, color, religion, sex, age, national origin, veteran status, disability, sexual orientation, or gender identity. We recognize that diversity and inclusion are a driving force in the success of our company.