About Me

Since 2005 I have worked as a contractor and permanent staffer in London in front end web development with core skills of object-oriented JavaScript, jQuery, AngularJS, HTML5, CSS3 and WordPress. Have now changed direction and become a Salesforce developer, I am certified and proficient in Apex and LWC.


  • Salesforce Certified Administrator - April 2022
  • Salesforce Certified Platform Developer I - May 2022
  • Salesforce Certified JavaScript Developer I - March 2023
  • Superbadge Apex Specialist - June 2022
  • Superbadge LWC Specialist - June 2022
  • Revolent Technical Tasks
    • Silver Level - 'Apex REST API Integration'
    • Silver Level - 'Launching a Flow as a Quick Action'
    • Bronze Level - 'Solving a business problem with Classes and Triggers'
    • Bronze Level - 'Launching a Flow as a Quick Action'
  • Scored 80% on the Revolent Developer Knowledge Test
  • Salesforce profile


Mark's CV Word Docx -  HTML version

The HTML link above is a demonstration of storing data in XML format and modifying its appearance using XSL so that it looks like the Word version, but in the HTML format.

LinkedIn profile


Email: Mark
Mobile: 07731 471 284


I have now accepted a permanent position, no longer looking for a new role.


Clearance to CTC level in 2005

About the Creation of this Website

After attending a four-day training course on AngularJS (version 1), I decided it was time to completely overhaul my portfolio website which I first started in 2008. To replace the server side includes (to stop having repeated code) I used Angular's partials. I have a history of over 80 contracts which I want visitors to see but not cause the web page to be unnecessarily delayed in plotting. So I decided to plot just the first four on page load and then use infiniteScroll (an AngularJS plugin) to keep adding more contracts as the user scrolls down to the bottom of the page.

April 2018 update - added the small animation library AOS (Animate on Scroll) https://github.com/michalsnik/aos. There are a multitude of animation styles and I apply these in a random manner to each contract to show off the variety of animation styles.

Coding Projects

  • Carousel Demonstrator - Plotting my contract data from out of a JSON file using AngularJS into a list form and then using object oriented JS to make an accessible carousel of the list.
  • AngularJS Table - A coding exercise using AngularJS to show how a table can be re-ordered alphabetically on a column or filtered by a search term. The table data comes from a JSON file.
  • Google Map Exercise - A coding exercise to show how JSON can be used to plot the location of my past contracts. Used AngularJS. For comparison I also applied the same data and made an OpenStreetMap version. The first version of this map coding exercise was done with XML and jQuery.
  • Animation examples.
    Play Lotto animation - Camelot. Replaced the JS animations with CSS3 transitions.
    University league tables 2019 - The Guardian. Twelve items animating in sync using CSS3.
    1E Windows 7 Campaign - TribalSpring. Animations done with jQuery, also features page transitions.
  • Mark3music.co.uk - A website to show off the music that I have composed with two friends. A mixture of the HTML5 audio tag and object oriented JavaScript is used to play the MP3 files. Bootstrap for modifying the view on mobile and tablets.
  • Christian - Handyman - For my son Christian who works as a handyman, a portfolio site that shows of his skills in photos and video. Simple styling, used Bootstrap to handle the responsive behaviour.
  • Folk Club Website - I run a folk club in Colindale, booking the headline acts. I needed a diary to keep track and I put it online. I also used it to keep track of the songs that I had performed with my regular musical partner. I created JavaScript functions to mine the list of songs, to see what had not been sung in a while.
  • Key Changer - A tool for guitarists, set the chords you currently have for a song, click on the plus or minus buttons to see how they would change with the use of a capo.

Web Technologies

  • AngularJS
  • JavaScript, ES6
  • REST API Integration
  • jQuery
  • Dojo
  • XUI
  • AJAX
  • HTML4 & 5
  • CSS2 & 3
  • SASS
  • Bootstrap
  • JSON
  • VBScript
  • ASP
  • PHP
  • XML
  • XSLT
  • XSL-FO
  • Jasmine
  • Jest

Web Dev. Techniques

  • Responsive web coding
  • Semantic HTML
  • Accessibility
  • Search Engine Optimisation
  • Progressive enhancement / Graceful degradation
  • Cross browser compatibility
  • Unit Testing

Web Dev. Tools

  • Visual Studio Code
  • Rational Application Developer (Eclipse)
  • Sublime Text 3
  • Atom
  • Adobe Dreamweaver
  • Microsoft Visual Studio 2017, 2008, 2005
  • Notepad++
  • CSE HTML Validator
  • e-Campaign
  • SourceTree - a GUI for Git
  • TortoiseSVN / TortoiseGit
  • Visual SourceSafe
  • CVS
  • Subversion / SVN
  • Beyond Compare
  • Mantis Bug Tracker
  • JIRA bug tracking system
  • Bugzilla bug tracking system
  • FileZilla - FTP
  • XAMPP - web server
  • Episerver - CMS
  • Kentico - CMS
  • TeamSite - CMS
  • WordPress - CMS
  • Elementor - WordPress plugin for creating pages
  • Grunt
  • Gulp
  • Salesforce - four trails completed - profile

Multimedia Toolkit


  • Adobe Photoshop
  • Adobe XD
  • Macromedia Fireworks
  • Jasc Paint Shop Pro
  • The GIMP ver 2.2

Multimedia Programming

  • Macromedia Director/Lingo
  • Intelamedia Dazzler
  • GLpro
  • Microsoft PowerPoint

DVD Authoring & Video Encoding

  • Spruce DVDMaestro
  • Adobe Encore DVD
  • BitPack Encoder
  • Sonic Creator Encoder
  • FutureTel MPEGWorks Pro
  • Discreet Cleaner XL

Video & Audio Editing

  • Avid Media Composer V9.0 on NT
  • Syntrillium Cool Edit


A set of standards that I adhere to.

Coding Tests

  • Hired.com - Front end assessment - 83%
  • LinkedIn Skill Assessment Badge - HTML - top 5% of 993k people who took the test.
  • LinkedIn Skill Assessment Badge - CSS - top 5% of 669k people who took the test.
  • LinkedIn Skill Assessment Badge - JavaScript - top 15% of 751k people who took the test.
  • LinkedIn Skill Assessment Badge - jQuery - top 5% of 145k people who took the test.
  • LinkedIn Skill Assessment Badge - JSON - top 30% of 264k people who took the test.
  • IKM test on HTML5 - Score:86%. Percentile:73%.
  • Aquent Gymnasium - Responsive Web Design course - assessment test score 96%.
  • Brainbench test in CSS2 - Attained top 10 percentile.
  • A list of the coding tests that I have done in the past.

Useful links