Mock

About Me

My entire professional career has been spent as a developer & data-analyst in Enterprise organisations.

This site has been written as a demonstration of my current skills. For a full manifest of the architecture used in its construction see this link for a description of the tools and techniques. To see a complete chronology of my professional experience, see this here.

Programming Experience

I've been programming since the first micro computers were available. I'm equally happy in modern a world of OO, DI, Mocking, TDD, SOLID, DRY, YAGNI - as in the world of legacy applications and traditional monolithic practices.

My later career focus has been in web developments, most notably in the Microsoft ASP.NET stack, and most recently, active in C# with Core 3.1 ASP.NET RazorPages. I have been a full-stack web developer since the mid 90's with early experience of Perl, Php, Asp, and Webforms. My designs have been used to implement multiple Insurance portals, quotation systems, and portfolio management for huge International Insurance companies, Lloyds of London syndicates, and Hedge Funds.

My first programming experience was in 1981 with BASIC and Algol , but it has included over a decade Mainframe work in PL/I, Cobol. And another decade in Client-Server development on Windows PC's using Visual Basic. But the largest share of my career has been in C# where I was an early adopter starting with the first beta versions back in 2002.

There's also far too many scripting languages to name (or remember), far too many operating systems that are historical legacies now, on too much equipment that could conceivably sit alongside the Babbage Difference engine.

DevOps/Agile Experience

The term DevOps is new but the principles are old. I've been a consumer of Continuous Integration and Deployment tools since the early 2000's, and even wrote a Powershell "Software as Infrastructure" suite back in 2010 to manage the whole web infrastructure for an enterprise. As a manager, having seen the benefits of a best-of-breed fully automated Cloud DevOps process, I've become only more comitted as a developer to the principles of iterative development I first learned from early Agile practitioners in the 90's.

Source code management is of fundamental importance to any serious organisation. I've long experience of tools like Git, Subversion, PVCS, SourceSafe, and Endevour, using a branching/merging strategy to manage the development pipeline. Coupled with a modern backlog Agile project management toolset, modern developments can be rocket propelled with little additional investment or work on the part of an in-house team.

I was trained in Agile principles back in 1994 using the DSDM framework, and I've since worked extensively for organisations that use Scrum / Jira. Seeing how Agile has been implemented in organisations both at developer & managerial level, and in places where it has been done well and poorly has been instructive. Agile itself has undergone many iterations and revisions but the guiding principles remain essential when done well.

Data Experience

In the history of the IT profession, only one software component has endured unchanged in that time: the Relational Database Management System (RDBMS). My experience began in 1984 and my entire career has been spent in Enterprise systems, managing high volume business-critical data. Those high-quality highly-secure highly-scaleable data principles remain equally as valid today in the evolving cloud data platforms and I remain committed to adhering to the best of those practices.

I'm not merely a data-first developer I'm data-analysis-first, using Enterprise class tools like PowerDesigner, Er/Win, and most recently DbSchema, to take a domain-first approach to highly normalized schema-focused designs conforming to Domain-key/6NF normalization rules. I have extensive experience writing Stored Proceded procedures to acheive high performance, and I have long experience of SQL Server, Oracle, DB2, Access, SQLite, with exposure to Sybase, Firebase, and MySql though the full list is longer.

Current skills

This list is not comprehensive, but it gives a flavour of where my current interests are.

  1. Database design in SQL Server & Oracle 90%
  2. Data analysis and Normalization in Enterprise models 90%
  3. .Net Core 3.1 with C# and Powershell 80%
  4. Web development with ASP.NET 80%
  5. Html, JavaScript and CSS 60%
  6. Azure SQL Server and ASP.NET 60%
  7. xUnit & nSubstitute 50%

Roles

I have performed many different roles in my career. Predominately as developer, but also as data-analyst & development dba. I've also been directly employed as a Teacher, Mentor, Analyst, Team-lead, Architect, Technical Author, CTO, and Development Manager. Each of these roles has given me an opportunity to learn an entirely different set of skills, and to value the people who support those functions.

Business

Over my career I've worked for almost every kind of business, which includes: Manufacturing, Airlines, Oil, Retail, Government (local and central), Property Telecoms, Insurance, High Finance, and Banking.

What I have found is that the quality of systems is not governed by the size of the project budget, but by the inventiveness of the developers. Necessity is the mother of invention, and with the right team, even on a tight budget with limited timescales, remarkable things are possible.

Employment

If you're an employer, or an agency looking to fill a related IT vacancy, please drop me an email with a detailed job-spec and I can pass on a more complete CV and a covering letter.