Software Engineer 2/3

Berkshire Hathaway Energy•Des Moines, IA

About The Position

The Software Engineer II participates in the design, programming, testing, documentation, implementation, and maintenance of complex computer applications and systems. The role evaluates software packages, recommends solutions to management and business clients, identifies suitable technology, and plans for future technology needs. Depending on level, the position requires at least two years of relevant experience for Software Engineer 2 or five years for Software Engineer 3.

Requirements

  • Bachelor’s degree in management information systems, computer science, or a related technical field, or equivalent work experience. Typically, four years of related, progressive work experience would be needed in place of a bachelor’s degree.
  • For Software Engineer 2: at least two years of experience in business software application design, development, integration, and/or installation.
  • For Software Engineer 3: at least five years of experience in business software application design, development, integration, and/or installation.
  • Knowledge of programming in a client/server or web development environment.
  • Experience in the industry or in an environment of comparable scope, size, and complexity.
  • Knowledge of open systems object design methodologies, architecture methodologies, security practices, and integration techniques.
  • Knowledge of relational database technology, structured analysis concepts, and software design patterns.
  • Effective project management skills and ability to prioritize and handle multiple tasks and projects concurrently.
  • Business analysis aptitude, including communication and interpersonal skills that enable understanding of client needs.
  • Knowledge of information technology terminology, equipment, systems, functions, and major vendors.
  • Experience integrating large, disconnected enterprise-class systems in a robust, fault-tolerant manner consistent with industry standards.
  • Ability to work in a zero-code-ownership environment in which team members can modify any source file.
  • Understanding of deployment topologies, including designing secure, highly available systems.
  • Effective oral and written communication skills.
  • Effective analytical and problem-solving skills.
  • Availability for periodic on-call responsibilities.
  • Experience integrating commercial off-the-shelf (COTS) solutions in an environment with strong change and release management processes and procedures.
  • Hands-on technical experience in Oracle and Microsoft SQL database development.
  • Hands-on technical experience with .NET and other current computing programming languages.
  • Hands-on technical experience with Microsoft BizTalk Server, Microsoft SharePoint, Microsoft SQL Reporting Services, and Oracle business intelligence/reporting.
  • Understanding of the company’s existing IT environment and applicable company policies, practices, and procedures.

Responsibilities

  • Architect, design, code, test, document, implement, and maintain complex application programs and interfaces; may serve as a senior contributor or technical lead on small- to mid-sized projects.
  • Provide technical support, investigate and resolve problems, and implement upgrades for developed applications.
  • Enhance existing systems; participate in client walkthroughs, technical design reviews, and peer code walkthroughs; support clients and applications; and assist with systems development planning and monitoring.
  • Develop software in accordance with performance optimization, interoperability, and secure development lifecycle standards and policies.
  • Research and gather facts to develop or modify application programs, including reviewing vendors’ products for quality, adaptability, and compatibility.
  • Serve as a subject matter expert and consult with clients about IT strategy and business requirements.
  • Collaborate with applications and infrastructure teams to identify technology deficiencies and opportunities to improve practices and procedures.
  • Keep current with software development industry standards and techniques, applying them to development, testing, integration, and reporting processes where appropriate.
  • Consult with application users to develop functional and technical specifications and assess requests for new or modified applications and interfaces, including feasibility, cost, schedule, and compatibility.
  • May guide Software Engineer I employees on assigned projects.
  • Provide technical input to project planning.
  • Perform additional responsibilities as requested or assigned.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service