Senior Software Engineer(C programming, Scripting, Virtualization)
Citrix is looking for an experienced, enthusiastic Software Development Lead to head-up a team of Software Engineers working on several aspects of the XenServer product.
XenServer is an industry and value leading open source virtualization platform for managing cloud, server and desktop virtual infrastructures.
XenServer is itself integrated with Cloudplatform, powered by Apache CloudStack, a unified cloud management platform that combines the best cloud foundation for private enterprise workloads with the Amazon-style scale, elasticity and operational efficiency of cloud workloads.
This role provides an opportunity to participate in the software development process of a major, worldwide software company with both open- and closed-source projects at its core. You will be at the heart of that, developing software with an immediate and lasting impact to both internal and external customers.
The responsibilities of this role are varied, including:
● Developing, maintaining and supporting one or more key components of the XenServer product software
● Day-to-day technical, development leadership and line management of a team (initially ~4) software developers
● Working closely with Citrix Support & Escalation to assist in handling high profile customer issues
● Contributing to and driving improvement of the supportability of XenServer - creating, writing and modifying our XenServer software and tools
● Working with other Engineering teams, in the US, UK and China on fixing critical defects in the core XenServer product
● Creating patches, private builds and hotfixes to meet customer needs and life-cycle maintenance objectives
● Driving technical knowledge and expertise sharing from Development to Support Escalation
Essential skills, experience and qualifications
You should have experience of running small teams, be familiar with Linux and will be comfortable developing features, making improvements and resolving issues, or tackling code, at a variety of levels in IT or communication systems generally. You will have experience and knowledge of some or all of the following:
● Bachelor's degree (or higher), preferably in software engineering, computer science or the physical sciences.
● Strong candidates with other applicable degree subjects will also be considered.
● 5+ years’ experience of professional software development in C, C# and/or Python
● Experience of running small teams of software developers on a day-to-day basis
● Experience of Linux platforms and the kernel is essential (e.g. comfortable with shell scripting, compiling drivers etc).
● Linux systems programming generally,
● POSIX knowledge and experience
● Deep familiarity with multiple Linux distributions,
● Scripting including Bash.
● Strong debugging skills & software lab experience
● A good understanding of software engineering and agile development practices
● Comfortable in face-to-face meetings and over the telephone with customers and both technical and non-technical personnel ● Good English reading/writing and verbal skills
● Exposure to customer raised defects and collaboration with both Support and customers in their resolution
● Solid technical understanding of IT infrastructure and systems, including grounding in networking and storage fundamentals ● Concurrent/distributed programming experience
● Good grounding in the principles of software architecture
● Understanding of operating system development and implementation
● Server virtualization in general, and Xen or XenServer in particular.
● An understanding of the x86 architecture, especially memory management
● Knowledge of major Linux kernel subsystems such as networking, storage or memory management.
● Experience collaborating on open source software projects
● Knowledge of a variety of programming languages and techniques, such as C# or Java or other scripting languages; and functional programming languages such as OCaml, ML, F# or Haskell.
● Experience developing device drivers for an x86 platform
● Working with PCI Express or with an HPC environment
● Data-center deployments and typical use cases (e.g. storage arrays, networking etc.)
Citrix Systems, Inc. is an American multinational software company founded in 1989, that provides server and desktop virtualization, networking, software-as-a-service, and cloud computing technologies, including Xen open source products.Know more about Citrix