Wayne Douglas

Brighton / London C# / Asp.Net MVC Developer

Skills

Summary

Wayne Douglas
Brighton
07508 215 459
wayne@made-software.com
http://iwayneo.blogspot.co.uk/

I am highly motivated, with a keen interest in, and excellent exposure to software development in heterogeneous environments. I have been involved in all stages of the development lifecycle from requirements gathering through to development and deployment. I am lucky to have been exposed to a large spectrum of technologies ranging from front end (ASP.NET MVC, Angular/Ember) to middle tier (REST services with WebApi & ServiceStack). My current main areas of interest are CQRS, EmberJs/Angular, NodeJs, Threading (C#) and Azure. I have a passion for continuous improvement and always seek to learn new methods, patterns and tools at every level of the software stack which enable me to create software at the cutting edge. I contribute back to the community through various small OS projects and blog my findings and experiments when I can.

Education
● Bsc Internet Technology 2:1

Key Technologies
● Development Environments: Microsoft Visual Studio (all versions 2003 to 2015), MonoDevelop (for iPhone, Android development using Xamarin), Eclipse (Android, Java)
● Languages/Fameworks: C#.NET, JQuery, AngularJS, Ember Js, NodeJs, ASP.NET MVC (1 to 5), Razor View Engine, Castle Windsor IoC, Unity IoC, XML Web Services / WCF, REST, MVVM
● Database/ORM: MS Sql Server, SQLite, MySql, RavenDB, Mongo DB, NHibernate, LLBLGEN, Linq, T-SQL, Map / Reduce
● Source Code Repositories: Git, TFS, Subversion
● Messaging: MSMQ, RabbitMQ, NServiceBus, Masstransit, Rhino Service Bus, Azure ServiceBus
● Continuous integration/Build Systems: Team City, TFS, Cruise Control, MSBuild Community Extensions, Nant, Octopus Deploy
● Test/Refactor: Resharper, BDD: SpecFlow, StoryQ, XUnit/NUnit, Selenium, Calabash, TestStack
● Mobile: Xamarin(iPhone/Android)
● Architecture: I am a keen proponent of CQRS/ES & DDD.
● Operating Systems: Windows, OSX, Linux (Ubuntu server/desktop)
● Virtualization: Docker, VirtualBox, VMWare, VagrantUp.
Work Experience

Made Software – Contract Software Developer December 2016 – Present
• Continued working with client after AgileOrange completed their contract and given complete control over architecture and technology
• Rebuilt the application using EmberJs and Azure Service Fabric to enable multi-tenancy, faster development cycle, API speed and resilience through clustering and a more modern UI.
• Utilised Elastic Search as a datastore, search server and analysis engine using Kibana.
• Using MassTransit to easily add command/event messaging and persistent sagas for long running processes.
• Managed two other developers (one backend and one UI)
• Managed the full SDLC

AgileOrange – Contract Software Developer June 2016 – December 2016
● Worked on an Azure hosted application used for billing analyses in the card payment processing industry.
● The application uses OCR technology to extract bill data from photos and PDFs which we then analyse and feed back to the user.
● Introduced Azure Resource Manager and created the entire CI/CD infrastructure.
● Introduced BDD using TestStack.Seleno

MakeMedia – Contract Software Developer April 2016 – June
● Worked on an Angular application used to manage the calibration process at Eurotherm.
● Created a Node CLI inspired by Ember’s CLI used by the developers to gain auto build, auto test run, browser refresh etc on file change using the Broccoli (http://broccolijs.com/) asset pipleline. This tool helped cut the UI developers development cycle helping to make them much more focused and efficient.


TAB – (The App Business) Sr. Contract Software Developer Jan 2016 – April 2016
● Worked on the MBaaS (Mobile Backend as a Service) team.
● Developed solutions using the latest Microsoft Azure technologies including Logic Apps, Notification Hubs, ARM (Azure Resource Manager) provisioning.
● Developed mobile backend APIs using ASP.NET WebAPi, SqlServer, Autofac, Specflow, Azure Mobile Services.

KPMG – Sr. Contract Software Developer –Nov 2015 – Jan 2016
● Greenfield development of Trillion - a complete remake of https://www.exportingisgreat.gov.uk/ being launched in Jan 2016.
● built using AngularJs and WebApi. Utilising ElasticSearch and SqlServer 2008 for storage.
● Fully agile environment.
● Implemented Specflow UI automation tests as well as Karma unit testing.
● Technologies used: Angular, MS WebApi, ElasticSearch, Bootstrap, Grunt, Karma, C#, Amazon SQS, Amazon EC2, Amazon SES.

Visa Europe – Sr. Contract Software Developer –Nov 2014 – Jan 2016
● Greenfield development of Daily Net Settlements reporting tool using MVC/WebApi. The tool allows members to report on net settlements that fall outside of Visa’s control but are secured under the Visa Guarantee.
● Used WebApi, MVC, Selenium, TDD/BDD, TFS.
● Worked on Visa Account Bulletin application which reports to member’s fraudulent activity and at-risk card information.
● Technologies used: Azure (service bus, storage, worker roles), EmberJs, Angular, Node.




Aditi Technologies – Sr. Contract Software Developer (Tesco Hudl 2 Azure Cloud Services) –May 2014 – Nov 2014
● Working alongside 2 MVPs on the CQRS/ES API for OTA firmware updates for the next gen Hudl tablet.
● All services hosted on Azure making use of many advanced Azure/Cloud features.
● Full CQRS/ES architecture with an SLA to handle 2,000 requests per second (the API easily achieved 30,000 requests p/second in tests on 2 small azure instances).
● Assessed multiple Event Sourcing methods including MS CQRS Journey (http://iwayneo.blogspot.co.uk/2014/07/sonatribe-conversations-platform-cqrs.html) and geteventstore.com (http://iwayneo.blogspot.co.uk/2014/07/sonatribe-conversations-platform-cqrs_30.html) – code also available on github – links in posts.
● Fully agile environment.
● Using BDD / Emergent design to drive the process. Test frameworks used include MSTest, Moq, Selenium, StoryQ.
● Technologies used: Azure ServiceBus, Azure Storage, Azure Web & Worker Roles, Azure vNET.
● Used Vagrant/Docker to run Kafka and other *Nix services in the cloud.


Intohand (Tesco Mobile Centre of Excellence) – Sr. Contract Software Developer (Mobile) –Dec 2013 – May 2014
● Develop Xamarin iOS client for the “Revolutionary Search” project. This includes client side caching and IMDB level performance on search. To be used in the main Tesco Grocery app as well as other Tesco apps. The project produced a search feature that meant the Tesco Grocery app can now cache frequently searched items for a near immediate search response while maintaining complex search criteria such as boosting.
● Optimizations included reducing code footprint by removing bloated libraries such as RestSharp (replaced with HttpClient), making use of async await, using NSUrl and NSUrlCache, investigating on-the-wire formats such as protobuff, downloading and rendering images out of process, introducing IoC in-app to reduce object creation (reducing memory footprint) and also to improve testability.
● The resulting code offered two implementations; firstly an SQLite backed repository pattern based search implementation which can be used in their Android apps and secondly an iOS specific implementation leveraging key iOS platform features (there is no equivalent to NSUrlCache in Android). Both implementations are highly performant due to using an in-memory SQLite Db which is frequently backed up to a file based DB using SQLite’s backup feature.
● Tesco are adopting my work on this project and implementing it across their range of mobile offerings.
● Work on the new Tesco Clubcard app using Xamarin iOS.


PSonar – Sr. Contract Software Developer (Mobile) –March 2013 – Dec 2013
● Develop iPhone/Android app using Xamarin – the PSonar music app is available in both Apples App Store and Google Play.
● Use Calabash to drive BDD style tests on both Android and iPhone devices.


GalaCoral – Sr. Contract Software Developer (Mobile) –Nov 2012 – March 2013
● Develop internal iPhone apps using Xamarin used for club management.
● Develop APNS (Apple Push Notification Services) system used for updating club management apps.
● Develop ETL (Extract/Transfom/Load) data migration for club membership database.
● Give training presentations on BDD using SpecFlow, Selenium, StoryQ.

Towers Watson – Sr. Contract Software Developer (Web) –Jan 2012 – Nov 2012
● Lead a small team of UI developers to build a financial risk reporting tool using Asp.Net MVC3 and FusionCharts.
● Using an agile approach to drive development with high velocity.
● Emergent design driven through BDD style testing using StoryQ and Selenium browser automation, backed with XUnit tests for finer grained coverage at lower levels.
● Mentor associates and provide “brown bag” sessions covering TDD/BDD and DDD/CQRS/ES


Archant – Sr. Contract Software Developer (Web) –April 2011 – Dec 2011
● Develop http://weddingsite.co.uk using ASP.NET MVC3 with Razor View engine.
● Used CQRS with NSB for background processing of long running tasks and command handling.
● Used RavenDb as the persistence store.
● Developed email engine using NVelocity as the templating engine.
● Other tech used: JQuery, Castle Windsor, Facebook and google APIs, Automapper, FluentValidation, SagePay.


SolidSoft – Contract Software Developer (Web) –Nov 2010 – April 2011
● Worked on UI team for the “Tell us once” (http://goo.gl/dZKwNQ ) project. A government initiative to simplify the process of reporting “events”. An event can be anything from the birth of a child to the death of a person. The event is recorded and the system takes care of notifying all of the appropriate government departments.
● Technologies used: Asp.Net, Linq, MVC 3.0, Razor, Wcf, NUnit, Rhino.Mocks, TFS, Unity IoC.


Game.co.uk – Contract Software Developer (Web) –Aug 2010 – Nov 2010
● Helped game.co.uk carry out a re-platform 80% of their existing in-house developed e-comm system to IBM Websphere Commerce Server
● Migrated game.co.uk account data to the IBM WebSphere platform using Rhino.Etl, SQL Server BCP and stored procedures/triggers.
● Develop WCF services which interact with IBM ESB to integrate areas of the system which aren't part of the re-platform
● Technologies used include NHibernate, ASP.NET MVC, Castle IoC, NMock, NUnit.


East Sussex County Council – Contract Software Developer (Web) –Nov 2008 – Aug 2010
● Develop financial budget management/forecasting/HR system using ASP.NET MVC, Castle Windsor IoC, NHibernate, ExtJs, SQL Server 2005.
● ESCC have roled this system out nationwide.


Dr Foster Intelligence – Contract Software Developer (Web) –Sept 2007 – Nov 2008
● Developed highly configurable drag/drop, Ajax UI for new reporting tool using ExtJs and JQuery which mimics the functionality normally found in desktop applications.
● Introduced LLBLGEN ORM to the company for use in this project.
● Developed DB Schema and created DA/BL tiers for this project.
● Used ASP.NET/C# 2.0 & SQL Server 2005.

MIA –Perm Software Developer (Web) –Sept 2006 – Sept 2007
● Manage the production of WAP portal development for large clients such as FHM, O2 etc.
● Maintain development of core namespaces, manage billing integrations with mobile carriers across Europe, manage the development of in house web based applications and reporting tools, manage team of three developers.
● Developed download engine to customise multimedia downloads per mobile handset, according to its capabilities.
● Technology used: C#/VB/ASP.NET 2.0, Atlas, SQL Server 2005, SVN, CruiseControl continuous integration..


KMI (EHS Software –Toronto )–Perm Software Developer (Web) –Sept 2005 – Sept 2006
● Develop environmental health and safety software including an incident management system, a process/hazard analysis application and an audit system using C#, ASP.NET 2.0, SQL Server 2005, XML Web Services, NUnit Testing, OO design patterns and Ajax.
● Develop pocket PC version of the audit application in C# which includes data synchronization through RDA and XML Web Services.
● Used an ORM tool (LLBLGEN) as the data access tier for web based applications.
● Build functionally rich and responsive GUI’s using stable cutting edge open source technology and public domain. Used Dojo extensively to build responsive Ajax / Comet web pages.

Work Flexibility

Location flexibility

Within Brighton.
Within East Sussex.

Length of contract

Days.
Weeks.
Months.