Software Engineer 2

Berkshire Hathaway EnergyDes Moines, IA

About The Position

Software Engineer II designs, develops, tests, and supports software solutions of moderate to high complexity. This role works independently on well-defined problems, collaborates with stakeholders and team members, and contributes to selecting and improving technologies used across the team.

Requirements

  • Bachelor’s degree in computer science, Software Engineering, or related field—or equivalent practical experience
  • Two or more years of experience of development in Object Oriented languages
  • Foundational experience building software across frontend, backend, or RESTful APIs
  • Familiarity with modern development tools, frameworks, and workflows
  • Understanding of core computer science concepts (data structures, object-oriented design, basic algorithms and complexity)
  • Working knowledge of relational databases
  • Ability to manage and prioritize tasks across multiple assignments
  • Strong written and verbal communication skills
  • Willingness to participate in on-call rotations

Nice To Haves

  • Hands-on experience with .NET / C#
  • Experience working with Microsoft ecosystem tools (e.g., Teams, Excel, Word)
  • Familiarity with developer tools such as VS Code, Visual Studio, and SQL tools
  • Exposure to modern development practices (e.g., CI/CD, code automation, or AI-assisted development tools)
  • Experience with Commercial Off-The-Shelf (COTS) solutions, particularly within the energy industry (e.g., Aligne, Endur, ETRM platforms)

Responsibilities

  • Consistently produces reliable, maintainable, and well-tested code.
  • Makes sound design decisions within defined problem spaces.
  • Contributes actively to understanding and documentation.
  • Completes moderately complex or ambiguous tasks within expected timelines and scope.
  • Communicates progress, risks, and blockers proactively.
  • Handles oncall responsibilities and sees through to solution.
  • Takes initiative within broader or less-defined scope.
  • Owns features or components.
  • Participate in design discussions, code reviews, and team ceremonies (e.g. sprint planning, standups… etc.) with meaningful input.
  • Supports and unblocks other engineers when possible.
  • Expands technical depth and beings developing areas of ownership.
  • Takes on more complex and less-defined work over time.
  • Applies feedback consistently and demonstrates measurable improvements.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service