Jobs.ca
Jobs.ca
Language
SilverCreek logo

Senior Software Developer

SilverCreek3 days ago
Edmonton, Alberta, Canada
Senior Level
Full-Time

About the role

Overview

Silver Creek Software Ltd. is an Alberta-based consulting firm specializing in data management, analytics, application development, automation, and modern workplace solutions. We partner with public sector and enterprise clients to deliver complex, high-impact technology initiatives. Our team is known for its professionalism, technical depth, and commitment to excellence. We maintain a high standard of hiring and are proud to work alongside driven, capable professionals who consistently go above and beyond for our clients. We are seeking a highly capable Senior Software Developer specializing in desktop application development to design and build a complex, touch-first field application for an oilfield technology client. This is a hands-on product engineering role centred on modern C#/.NET and WPF development, real-time visualization, concurrent data processing, and reliable communication with field hardware. The successful candidate will work closely with an architect, team lead, client stakeholders, and a server-side developer, translating detailed designs and UI mock-ups into a maintainable production application. As the required combination of skills is highly specialized, we welcome strong senior developers who meet the core requirements and can rapidly learn adjacent technologies.

This role requires the ability to attend on-site meetings at client offices in Edmonton, Alberta. The opportunity is suitable for both full-time employment or contract arrangements.

Key Responsibilities

Design, build, test, and maintain a complex Windows desktop application using C#, .NET 8, WPF, XAML, and MVVM patterns. Translate design documents and UI mockups into well-structured, reusable, and maintainable application components. Develop custom real-time visual controls, including needle gauges, scrolling time-series graphs, and other continuously updated measurement displays. Implement efficient rendering and update strategies that preserve responsiveness under high-frequency data loads. Design concurrent data pipelines that receive, process, decimate, persist, and render measurement data without blocking the user interface. Integrate with field hardware through TCP/IP socket clients and serial communications, including connection management, reconnection logic, binary packet handling, and fault recovery. Coordinate shared Protocol Buffer message definitions and integration points with the server-side developer. Implement embedded SQLite storage and offline-first workflows, including local writes, sync queues, schema migrations, and recovery from intermittent connectivity. Integrate online authentication using Microsoft Authentication Library (MSAL) and securely protect local credentials or tokens using appropriate Windows storage mechanisms. Build or integrate .NET Worker Services and reliable inter-process communication between the desktop application and Windows background services. Implement supporting capabilities such as PDF report generation with embedded graphs and Excel export using established .NET libraries. Optimize the application for touch-first Windows tablets and field conditions, including touch targets, on-screen keyboard behaviour, performance, and usability. Participate in regular in-person working sessions with client stakeholders in Edmonton and communicate progress, risks, trade-offs, and technical constraints clearly. Make sound implementation decisions independently within defined architectural and design constraints, while escalating material deviations early. Contribute to code reviews, testing, technical documentation, release readiness, and ongoing maintainability.

Qualifications

Based in the Edmonton area and able to attend regular in-person client meetings. Strong professional experience developing production Windows desktop applications in C# and modern .NET. Demonstrated proficiency with WPF, XAML, MVVM architecture, data binding, dependency properties, reusable controls, and maintainable UI composition. Proven experience building performance-sensitive or real-time desktop interfaces that process continuous data updates. Strong understanding of multithreading and asynchronous programming in .NET, including background processing, channels or queues, synchronization, cancellation, and UI dispatcher patterns. Experience implementing TCP/IP socket communication in C#, including resilient connection handling and binary protocols. Ability to work effectively from detailed requirements, technical designs, and UI mockups while exercising independent engineering judgment. Clear written and verbal communication skills, including the ability to collaborate directly with technical and non-technical client stakeholders. Ability to diagnose complex performance, integration, and reliability issues across application, data, and hardware boundaries.

Desirable Attributes

Hands-on experience with custom WPF rendering using SkiaSharp, Direct2D interop, WriteableBitmap, or a comparable low-level graphics approach. Experience designing render loops, plotting large time-series datasets, data decimation, or instrumentation-style visualization controls. Experience with Protocol Buffers in .NET, particularly protobuf-net, and coordinating shared message contracts across application components. Experience with SQLite in an embedded Windows application and offline-first synchronization patterns. Experience integrating MSAL and using Windows-protected storage such as DPAPI, TPM-backed storage, or equivalent secure credential mechanisms. Experience building .NET Worker Services, Windows services, and inter-process communication between desktop and background processes. Experience generating PDFs that include charts or graphs and exporting structured data to Excel. Experience designing software for rugged, touch-first, intermittently connected, or safety-sensitive field environments. Experience in oil and gas, drilling operations, industrial instrumentation, telemetry, SCADA, medical devices, financial trading, scientific software, or another domain involving real-time data and hardware integration. Familiarity with automated testing, profiling, diagnostics, deployment, and observability for Windows desktop applications.

Join Us

Silver Creek offers the opportunity to work with a high-performing team on meaningful projects that deliver real value to our clients. We provide flexibility, autonomy, and trust, while holding ourselves to a high standard of professionalism and accountability.

About SilverCreek

IT Services and IT Consulting

Since 1998, SilverCreek has delivered our expertise in business intelligence, analytics and data integration services, developing a reputation for higher standards of service, product delivery, and client engagement. Our approach to BI and data roadmaps identifies high-value business outcomes while leveraging an agile delivery that creates value.

We align the best BI and data solutions to help organizations achieve innovative goals.

With an unmatched commitment and body of experience, our skilled staff bring multifaceted technical expertise to address business challenges. As individuals and as a team, we attain the highest levels productivity and performance to deliver excellence.

Similar Jobs