Software Engineer (Windows) Location: Near Cambridge
Full Time / Permanent Salary: c £45k to £50k + Benefits
This is an exciting opportunity to join our UK Research and Development department and work on the development of a new strategically important next generation global software product. The role will involve working in an innovative and dedicated software team focussed on high quality output in an agile and dynamic environment. With involvement from an early development stage and impact on the technical implementation, this is one of two key roles that will directly contribute to core business objectives. The successful candidate will become the technical lead for time critical control components within the team, therefore experience of near real-time PC applications, including i/o control and/or production line workflows is highly advantageous.
TASKS
• Own delivery of key components of a software suite, with a focus on near real-time control windows® services
• Become technical expert in the field of time critical component design within the team
• Undertake software requirements analysis, concept proposals and top-level design, detailed design and coding
• Assist with problem investigation and provide appropriate solutions as and when required
• Software implementation of PC applications to aid the product development
• Implementation and debugging of core product components
• Review of software requirements and detailed design
• Undertake software verification and validation against functional requirements and national / international standards • Provide value engineering and cost reduction support
COMPETENCIES
Essential : • Problem Solving • Team Working • Initiating Action • Questioning & Analysis • Impact & Acceptability • Creativity
Desirable : • Energy • Influencing • Adaptability
EDUCATION
• BSc (Hons) or equivalent in software / electronic engineering, science or technology
EXPERIENCE
• Experience of hands-on software development for Windows
TECHNICAL SKILLS
Essential
• C# programming (WCF, Windows Services, Interfacing with C DLLs – dynamic link libraries)
• C++ programming (OO, STL)
• Real-Time programming with heavy use of Multi-Threading and Concurrency
• Scripting Engines based on Lua, VB and Java scripting
• Understanding of software design techniques using UML (Design Patterns)
• Exposure to software development cycle
• Experience of specifying test requirements and test specifications
• Understanding of debug techniques • Software configuration management
Desirable (at least one from the following)
• Unit Testing • Boost • Windows Driver Development
PERSONAL ATTRIBUTES : • Pro-active approach to work • Ability to work well as part of a team