Click here to Skip to main content
15,442,007 members

Dominic Burford - Professional Profile



Summary

Follow on Twitter LinkedIn      Blog RSS
6,555
Author
2,053
Authority
9,849
Debator
8
Editor
100
Enquirer
212
Organiser
2,952
Participant
I am a professional software engineer and technical architect with over twenty years commercial development experience with a strong focus on the design and development of web and mobile applications.

I have experience of architecting scalable, distributed, high volume web applications that are accessible from multiple devices due to their responsive web design, including architecting enterprise service-oriented solutions. I have also developed enterprise mobile applications using Xamarin and Telerik Platform.

I have extensive experience using .NET, ASP.NET, Windows and Web Services, WCF, SQL Server, LINQ and other Microsoft technologies. I am also familiar with HTML, Bootstrap, Javascript (inc. JQuery and Node.js), CSS, XML, JSON, Apache Cordova, KendoUI and many other web and mobile related technologies.

I am enthusiastic about Continuous Integration, Continuous Delivery and Application Life-cycle Management having configured such environments using CruiseControl.NET, TeamCity and Team Foundation Services. I enjoy working in Agile and Test Driven Development (TDD) environments.

Outside of work I have two beautiful daughters. I am also an avid cyclist who enjoys reading, listening to music and travelling.

 

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralMy first year - How time flies Pin
Dominic Burford19-Jun-17 1:40
professionalDominic Burford19-Jun-17 1:40 
GeneralShould software architects write code? Pin
Dominic Burford16-Jun-17 4:22
professionalDominic Burford16-Jun-17 4:22 
GeneralEnsuring your data is safe with Azure SQL Database Pin
Dominic Burford2-Jun-17 2:24
professionalDominic Burford2-Jun-17 2:24 
GeneralWhat makes a Senior Software Engineer? Pin
Dominic Burford30-May-17 21:53
professionalDominic Burford30-May-17 21:53 
GeneralMore Software Interview Skills 101 Pin
Dominic Burford25-May-17 6:03
professionalDominic Burford25-May-17 6:03 
GeneralSoftware Interview Skills 101 Pin
Dominic Burford12-May-17 5:44
professionalDominic Burford12-May-17 5:44 
GeneralBeat the Thrashing Pin
Dominic Burford5-May-17 6:03
professionalDominic Burford5-May-17 6:03 
GeneralWorking with Azure Blob Storage Pin
Dominic Burford27-Apr-17 2:29
professionalDominic Burford27-Apr-17 2:29 
When I implemented the original image storage functionality for the mobile app by developing an ASP.NET Web API service, I knew that ultimately I wanted this functionality to use Azure Blob Storage (ABS). We already use many other Azure services (Service Bus, Functions, WebJobs etc) and so it seemed a natural fit to also use Azure for storing the images sent from the mobile app.

Initially I wasn't sure how ABS would integrate with our Web API services from an architectural point-of-view. After some advice from some highly respected colleagues (you know who you are - Andy Deacon and Steve Evans), the simplest and most effective approach would be for the mobile app to upload the images to ABS, then pass the blob ID into the backend service as part of the message that is created by the mobile app (all form submission data that is sent from the mobile app is packaged up into a message object which contains all the user-entered information). So with this in mind, I began exploring how this could be achieved.

Unfortunately, due to the pressures of timescales, I didn't have sufficient time to implement a solution using ABS. I wasn't familiar enough with it, and needed to spend some time researching around it and getting to grips with it. Maybe go through some example code and read through the documentation.

Now that I've finally managed to get round to this, I've managed to develop a complete suite of ASP.NET Web API services for uploading, downloading, listing and deleting blobs from ABS. And yet again, I am very impressed by just how rich the API is for integrating our Web API services with Azure. Setting up and configuring the ABS containers was straight-forward. I created one for unit-testing and one for production. I added the ABS connection strings and container names to the web.config file (you don't want this hard-coded into your application code). I then created the necessary Web API controllers (and associated unit-tests) for allowing the mobile app to integrate with ABS.

The images are uploaded as serialised JSON objects (to enable the mobile app to consume the services), which are de-serialised by the Web API controllers. Once de-serialised into a type that is capable of integrating with ABS (such as a file stream), the necessary ABS API methods are invoked.

As I have come to expect from Azure, all of this functionality works seamlessly with the .NET ecosystem. The infrastructure for integrating with ABS is now code complete. All that is left now is to make the necessary changes to the mobile app to support these new services. These will be rolled out when we begin working on the new version of the mobile app (timescales TBD).

Azure is one of the best development platforms I have used in a long while. It's extremely powerful, has full support with Visual Studio and the .NET ecosystem, and is easy to setup and configure.

If you're building high volume enterprise applications which need to be scalable and available, then Azure is definitely worth a look.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare

Home | LinkedIn | Google+ | Twitter

GeneralWrestling with Apple Pin
Dominic Burford20-Apr-17 3:37
professionalDominic Burford20-Apr-17 3:37 
GeneralTwo unit tests, zero integration tests Pin
Dominic Burford10-Apr-17 22:39
professionalDominic Burford10-Apr-17 22:39 
GeneralThe Mediocre Mindset Pin
Dominic Burford29-Mar-17 1:10
professionalDominic Burford29-Mar-17 1:10 
GeneralHow much code coverage is enough? Pin
Dominic Burford21-Mar-17 5:14
professionalDominic Burford21-Mar-17 5:14 
GeneralThe Mythical Full Stack Developer Pin
Dominic Burford14-Mar-17 3:18
professionalDominic Burford14-Mar-17 3:18 
GeneralCreating your own private NuGet server Pin
Dominic Burford2-Mar-17 0:36
professionalDominic Burford2-Mar-17 0:36 
GeneralConsuming a dependency using NuGet Pin
Dominic Burford28-Feb-17 6:05
professionalDominic Burford28-Feb-17 6:05 
GeneralCoding Standards Pin
Dominic Burford24-Feb-17 6:02
professionalDominic Burford24-Feb-17 6:02 
GeneralSoftware Architecture Challenges Pin
Dominic Burford17-Feb-17 1:31
professionalDominic Burford17-Feb-17 1:31 
GeneralGetting the Most Out of Your Unit Tests Pin
Dominic Burford9-Feb-17 9:21
professionalDominic Burford9-Feb-17 9:21 
GeneralBuilding a strong development team Pin
Dominic Burford8-Feb-17 6:31
professionalDominic Burford8-Feb-17 6:31 
GeneralLast pieces of the mobile app in the Web API puzzle Pin
Dominic Burford27-Jan-17 5:03
professionalDominic Burford27-Jan-17 5:03 
GeneralSerializing .NET types that contain DateTime Pin
Dominic Burford22-Jan-17 18:53
professionalDominic Burford22-Jan-17 18:53 
GeneralClearing the Dead Letter Queue on an Azure Service Bus Queue Pin
Dominic Burford16-Jan-17 8:57
professionalDominic Burford16-Jan-17 8:57 
GeneralMigrating ASP.NET Web API services to the Azure platform Pin
Dominic Burford10-Jan-17 2:45
professionalDominic Burford10-Jan-17 2:45 
GeneralProcessing Azure Service Bus messages using an Azure Function Pin
Dominic Burford4-Jan-17 9:10
professionalDominic Burford4-Jan-17 9:10 
GeneralThe Structure of an Azure Service Bus message Pin
Dominic Burford30-Dec-16 3:11
professionalDominic Burford30-Dec-16 3:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.