Backend Desktop Engineer


Job Description

Here is a short-term project for our Desktop engineering team. Some code has been delivered, but even from scratch the project should require less than 60 hours work. Communication with our technical team and documentation are required prior to payment.

Applicants will be asked to deliver a portfolio of work and/or speak with a member of our Desktop team prior to the projects initiation. Client is willing to provide bonus for excellent deliverable ahead of schedule.

The project definition:

1. The program should be a simple program which displays WPF window on the left of taskbar panel, right next to start button

2. When adding the window, all other deskband objects need to work as usual - the other toolbars like quicklaunch need to be pushed to the right

3. The window needs to appear as a separate toolbar, so it can be removed when right-clicking on the taskbar and selecting "Toolbars";

4. It should transfer events to WPF window correctly, including re-sizing of the taskbar and changing it's position;

5. It should work on XP, Vista, Windows 7 and Windows 8;

6. It should work on 32 and 64 bit systems;

7. Click and mouse move events should work fine with the WPF window, allowing buttons on hover and click events;

8. Deliverables should include full source code, well documented, as well as 32-bit and 64-bit compiled binaries if they are separate;

9. WPF sample windows would include a button and be C# based (XAML if possible);

10. There should be a programmatic way to remove the window completely.

- Extensive experience with Windows API systems programming
- Experience with COM programming, GUI programming
- Comfortable writing cross platform system software (especially: Windows, Mac OS X and Android)
- Comfortable writing custom protocols
- Knowledgeable about writing secure software
- Expertise in at least one language: C#, C++

- Designing and implementing native Windows applications
- Designing and implementing communication protocols with other web services
- Implementation of tools for collecting analytics data

Education & Experience:
- Bachelors degree in Computer Science or related technical field
- 5+ years of proven Windows development
- Strong Windows internals and extensive communication protocols knowledge

Skills: engineering, windows-api, operating-systems, windows-xp