Skill Name
Experience
Proficiency (scale 1 - 10)
Ranking
C#
4 Years
.Net
4 Years
C++
6 Years
I am a software developer with five years of commercial experience particularly with .Net (C#, LINQ, WinForms, WPF), XML (XQuery, XSLT, Schema authoring and extension), C++ and IEC 61131-3 PLC programming languages for embedded control and safety systems. I have worked on enterprise web applications, the leading digital preservation system and integrated desktop tools in the demanding field of industrial Safety Instrumented Systems.
In the area of safety systems, I have worked on developing new methodologies for the design, build and test of SIL 2 and 3 safety applications as well as the tools to support each stage. These tools included graphical editors for new languages, code generators, PLC emulation and HMI mockups.
A dual aspect, in development of which I tool the technical lead, was that of managing functional safety as per IEC 61511. This involved graphical workflow editors integrated with the main engineering tools for putting down functional safety plans and providing both traceability and policy enforcement for the fulfilment of the engineering and supervisory tasks for the whole subsequent safety lifecycle. Consequently, I have developed expertise in a wide range of Business Process Modeling (BPM) and workflow management technologies.
I am also well versed in functional and concurrent programming languages including Haskell, OCaml, Clean and OCCAM--CSP inspired languages such as occam-pi, Alef, Scala and XC, due to interest as a hobbyist and Oxford BA CompSci courses.
I will take work ranging from new design and builds to enhancements, scripts and add-ons, in either case for web applications, WinForms or WPF applications, GNU--Linux tools and GUIs or core algorithms for workflow management, graph optimisation, compilation and translation and so on. I will be happy to discuss your aims and begin envisioning low-maintenance, highly-automated solutions with you.
Areas covered: Greater Manchester, United Kingdom
by Ben S on 18 Jan 2012
David is excellent, he really knows his stuff and is great to work with... even if he doesn't have a mobile phone is 2011! ;-) After several disappointments from this site, I can't rate him highly enough. Plenty more work will be going his way from us...
by Jon U on 16 Nov 2011
David is a clever and capable developer. His technical knowledge is very deep and broad and is familiar with many programming languages. David grasped the requirements quickly and delivered the work in a timely fashion and to a high quality. He sent regular emails to keep me informed of his progress and any issues that he came across. I would not hesitate to recommend David.
For this specialist safety system solution provider, which offers requirements capture, safety lifecycle management and engineering software tools for the oil and gas, industrial process and control sectors, I worked on developing new methodologies for the design, build and test of SIL 2 and 3 safety applications as well as the tools to support each stage. These tools included graphical editors for new languages, code generators, PLC emulation and HMI mockups.
A dual aspect, in development of which I tool the technical lead, was that of managing functional safety as per IEC 61511. This involved graphical workflow editors integrated with the main engineering tools for putting down functional safety plans and providing both traceability and policy enforcement for the fulfilment of the engineering and supervisory tasks for the whole subsequent safety lifecycle. Consequently, I have developed expertise in a wide range of Business Process Modeling (BPM) and workflow management technologies.
Application domains
- Safety Instrumented Systems
* Novel safety application development methodology
* Integrated supporting tools
* Compilers, source code generation and translation
* Interfacing PLCs and vendor engineering environments
* Software simulation of PLCs and HMI mockups
* Ad-hoc and scripted PLC testing
- Functional Safety Management
* Conformant project planning
* Workflow definition and management
* Workflow tracking and enforcement
- Change control
* Access control
* Change tracking
* Reporting and paper trails
- Office automation
* Smart Word and Excel exports
* Collaborative task list facilities
* Document analysis scripts
Skill areas
- Design
* GUI design, review, analysis
* Software architecture design and appraisal
- Development
* Enhancements
* Rewrites
* New integrated tools
- Maintenance
* Existing and own software
* All tiers
* Shared responsibility for all release cycle stages
* Fault, change request and roadmap development recording
* Investigation, code changes and testing
* Traceable management of source changes, nest notes and decisions to include in releases
* Largely automated issuing of software releases
- IT
* Assumed management of several IT systems
* Unix admin and backup scripting
* Integration of Windows and Linux workstations with Samba domain and file sharing servers
Technologies
- .Net
* Frameworks 2.0, 3.5 and 4.0
* C# 2.0 and 3.0
* LINQ
* WinForms
* WPF
* Mono ports
* Profiling and memory leak hunting, esp. with WinDbg SOS
* Advanced serializable and weak-referencing data structures
* Aspect-oriented programming, reflection, custom attributes
* Code generation and in-process compilation
- XML
* Microsoft XML classes
* XPath 2.0
* XQuery 1.0
* XSLT 1.0
* XML Schemas
* * Definition and analysis
* * Extending and deriving from 3rd party schemas
- C++
* Extending advanced network graph algorithms
* Interfacing 3rd party systems
- IEC61131-3 Ladder Logic, Structured Text and Function Block Diagrams
- VBA Word and Excel
- Ruby, Python, Unix tools, bash, sed, awk, perl