Profile
An experienced software development lead with a solid background in all aspects of the SDLC. Able to act at all levels from technical design authority to software craftsman; striving for the balance for getting it right and getting it done. Excellent communicator, both in technical and non-technical environments.
Key Skills
- Team Leadership. Provide clear direction and focus to developers to keep projects on track.
- Architectural Design. Experienced software architect, able to apply the fundamental principles, from of object oriented design to ASP MVC.
- Scrum Practitioner. Strong advocate of the Scrum process, Qualified Scrum Master
- Software Craftsman. Firm Windows programming foundation from Win32 through to the fundamentals of .NET. and HTTP
- Customer Interaction. Able to understand quickly & accurately customer requirements and issues. On site representation.
Programming Languages
Current
- .NET CLR (C#), 10 years
- Web technologies (html, javascript, css, xslt), 5 years
- SQL (MS SQL Server), 6 years
Historical Background
- C++/MFC, 7 years
- COM (ATL), 2 years
- C, Win32 SDK 6 years
- ASP (VBScript), 2 years
Career History
2011 - present: Software Manager, Thermo Fisher Scientific
Global scientific consumables, equipment and software. Developing software for control and use of ICP instruments using various aspects of .Net 4 technology stack, including WCF and WPF.
- Line Management. Line managed a team of 6 developers. Updated standards and development ecosystem.
- Agile Practitioner. Introduced Scrum software development approach to new projects with both the software development and product management groups.
- Quality and Standards. Introduced and embedded as common practice; coding guidelines, peer code review, test driven development, standardisation of development toolset and continuous integrations builds.
- Technical Direction. Guide team members' technical development through such initiatives as coding dojo, code reviews and personal mentoring.
- Software Development. Practice what I preach, leading by doing.
2007 - 2011: .Net Development Lead, Cambridge Assessment.
Worldwide examinations and assessment provider, many in-house business support products using various aspects of .Net 3.5 technology stack, including SQL 2008.
- Line Management. Line managed a team of 6 developers. Updated standards and development ecosystem.
- Agile Practitioner. Introduced Scrum software development approach to new projects with both the software development and product management groups.
- Quality and Standards. Introduced and embedded as common practice; coding guidelines, peer code review, test driven development, standardisation of development toolset and continuous integrations builds.
- Technical Direction. Guide team members' technical development through such initiatives as coding dojo, code reviews and personal mentoring.
- Software Development. Practice what I preach, leading by doing. (WCF, application architecture, socket communication with hardware, WinUsb Device driver, demo single page web application)
2004 - 2007: Senior Software Engineer, Leica Microsystems
Main product, LAS, is a .Net 2.0 desktop application which allows configuration and control of microscopes and digital cameras to capture process and measure specimen images.
- Technical Mentoring. Give technical leadership, .Net and OOD expertise to the team. Presented several in-house training sessions including Architectural overview, NUnit, FxCop and OO design patterns
- Quality Focus. Effected culture change to use code review and unit testing as part of the daily process. Coding guidelines reviewer, authored code review checklist
- Application Architect. Provide architectural design for all parts of the product including the integration of a SQL server backend.
- Product Maintenance. From requirements capture through component design, unit test and code, complete new product modules
1999 - 2004: Project Leader, Beacon Computer Technology
Bespoke software development, web and desktop based, for various clients.
- Team leader. Lead team of 4 developers on large mission critical .NET framework database front end application. Ensured code quality for a maintainable system
- Software Architecture. Designed and implemented in-house ORM for .NET. Saved 100s of hours of coding whilst eliminating cut & paste bugs (C#/ VB.net)
- Client/ Server work flow. Designed and implemented workflow system for case payment authorisation and management system using SQL, Web services, NT service with Win-Forms front end (C#)
- ATL COM objects for a data driven conveyor control system. Designed and wrote plug-in system to enhance and support client solution
-
- Heavy use of multi-threaded flow control, database connectivity using ODBC.
- Added functionality to embedded sub-system, in ANSI C.
- On site trouble shooting visits to help client face customer in France.
1997 - 1999: Software Developer, MDSI
Mobile client server booking system.
- Interface to telephone booking system. Designed interface to automate telephone booking system for taxi cabs between customer system and 3rd party bespoke telephone system
- On Site Visits to Singapore for sub-system test and integration
- Product Maintenance. 16-bit MFC application to book and manage taxi system
1995 - 1997: Software Developer, Dynamic Data Links
Bespoke desktop software development for various clients.
- Image Database/Analysis. Maintenance and enhancement of in-house product (16 bit MFC) and image analysis (Win16 SDK in C)
- Image Capture drivers. Using C++, wrote VBX and OCX controls for MS Visual Basic to incorporate several frame grabber hardware into clients imaging library.
Qualifications
- MCP, Exam 70-306 Windows Forms Applications with VB.net (MCP:2859994)
- NVQ level 3, C Programming
- BEng (Hons), Mechanical Engineering, Nottingham University
Other Interests
Learning new technologies; (BDD, Python), climbing.