Software Engineer II

location_onLehi, Utah, United Statesscheduleyesterday
sync_altWork style:Hybrid
badgeEmployment:Full-time
historyMinimum experience:2+ years
schoolEducation:Bachelor’s degree
Apply Nowopen_in_new

Job description

Software Engineer II is an early-career role for engineers who build and maintain Windows desktop applications in C# and .NET. Engineers in this role work on their own on well-defined features. They apply sound engineering principles to deliver reliable, performant, and maintainable desktop software.

A Software Engineer II owns their technical decisions and shares responsibility for the quality of the product. That means writing tests, reviewing code, and working closely with QA to find and fix defects. Compared to a Software Engineer I, this role comes with more skill, more independence, and more responsibility. Engineers at this level also start mentoring and leading within their team.

This position prepares engineers for senior engineering and technical leadership roles.

Development

  • Write clean, well-structured, testable, and maintainable C# code that follows team coding standards.
  • Build desktop features on their own using WPF (and WinForms or WinUI where applicable), following MVVM and other established patterns.
  • Take ownership of well-defined features or areas of the codebase, with little guidance.
  • Help design new features and refactor legacy desktop code, including migrating from .NET Framework to modern .NET.
  • Write responsive UI code that uses async/await correctly and keeps long-running work off the UI thread.
  • Integrate the desktop client with backend services by consuming RESTful APIs and handling JSON and XML data.
  • Work with local and remote data stores using SQL, Entity Framework, or other data-access approaches used by the team.

Quality

  • Write and run unit, integration, and UI automation tests (for example xUnit or NUnit, Moq, FlaUI or WinAppDriver).
  • Diagnose crashes, memory leaks, and performance problems using the Visual Studio debugger, profilers, and dump analysis.
  • Work with QA to reproduce, triage, and fix defects, including ones that appear only in specific customer environments.
  • Use root cause analysis to fix the underlying cause of problems and to improve team processes.

Delivery

  • Contribute to CI/CD pipelines in Azure DevOps that build, test, sign, and package desktop releases.
  • Support installer and deployment work (for example MSIX, WiX, or ClickOnce) and the auto-update mechanisms used by the team.
  • Take part in agile ceremonies: stand-ups, backlog refinement, planning, and retrospectives.

Collaboration

  • Review code and give constructive feedback, and mentor more junior developers.
  • Build strong working relationships with developers, product managers, QA, UX designers, and automation engineers.
  • Identify and raise risks, blockers, and technical debt early.
  • Keep team documentation for assigned features up to date.
  • Contribute to continuous improvement initiatives within the team.

Required Qualifications

  • Bachelor's degree in Computer Science or a related field, or equivalent practical experience.
  • 2–5 years of professional software development experience, or equivalent ability.
  • Strong proficiency in C# and .NET (.NET 6+ and/or .NET Framework 4.x).
  • Hands-on experience building Windows desktop applications with WPF, WinForms, or WinUI.
  • Solid understanding of MVVM, dependency injection, SOLID principles, and common design patterns.
  • Working knowledge of asynchronous programming, threading, and UI responsiveness in desktop applications.
  • Experience consuming RESTful services and working with SQL, JSON, and XML.
  • Proficiency with Visual Studio, Git, and CI/CD tools (Azure DevOps preferred).
  • Experience writing automated tests and debugging production issues.
  • Strong written and verbal communication, teamwork, and problem-solving skills.
  • Ability to manage day-to-day development tasks on their own with moderate supervision.
  • Commitment to continuous learning and a growth mindset.

Preferred Qualifications

  • Experience migrating applications from .NET Framework to modern .NET.
  • Familiarity with Windows platform APIs, P/Invoke, or COM interop.
  • Experience with desktop installers, code signing, and update or distribution mechanisms.
  • Experience with performance profiling and memory analysis tools (for example dotTrace, dotMemory, PerfView).
  • Exposure to cloud services (AWS or Azure) that support desktop clients.
  • Experience with graphics, drawing, or document-heavy desktop applications.

#LI-LM03

#LI-Hybrid

Skills mentioned


AI, Data Analytics, Insurance, Regtech
Lehi, Utah, United States
verisk.com

In 1971, we opened our doors as an insurance rating bureau, focusing on risk analytics and insights. Since then, we’ve grown to become a valued source of insights that can drive recovery and transform industries, and even governments, worldwide. For 50 years, we’ve combined our unique data with advanced technologies in new ways to unlock meaningful insights about risk, moving forward to become a global leader in cutting-edge analytics. We’ve stayed at the forefront of developing innovations to help customers manage the risks they face. And while our golden anniversary is a natural opportunity to reflect on how far we’ve come, it’s also a celebration of what comes next. Over five decades, we’ve evolved from a nonprofit advisory rating organization for U.S. insurers to a global leader in data, analytics, and ethical corporate practices. Along the way, we’ve entered new markets and countries, positioned ourselves for future growth, and led the way in groundbreaking uses of technology to keep our customers—and the world—moving forward.

Apply for this job

Use the application link supplied with this listing to apply to Verisk. Check the destination before entering personal information.

Apply Nowopen_in_new