DataCore Software engineering is a geographically distributed team, headquartered in South
Florida. The team develop our leading edge high-performance virtual Storage Hypervisor,
SANsymphony-V. The development of SANsymphony-V involves the widest range of technologies on the Windows Server platform, from .NET based GUI development, to system service development, and further to device driver development for the Windows Server kernel. Our "work hard, play hard" team environment cherishes individual initiative, innovation, and creativity.
Our development cycle self-tunes to deliver these creative innovations rapidly, while striking the right balance to minimize risk for customers running our software in mission-critical applications. Engineers are involved in all aspects of the product lifecycle, from the initial design and implementation of innovative Storage Virtualisation solutions through to pre-shipment validation and subsequent product enhancement.
This role, part of the broader engineering team, is located in Croydon and you will work with the rest of the group based in Florida and Sofia.
DUTIES & RESPONSIBILITIES
- Design, develop, document, test, and debug new and existing software systems and/or applications for market sale or large-scale proprietary software for internal use. Serve as technical expert on development projects.
- Participate in full development life cycle including requirements analysis and design. Write technical specifications based on conceptual design and stated business requirements.
- Support, maintain, and document software functionality.
- Identify and evaluate new technologies for implementation.
- Analyze code to find causes of errors and revise programs as needed.
- Participate in software design meetings and analyze user needs to determine technical requirements.
- Consult with end user to prototype, refine, test, and debug programs to meet needs.
- Work without supervision on highly complex projects.
- Extensive latitude for independent judgement.
- Participate in defining and implementing technical direction
- Help develop specification, program and documentation
- Develop, implement, and maintain application software to established standards and specification in a timely and accurate manner
- Perform or review systems analysis, design, programming, testing, debugging and documentation
- Implement approved changes to application software to maintain standards as set forth, correct problem, modify or enhance application function
- Maintains integrity of program logic and coding and establishes requires checks and balances for operational controls
- Review and analyze existing application programs and programs development to ensure efficiency and effectiveness of programs
- Lead or participate in process improvement
- Duties listed above describes typical duties and responsibilities and is not intended to limit management from assigning or reassigning other work to meet the needs of the company.
- Extensive experience of designing, coding debugging and testing in various software languages, in particular C, C++ or C#.
- Kernel or device driver experience with an understanding of low level interactions between hardware and software.
- Ability to develop and maintain good working relationships with a geographically distributed team.
- Expert knowledge of Storage Area Networking concepts
- High level of competency in Microsoft Windows OS platform
- Highly proficient with office productivity tools (Outlook, Office, etc.)
- Experience with enterprise class applications such as SQL, Exchange, SharePoint, ESX, Citrix, etc