We are looking to recruit people who have a degree in Computer Science, Software Engineering or similar technical degree at 2:1 or above and are motivated and ambitious team players. We offer a comprehensive graduate programme that kick-starts a career in software by offering 6 months of training and rotation around our various software teams. Caplin Systems is a world leader in Web technology for financial trading. A creative, fluid and fast-growing company, Caplin uses cutting-edge technologies with an agile development methodology to deliver products and services to many of the world's largest financial institutions. We are a small, friendly software company that only hires outstanding candidates. We are looking for candidates with the drive and enthusiasm to succeed in a demanding and professional team environment. Encompassing four key areas across the business, we offer a comprehensive programme, enabling you to gain valuable insight and experience in how software companies operate. We offer short placements in development, testing, customer support and technical consultancy. Making the Right Choice This programme allows you to explore your options and discover your strengths and ambitions. You may have an aptitude for testing, excel in product development, or perhaps prefer the interactions of a client-facing role. Caplin will give you the best possible foundation in technology, agile processes and financial markets experience; a taste of each of the essential roles in modern software engineering, and allows you to make an informed choice as to the direction of your future career. Your contribution will be recognized, and your ambition will take you wherever you want to go. The Role Spending approximately 1 month with each team, you will perform the following roles: 1. Software Engineer in Development (part of the product development team) You will gain experience and contribute to product development of distributed systems on both Windows and UNIX in the following areas: • Web application development using JavaScript, CSS, HTML5 • Platform development using Java, .Net, C and Objective C You will work alongside other developers, architects and QA engineers to make a real contribution to the Caplin product offering. The development process includes the following disciplines: • Working in a small Agile development team operating using a storyboard, daily stand-ups and fortnightly sprints. • Performing use-case analysis, breaking down high-level requirements into stories, tasks, and defining acceptance criteria. • Employing a variety of software engineering tools in a continuous integration environment including GitHub, Travis, Jenkins, etc. 2. Software Development Engineer in Test (part of the QA team) • Evangelise and articulate good testing practices for Agile projects including requirements elicitation, acceptance test definition, test writing, exploratory testing, and ability to deal effectively with uncertainty and alternative points of view. • Create automated tests for new functionality, existing products and customer implementations, including functional and non-functional tests using a variety of commercial and open source tools like JUnit, JSUnit, Mockito, Jasmine, Selenium, WebDriver, Grinder, Fitnesse, etc., and execution of existing test suites. • Collaborate closely with other developers to define and implement code facing unit and integration tests, and tools to assure build quality. 3. Software Engineer in Support (part of the client services team) • Perform code-level analysis (static and via debugging tools) to identify any defects/edge cases requiring a software fix. • Provide development support on our products and APIs, including advice and code examples to meet customer needs. • Provide telephone/remote/onsite support to financial institutions depending on client requirements. • Manage support issues efficiently and effectively from commencement through to resolution in line with customer SLAs. • Solicit appropriate diagnostic information from the customer, perform initial analysis and clearly present this verbally and in written form. 4. Pre-sales technical consultant (part of the professional services team) • Undertaking technical evaluations of our software with existing and prospective clients. • Helping with demo programming, configuration and deployment. • Creating Proof of concepts to help win clients. • Technical support for client presentations and meetings. • Assisting with the preparation of technical proposals and technical marketing documents as required. • Speaking to clients and discussing their technical requirements. About You You have: -A degree in computer science or similar technical subject from a Top 20 university/computer science department. -Enthusiasm for creating quality software, and ability to show it. -Development experience using an object oriented language, such as Java, C# or C++. -Knowledge of and experience with JavaScript, HTML and CSS, and how they interact. -Good understanding of modern software engineering practices, including unit testing (TDD), continuous integration, automated functional testing, design patterns and modularisation. -Ability and flexibility to learn new technologies. -Ability to prioritise and be pragmatic when needed. -Ability to engage clients confidently and diplomatically. -Strong attention to detail. -Excellent verbal and written communication skills. Compensation & Benefits -Salary range: appropriate to qualifications and experience -Flexible benefits scheme including pension, gym membership, life cover, income protection, health/dental options, and additional holiday purchase scheme -Opportunities to attend conferences and training events -Dynamic, collaborative and friendly working environment -23 days holiday per year rising by 1 day annually to 27 -Free breakfast, with drinks and snacks provided throughout the day About Caplin Systems Ltd Caplin's award winning software provides real-time web connectivity products that allow market data and trading services to be delivered over the Internet using HTML5 technologies and unique UX driven applications. Recruitment Process -If candidates have a project accessible on the internet, or with the source in github or a similar service, be sure to include details in your CV -Successful submissions will be asked to complete a written test, supplied separately, which will be used by us for screening -Initially a short (15-30 minute) telephone interview will be conducted -If successful candidates will be asked to attend the Caplin office and given the following tests, usually on the same day. -A pair-programming test in either Java, .Net or JavaScript - this must be specified before the candidate arrives -A technical interview -An HR interview Caplin is an Equal Opportunities Employer