Summary
hackajob is collaborating with Verisk to connect them with exceptional professionals for this role. 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. Responsibilities 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. Qualifications 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-HybridJob Description
hackajob is collaborating with Verisk to connect them with exceptional professionals for this role. 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. Responsibilities 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. Qualifications 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
Government Jobs
Government jobs offer stability, competitive benefits, and the chance to make a meaningful impact on your community and country.
Whether you’re starting your career or seeking new opportunities, these roles provide pathways for growth, security, and service.
Explore positions across a wide range of fields and take the first step toward a rewarding future in public service.
MORE JOBS
-
$
SDET I
- Lehi
- Verisk
- Oct 09, 2026
-
$
Site Reliability Engineer III - Neovest
- Orem
- J.P. Morgan
- Oct 09, 2026
-
$
Linguist
- Woods Cross, Utah
- U.S. Navy
- Oct 09, 2026
-
$
Senior Data Center Low Voltage Engineer I
- Salt Lake City
- Oracle
- Oct 09, 2026
-
$
Senior UX Designer
- Lehi
- Verisk
- Oct 09, 2026
-
$
IT Professional
- Perry, Utah
- U.S. Navy
- Oct 09, 2026