C# / .NET Desktop Developer — Windows Agent

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$7-$12 per hour

HOURS PER WEEK

40

DATE UPDATED

Aug 21, 2026

JOB OVERVIEW

Contract: Fixed-scope contract project
Engagement: Project-Based
Location: Remote — must overlap Australia / Sydney business hours (AEST/AEDT)
Time Tracking: TimeDoctor (screenshots + activity tracking) — required for the duration of the contract
Experience: 8+ years professional C# / .NET development and PHP Laravel
Working hours: 40 hour/week Monday to Friday

About the Project
We’re building the desktop agent for a cloud-connected application. The agent is a small Windows 11 application that runs on a customer’s PC. It connects to a variety of payment gateways in the local network and forwards communications to our cloud backend via REST API. This is a self-contained build with a clear spec. You’ll own the agent end to end, working against our documented integration interfaces and cloud API. You’ll need to create new APIs if requires.

What the Agent Does
• Polls and communicates with local payment gateway using a variety of methods: HTTP/JSON API calls, file-based data exchange, and local URL/API interfaces — listing records and fetching individual entries and etc.
• Parses data payloads in multiple formats including XML, CSV, JSON and plain text. The XML can contain binary sections, so byte-fidelity matters.
• Maintains a persistent secure connection to the cloud (WebSocket Secure / WSS on port 443, outbound-initiated for NAT/firewall friendliness) plus an HTTPS REST channel for pushing data.
• Queues and pushes completed records to a REST API as a JSON envelope (XML embedded as base64), handling retries, duplicates, and connectivity drops gracefully.
• Shows a lightweight UI for status, connection state, and basic operator actions.

Recommended architecture (open to discussion): a headless background worker / Windows Service for all connectivity and queueing, with a thin WPF UI on top. The workload is I/O-bound, not compute-heavy.

Requirements
Hardware & Environment
• Must have your own computer running Windows 11 — the agent targets Windows 11 and you’ll need to build, run, and test on it natively.

Experience & Skills
• 8+ years building production C# / .NET applications (.NET 8 or later).
• 3+ years building production PHP Laravel applications (version 11+)
• Windows desktop development — WPF (or strong WinForms/desktop background to ramp quickly).
• REST APIs — confident consuming HTTP/JSON services with HttpClient: auth headers / bearer tokens, status-code handling, retries/backoff, idempotency.
• Web services in general — understands HTTP semantics, JSON, request/response contracts, and how clients behave behind NAT/firewalls.
• XML, CSV, JSON and text data formats — solid working knowledge: parsing and reading structured XML (XDocument / XmlReader), navigating a schema (XSD), handling encoded/binary content cleanly; reading and writing CSV and plain-text data files.
• Async I/O patterns (async/await, cancellation, ClientWebSocket).
• Resilience — sensible error handling, logging, reconnect/backoff, and offline queueing.
• Able to work independently — self-directed and comfortable owning a component end to end with minimal supervision.
• Testing & QA — can write unit and integration tests, perform manual QA, identify and log defects, and verify fixes against acceptance criteria.
• Agentic Coding — familiar of Claude Code in coding, testing, review in the workflow.
• Project Management — capable of taking on lightweight PM tasks: tracking milestones, updating task status, flagging blockers proactively, and estimating remaining effort.
• Security Awareness — aware of data sensitivity and handling.
• Good verbal and written communication in English — clear and professional in async written communication (Slack, Jira, Confluence) and comfortable in spoken sync calls.

Tools & Workflow
• Comfortable working in our toolchain: Jira (issues/sprints), Confluence (docs), Postman (API testing), Sentry (error monitoring), and Bitbucket (source control / pull requests).
• Clean commits, clear pull requests, and clear written communication in English.

Nice to Have
• WebSocket clients (ClientWebSocket) and/or a Pusher-style real-time relay client.
• Windows Service / background host packaging and installer experience (MSIX, WiX, or similar).
• Experience integrating with payment gateway on a local network using varied communication protocols.
• Background working against a Laravel/PHP backend (you consume the API; extra PHP work is required).

Working Arrangement
• Project-based / fixed scope. We’ll agree milestones and deliverables up front.
• Sydney business-hour overlap required for daily sync and quick turnaround on questions. A minimum of 6 hours of genuine overlap each working day is required — you don’t need to be Sydney-based.
• TimeDoctor is used for time tracking and is a condition of the engagement; please only apply if you’re comfortable with activity monitoring.
• Resources provided: code, device API documentation, and XML schemas (XSD). You’ll have access to a staging cloud environment to test against.

Deliverables
• A working, installable Windows 11 agent that communicates with payment gateway, parses data in XML/CSV/JSON/text formats, and pushes records to the cloud API per spec.
• Reconnection / offline-queue handling that survives network drops and PC restarts.
• Source code in our Bitbucket repo, with a brief README covering build, configuration, and install.
• Basic logging suitable for diagnosing field issues.
• Full deployment script and solution.

How to Apply
Please include:
• Relevant C#/.NET desktop and REST integration work — links or descriptions of comparable projects.
• Relevant PHP Laravel work — links or descriptions of comparable projects.
• Your experience with XML/CSV/JSON text parsing and any WebSocket / real-time work.
• Examples of working independently and owning a project component end to end.
• Any Testing, QA, or light project management experience.
• Your time-zone and the daily hours you can overlap with Sydney.
• Confirmation you run Windows 11 and are comfortable using TimeDoctor, Jira, Confluence, Postman, Sentry, and Bitbucket.
• A rough estimate / milestone breakdown for a project of this shape, and your rate.

Candidates who address the multi-device integration, data-format handling, and secure-push flow directly (rather than a generic CV) will be prioritised.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0132
Total Execution Time  0.0159
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,520,592 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/C-NET-Desktop-Developer-Windows-Agent-1713879
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0071 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1713879
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 967319
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1713879
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-27',ej.date_added) duration_daysDATEDIFF('2026-08-27',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1713879' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713879 
0.0013   UPDATE employer_jobs SET hit_counts '***Aug-21-2026=367***Aug-22-2026=66***Aug-27-2026=1' WHERE job_id'1713879'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=434' WHERE job_id'1713879'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1713879' AND status LIKE 'sent%' ORDER BY id DESC  
0.0006   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713879 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '967319'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0006   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)