Verisk
Software Engineer II
Lehi, Utah · Hybrid · Posted today
Opens fa-ewmy-saasfaprod1.fa.ocs.oraclecloud.com
Get a version of your resume written for this job.
- Salary
- Not listed
- Job type
- Full-time
- Work mode
- Hybrid
- Source
- Oracle (employer's hiring system)
Skills mentioned
.NET, C#, Azure, SQL, CI/CD, DevOps, AWS
About the role
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
Job ID or-fa-ewmy-saasfaprod1-fa-ocs-oraclecloud-com-cx-1-4914 · Original posting ↗
Similar jobs
Full Stack Software EngineerNewPhilz CoffeeLos Angeles, California
Software EngineerNewServiceNowSanta Clara, California · On-site
Principal Software Engineer - Service NetworkingNewRobloxSan Mateo, California
Senior Embedded Software EngineerNewOmen AISan Francisco, California
Software Engineer, Software UpdatesNewNuroMountain View, California