Click here to Skip to main content
15,889,281 members

Dominic Burford - Professional Profile



Summary

Follow on Twitter LinkedIn      Blog RSS
6,554
Author
2,053
Authority
9,852
Debator
8
Editor
100
Enquirer
212
Organiser
2,954
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.


 
GeneralGetting creative and staying in the zone Pin
Dominic Burford16-Mar-16 1:56
professionalDominic Burford16-Mar-16 1:56 
GeneralLet's stop talking about quality Pin
Dominic Burford25-Feb-16 21:02
professionalDominic Burford25-Feb-16 21:02 
GeneralWhat makes a good programming language? Pin
Dominic Burford3-Feb-16 1:53
professionalDominic Burford3-Feb-16 1:53 
GeneralRe: What makes a good programming language? Pin
Slacker0073-Feb-16 2:07
professionalSlacker0073-Feb-16 2:07 
GeneralRe: What makes a good programming language? Pin
Dominic Burford3-Feb-16 20:52
professionalDominic Burford3-Feb-16 20:52 
GeneralPreventing a button from being clicked multiple times Pin
Dominic Burford26-Jan-16 21:26
professionalDominic Burford26-Jan-16 21:26 
GeneralProgramming Trends To Look For This Year Pin
Dominic Burford13-Jan-16 19:03
professionalDominic Burford13-Jan-16 19:03 
GeneralWhat is "Clean Code"? Pin
Dominic Burford23-Dec-15 5:05
professionalDominic Burford23-Dec-15 5:05 
We often hear software developers talking about "clean code", but what exactly does it mean? How can code be clean? Presumably you don't take your code to the shower for a wash, so how can code be said to be clean?

There are a great number of articles and blogs on this subject, and there is even a book on the subject, so clean code is obviously an important topic in the world of software development. During interviews it is something that I try to look for (by asking the candidate to write some code, by checking their on-line source code repositories e.g. Github etc).

There is no single definition of the term, as it encompasses many different elements, and there will also likely be disagreement and discussion as to its definition amongst software developers. This list is therefore my own definition. If you have any comments please feel free to leave a comment below.

Clean code should adhere to the following constraints:

- Variables, functions, events and properties should have meaningful names so that their intention is unambiguous and obvious e.g. calling a variable x or y is not allowed.

- Proper use of comments. I know that this single statement will have opened up a can of worms by itself (software developers do love their religious wars) but what that means is to leave comments where they clarify and add useful information to aid in the understanding of a piece of code. How you define that is up to you (but please do so consistently).

- Low coupling and high cohesion. I won't explain what these are, as I am assuming that the reader already has an understanding of software development principles. All functions within an application should be independent and not rely on any global state. All dependencies should be passed via parameters and they should perform one and only one task, and perform that task well.

- Clean code is simple and well engineered as opposed to complicated and over-engineered. Whilst it is great to understand design patterns, object mappers etc. you probably wouldn't use them in a simple console app for importing your payroll data. Understanding good design is important, but of greater importance is knowing "when" to use them. Cluttering a very simple application with design patterns, object mappers and the like just makes the whole thing difficult to comprehend.

- Good levels of re-factoring. If you see the same code repeated all over the place then it is clearly breaking the DRY principle (Don't Repeat Yourself). If you find yourself writing the same code more than twice (although some would keep this at one) then you need to refactor the code into a function and call that function instead.

- Another developer should be able to quickly (relatively speaking) understand what the code is doing and make modifications. If the code is so incomprensible that it takes your average developer an increasingly long time to make sense of the code, then clearly the code is not intuitive. In the same way that we strive to make our user-interfaces as intuitive and self evident as possible, so we ought to strive to reach the same ideals with our code.

Writing good code takes practice and skill. It takes effort and attention to detail. This final quote from Michael Feathers best sums up the definition of clean code.
Quote:
Clean code is a code that is written by someone who cares.

"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

GeneralCoding without a safety net Pin
Dominic Burford15-Dec-15 18:48
professionalDominic Burford15-Dec-15 18:48 
GeneralFocussing controls with ASP.NET Pin
Dominic Burford10-Dec-15 21:07
professionalDominic Burford10-Dec-15 21:07 
GeneralOne Googler's War on Javascript Frameworks Pin
Dominic Burford26-Nov-15 19:24
professionalDominic Burford26-Nov-15 19:24 
GeneralThe Programmer's Oath (extended version) Pin
Dominic Burford19-Nov-15 19:01
professionalDominic Burford19-Nov-15 19:01 
GeneralBalancing general IT knowledge vs. technical expertise Pin
Dominic Burford19-Nov-15 1:08
professionalDominic Burford19-Nov-15 1:08 
GeneralRe: Balancing general IT knowledge vs. technical expertise Pin
Slacker00719-Nov-15 1:29
professionalSlacker00719-Nov-15 1:29 
GeneralRe: Balancing general IT knowledge vs. technical expertise Pin
Dominic Burford19-Nov-15 2:29
professionalDominic Burford19-Nov-15 2:29 
GeneralTime for Linus Torvalds to change how he treats people Pin
Dominic Burford14-Nov-15 21:05
professionalDominic Burford14-Nov-15 21:05 
GeneralRe: Time for Linus Torvalds to change how he treats people Pin
Slacker00715-Nov-15 1:47
professionalSlacker00715-Nov-15 1:47 
GeneralProgrammers and engineers Pin
Dominic Burford5-Nov-15 21:04
professionalDominic Burford5-Nov-15 21:04 
GeneralRule of Modularity Pin
Dominic Burford26-Oct-15 21:46
professionalDominic Burford26-Oct-15 21:46 
GeneralDomain Driven Design Quickly Pin
Dominic Burford21-Oct-15 18:37
professionalDominic Burford21-Oct-15 18:37 
GeneralRe: Domain Driven Design Quickly Pin
Slacker00722-Oct-15 2:08
professionalSlacker00722-Oct-15 2:08 
GeneralRe: Domain Driven Design Quickly Pin
Dominic Burford22-Oct-15 2:19
professionalDominic Burford22-Oct-15 2:19 
GeneralKeeping your skills up-to-date (sharpening your axe) Pin
Dominic Burford15-Oct-15 20:33
professionalDominic Burford15-Oct-15 20:33 
GeneralRe: Keeping your skills up-to-date (sharpening your axe) Pin
Slacker00715-Oct-15 22:07
professionalSlacker00715-Oct-15 22:07 
GeneralRe: Keeping your skills up-to-date (sharpening your axe) Pin
Dominic Burford16-Oct-15 1:19
professionalDominic Burford16-Oct-15 1:19 

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.