Click here to Skip to main content
14,218,851 members

Dominic Burford - Professional Profile



Summary

Follow on Twitter LinkedIn      Blog RSS
6,499
Author
2,001
Authority
8,793
Debator
8
Editor
95
Enquirer
68
Organiser
2,502
Participant
I am a professional software engineer and architect with over eighteen 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 enjoy cycling, running and taking the dog for long walks. I love listening to music and am a fan of Rush and the Red Hot Chilli Peppers to name a few.

 
Articles 13 (Prolific)
Tech Blogs 0
Messages 1,071 (Master)
Q&A Questions 0
Q&A Answers 29
Tips/Tricks 14
Reference 0
Comments 77

Reputation

For more 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 frequencysilversilversilversilverAdmin
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSitebuilder, Subeditor, Mentor, Protector, Editor, Staff, Admin
Store personal files in your account areaplatinumplatinumSitebuilder, Subeditor, Supporter, Editor, Staff
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubeditor, Protector, Editor, Staff, Admin
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubeditor, Protector, Editor, Staff, Admin
Edit a Question in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Edit an Answer in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Delete a Question in Q&AYesSubeditor, Protector, Editor, Admin
Delete an Answer in Q&AYesSubeditor, Protector, Editor, Admin
Report an ArticlesilversilversilversilverSubeditor, Mentor, Protector, Editor, Staff, Admin
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubeditor, Mentor, Protector, Editor, Staff, Admin
Edit other members' articlesSubeditor, Protector, Editor, Admin
Create an article without requiring moderationplatinumSubeditor, Mentor, Protector, Editor, Staff, Admin
Approve/Disapprove a pending QuestionProtector, Admin
Approve/Disapprove a pending AnswerProtector, Admin
Report a forum messagesilversilverbronzeProtector, Editor, Admin
Approve/Disapprove a pending Forum MessageProtector, Admin
Create a new tagsilversilversilversilverAdmin
Modify a tagsilversilversilversilverAdmin

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


 
GeneralA Programmer's Life Pin
Dominic Burford21-Jun-15 18:17
professionalDominic Burford21-Jun-15 18:17 
GeneralWhy software developers get into 'religious wars' Pin
Dominic Burford17-Jun-15 1:17
professionalDominic Burford17-Jun-15 1:17 
GeneralSoftware developers - please stop moaning Pin
Dominic Burford14-Jun-15 18:36
professionalDominic Burford14-Jun-15 18:36 
GeneralRe: Software developers - please stop moaning Pin
Carl_Sharman22-Jun-15 10:08
memberCarl_Sharman22-Jun-15 10:08 
GeneralRe: Software developers - please stop moaning Pin
Dominic Burford22-Jun-15 20:46
professionalDominic Burford22-Jun-15 20:46 
GeneralCODE Magazine turns 15 years old Pin
Dominic Burford11-Jun-15 19:13
professionalDominic Burford11-Jun-15 19:13 
GeneralÀgile Purism Pin
Dominic Burford11-Jun-15 9:34
professionalDominic Burford11-Jun-15 9:34 
GeneralSpaghetti Code Pin
Dominic Burford9-Jun-15 20:57
professionalDominic Burford9-Jun-15 20:57 
I'm sure all software developers will be well aware of the dangers of spaghetti code. That nightmarish code that is rigid and inflexible by nature, and difficult to comprehend and maintain. Changes to spaghetti code are hard to implement and are fraught with unexpected side effects which often result in making the code worse instead of better.

But how does spaghetti code get created?

Spaghetti code just doesn't arise spontaneously though. Very rarely does a single software developer sit down and write a whole bunch of spaghetti code. More often than not, spaghetti code started out as the new kid on the block, all shiny and new. Well designed, well implemented and totally rocked. However, just before shipping, a bug was found, and it needed fixing pretty damn quickly (PDQ). So a hastily implemented fix was put in place, and everything was sorted.

Due to project delays and time pressures on the next release, no one had the time to go back and refactor the code, so the hasty fix remained. After releasing the software, a very vocal customer shouted very loudly that they needed a feature for them to use the software. They shouted again, and the software manager agreed to give them what they wanted. So another hastily implemented feature was put in place. A few more vocal customers also shouted very loudly and they too also got their features.

Just before shipping, a few urgent fixes were found in the unscheduled features that were implemented to appease the shouty customers. These had to be fixed PDQ.

And so on and so on. Vocal customers demanding unscheduled features. Bugs found late in the process before shipping And never the time to revisit the code to make it all shiny and new again. It doesn't take long before that shiny new code that totally rocked, has gradually degenerated into a sloppy heap of spaghetti code.

There is no simple solution to this problem, and an entire book could be devoted to the subject, but it's usually a combination of one or more of the following that leads to spaghetti code.
  • Inexperienced software developers
  • Poor project management
  • The business failing to acknowledge the problem and address the ever growing problem of technical debt (an issue I have discussed previously here What is Technical Debt?[^]
The first two problems can be rectified without too much difficulty by training and education. The latter is more problematic however. Getting the business (any business) to spend time going back over the code and refactoring it when they have already agreed new functionality and deadlines with the customer is nigh on impossible. It is easier knitting spaghetti than to persuade the IT Director of the importance of technical debt. Yet the concept is stunningly simple.
"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

GeneralXamarin vs Cordova Pin
Dominic Burford8-Jun-15 2:28
professionalDominic Burford8-Jun-15 2:28 
GeneralThe Role of a Senior Developer Pin
Dominic Burford4-Jun-15 18:47
professionalDominic Burford4-Jun-15 18:47 
GeneralCQRS for the Common Application Pin
Dominic Burford2-Jun-15 18:58
professionalDominic Burford2-Jun-15 18:58 
GeneralSoftware as a core competency Pin
Dominic Burford1-Jun-15 18:40
professionalDominic Burford1-Jun-15 18:40 
GeneralWhen IT Support breaks down Pin
Dominic Burford1-Jun-15 2:11
professionalDominic Burford1-Jun-15 2:11 
GeneralThe responsibility we have as software engineers Pin
Dominic Burford26-May-15 1:24
professionalDominic Burford26-May-15 1:24 
GeneralTop skills developers should be learning right now Pin
Dominic Burford21-May-15 20:58
professionalDominic Burford21-May-15 20:58 
GeneralMy thoughts on Visual Studio Code Pin
Dominic Burford20-May-15 11:23
professionalDominic Burford20-May-15 11:23 
GeneralThe Pragmatic Developer Pin
Dominic Burford20-May-15 2:36
professionalDominic Burford20-May-15 2:36 
GeneralIn the next 100 years computers will overtake humans Pin
Dominic Burford17-May-15 21:46
professionalDominic Burford17-May-15 21:46 
GeneralThe Failure of Agile Pin
Dominic Burford15-May-15 1:03
professionalDominic Burford15-May-15 1:03 
GeneralLearning Node.JS Part 2 Pin
Dominic Burford14-May-15 2:33
professionalDominic Burford14-May-15 2:33 
GeneralMy home development environment Pin
Dominic Burford13-May-15 9:46
professionalDominic Burford13-May-15 9:46 
GeneralGreat Programmers Write Debuggable Code Pin
Dominic Burford11-May-15 2:22
professionalDominic Burford11-May-15 2:22 
GeneralIn Praise Of The Average Developer Pin
Dominic Burford10-May-15 18:42
professionalDominic Burford10-May-15 18:42 
GeneralThe rise and rise of open-source Pin
Dominic Burford10-May-15 11:30
professionalDominic Burford10-May-15 11:30 
GeneralBest Practices in Software Pin
Dominic Burford5-May-15 11:45
professionalDominic Burford5-May-15 11:45 

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.