Software Engineer II
Verisk Careers | Verisk · Lehi, UT, United States · Hybrid
Strong hiring record · median 29 days open
Hiring signal
Actively hiring
Still listed on the employer's own board · someone has already applied through it · How we score
All reasons
In its favour
- Still listed on the employer's own board
- Someone has already applied through it
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
More jobs at Verisk Careers | Verisk
All 79- Model Product ManagerVerisk Careers | Verisk · Singapore · Munich, Bayern, Germany · Hyderabad, Telangana, India +1today
- Gen AI Lead Engineer - Python, FAST APIVerisk Careers | Verisk · Hyderabad, Telangana, Indiatoday
- Data ScientistVerisk Careers | Verisk · London, United Kingdom3d ago
- Senior DevOps EngineerVerisk Careers | Verisk · Malaga, Andalucia, Spain · Spain4d ago
- Software Engineer - Python Full StackVerisk Careers | Verisk · India5d ago
Similar roles
- DMS IT Application DeveloperToyota Industries · United States · USD 94,020–147,055/yrtoday
- Security Systems Programmer | Access Control & CCTV SurveillanceD6756bd9-e2bb-4a9f-8ebf-9f2e8b50aab8 · Houston, TX, United States · USD 27–32/yrtoday
- Lead Software Engineer - HybridBb244608-e6f4-40bb-bc83-efdedb8af462 · San Francisco, CA, United States · USD 145,000–190,000/yrtoday
- Full Stack DeveloperQ1 Technologies · VAtoday
- Generative AI EngineerQ1 Technologies · VAtoday
- GEN AI EngineerQ1 Technologies · VAtoday