Software Engineer 

Our Client is a designer and supplier of leading edge Storage Technology. They are seeking to recruit an experienced software engineer to lead development of a storage system management server.

This server is written in Python, communicates with clients over TCP sockets using a custom XML protocol and supports a high-availability clustered architecture.

To meet strong client latency requirements, sockets are handled asynchronously; potentially blocking operations are handed out to work-queue type processes.

The multi-user, multi-instance nature of the system is handled via a shared object model, the integrity of which is maintained by a sophisticated locking system.

The successful candidate will work within an established and flexible development framework to extend current functionality and to implement new and exciting features.

Requirements:

- Computer Science degree or related Degree.
- Strongly object oriented mindset
- 4 years experience in OO programming. Python is our preferred language, but Java, C++ or other relevant OO experience is acceptable.
- Linux system level experience

Additional desired experience includes:

- Socket programming
- XML
- Embedded systems / high availability programming
- Storage systems

To apply please mark CVs for the attention of Hannah Ash