Technical Skills and Experience
For those that are interested, here’s some of the detail of my technical work, skills and experience.
My technical skills are wide-ranging and include experience of:
- web development – primarily using WordPress as a content management system;
- server and database administration across both Windows and Unix/Linux platforms;
- software development in a wide variety of languages, but now specialising in PHP and JavaScript;
- specific applications, specifically in the IT Operations and Network Management Systems area.
Web Development Skills
I have strong web development skills, mainly using WordPress for content management and Laravel and Vue.js for web application development. I’m an all rounder with both front-end and back-end development skills. My work has been primarily focussed on:
- Web application development with a combination of:
- HTML
- CSS and SASS
- Bootstrap, Bulma and Tailwind front-end frameworks
- PHP
- MySQL AND Microsoft SQL
- JavaScript
- Website deployment using open-source content management systems such as WordPress.
- Web application development using the Laravel framework and Vue.js
I’m a WordPress expert and have developed sites using advanced WordPress functionality, including:
- multiple post types and taxonomies
- lots of custom templates
- custom loops and widgets
- AJAX and jQuery
- custom meta and options
- admin tweaks
- and more.
I’ve also worked with:
- BuddyPress
- SMS integration
- custom API’s
- complex forms
- maps and geocoding
- custom email digests
- and WordPress networks/multisite.
I use Subversion or Git for source control and have used a variety of IDEs and advanced editors.
Hosting and Networking
With a background in a large corporate and government server hosting department, I have advanced server administration and networking knowledge and skills.
I provide hosting services and advice, domain and DNS management, scripting and website migration.
Internet and Communication Skills
I have a strong interest in the Internet and how people use it. I was on Twitter before it was mainstream and have been blogging for years.
I have developed communications and social-media strategies, built community websites, and introduced teams of people to useful collaboration tools.
Software Engineering Skills
My original training was as a software engineer. I view the process and techniques of creating software to be more important than the tools you do it with.
I have used the following methods and techniques (specific languages and tools are listed later):
- Procedural Languages
- Declarative and Functional Languages
- Logic-based languages
- Object-oriented design
- Formal methods and static analysis
- Real-time languages
My ability to learn new languages and adapt to new programming paradigms is demonstrated by the different languages and tools that I have used over the years:
- C
- Ada (and the SPARK subset of Ada)
- PERL
- Unix Shell Scripting
- PHP
- JavaScript
- SQL
- BMC’s Patrol Scripting Language (PSL)
- Scheme and LISP
- Pascal
- Modula-2
- Assembler
- Basic and Visual Basic
- Logo
- Miranda
- Prolog
- SmallTalk
- B and Z (Formal methods and their associated analysis tools)
General IT Skills
Aside from software development I have skills in the following areas:
- Unix administration
- Windows administration
- Network administration
- Relational database design and administration
- General application skills (Microsoft Office, Google Apps/G-Suite, etc)
- Fault diagnosis and repair
- Hardware build, upgrade and repair
Network Management Systems
I worked in the Network Management Systems team of a large hosting company for 8 years. This role gave me in-depth experience of the following specific tools:
- BMC Software’s Performance Manager (aka “Patrol”) suite of Network Monitoring and Management products
- BMC Remedy
- IBM Tivoli NetCool
- HP Openview
- HP Systems Insight Manager
- VMWare Virtual Center
- AlarmPoint
- EMC SMARTS
- Symantec NetBackup
Software and Safety Engineering Experience
My previous job was as a software and safety engineer for Praxis Critical Systems Limited (now Praxis High Integrity Systems)in Bath.
I worked there for four years and was involved in the following:
- Software Engineering of safety-critical and safety-related systems
- Verification and validation of safety-critical and safety-related system software
- Development, promotion and customer service for the SPARK Examiner: a tool for performing static analysis on the SPARK subset of the Ada language
- Developing and running both technical and non-technical training courses
- Safety analysis of safety-critical and safety-related systems (both software and hardware)
- Development of the Yellow Book Rail website.
- Development from scratch of a new technology for presenting Safety Cases in electronic form