Click here to Skip to main content
11,637,176 members (68,466 online)
Click here to Skip to main content

Tagged as

A Coder Interview With Sacha Barber

, , 26 Aug 2011 CPOL 51.3K 34
Rate this:
Please Sign up or sign in to vote.
Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we track down Code Project member Sacha Barber.

Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we track down Code Project member Sacha Barber.

Sacha has been a Code Project member since 2003, and in that time has become a cornerstone of the community. He’s written over 120 articles, received many awards for his contributions and, as you’ll see, is eager to share his knowledge and enthusiasm for coding.

Who are you?

My name is Sacha Barber and I live in the seaside town of Brighton in the UK, which is known for its pier, rock and beach and is a old-time hangout for the good-time party people of London. I have no official title where I currently work, as I am a hired consultant (that's right, a contractor). The company I work for is an FX (also known as Forex or foreign exchange markets) company, though we must also support front and back-office functionality

What do you do?

I am a strange breed in some ways, as I have not always been into software. I originally studied electronics and worked in that for a while before getting into industrial automation, where we would write software to control various things from paper mills to chemical processes (where they made hair dye and all sorts of great things, such as toothpaste) and oil rigs.

Working in industrial automation taught me about software. I was using some very strange proprietary languages then which are more akin to assembler than anything high level like C#, though we did a lot of Visual Basic code too.

At the end of my time in industrial automation I was seeing that it, too, was starting to use high level languages like the .NET Framework, which I started with when v1 had just come out, actually. I pretty much fell in love with .NET after the first time I played with it.

So I have worked on a great many of these types of projects, but I finally decided proper programming was the way for me. I went back to Uni and got myself a degree and a masters, and then went back into the big wide world and looked for work. While I was at Uni I was working with .NET in my spare time and was also doing small bits of work for people using WinForms and SQL Server. I also started to get into what was called Sparkle, which became what we now know of as Expression Blend, so basically WPF.

Since leaving Uni I have been lucky enough to work at a few great companies where I have done various projects, which have included both web and desktop projects. Most notably I worked on an ASP.NET web site for a government backed accreditation/assessment system, which needed to link to handheld PDAs that assessors would use remotely.

I have also worked briefly in the telecoms world, before I moved into finance, where I have mainly been involved with working on a complete rewrite of all the tools that the company used. We chose to do this in .NET 3.5 (now 4.0) and we use WCF/REST services and SQL Server 2008, along with dealing with MSMQ and a WPF front end. We need to provide full business functionality, so that means front office functions like allowing FX trading and back office payment processing and allocation functions, as well as document generation. It is quite a beast of a project actually and uses the following things:

What is your development environment?

We are a team of 12 and we are pretty tight as a team. We tend to work in an Agile manner, where we try to follow best practices such as XP, Unit testing, Continuous Integration, 2-week sprints. Each member of the team runs a pretty powerful Dell with 2 monitors, Visual Studio 2010 SP1, ReSharper, SQL Server 2008, and Perforce for source control.

In terms of frameworks, we currently don't use too many. We try to limit the use of third-party frameworks as much as possible, but we do have the following dependencies

  • LINQ Dynamic Queries, which we use for some of the weirder LINQ we write
  • Castle Windsor for service location and dependency injection
  • NUnit for testing
  • Moq for mocking inside of tests
  • Nant allows us to build the scripts that Cruise Control .NET will run
  • CruiseControl.NET to check out our code, run the tests and build deployment packages with

What new tools, languages or frameworks interest you?

I am a big fan of IOC containers, and MEF and WCF. As such I have been playing around with the following frameworks lately:

  • MEF 2 Preview 3, which I am using in a side project right now
  • WCF Web API, which I think is very cool and truly makes WCF RESTful
  • AutoFac looks like a pretty cool IoC container

In terms of other things I wish I had time to look at, there is quite a list, I currently wish I knew more about F#, Windows PowerShell, Windows Azure and jQuery. So when I get time these are the areas I will be looking at.

What is your coding pet peeve?

My pet peeve is using underscores in front of fields – you know: _someField. That really bugs me.

As for naming conventions, I think making variable names as explicit as possible is the way to go, you know call something "isDuplicationAllowed" rather than "dups." In terms of casing/indentation that varies from job to job and some places enforce it with StyleCop.

To be honest I am happy to go with the flow on this one, nothing to report there.

How did you get started programming?

I got started programming when I was 16 or so I suppose, but not really properly until I got into the industrial automation work, which is where I really got into it and learned the delights of truth tables, and logic, and control flow statements like if, else switch. Awesome stuff I am sure you will agree.

My 1st computer was a Commodore 64 with the external tape loader for games, where you would wait ages for GhostBusters to load from tape only to have it crash in the final 2 seconds of loading. Awesome to the max.

How has the developer community influenced your coding?

I like reading people’s blogs and get a lot of good stuff from blogs. As far as Twitter, LinkedIn, and that ilk? Call me old fashioned, but I do not use them at all. I have little enough time without tweeting my every move. And as for LinkedIn, its basically a job agency tool from what I see, the amount of head hunters/recruitment agents that use LinkedIn is staggering. Not for me

What advice would you offer to an up-and-coming programmer?

Start young. Learn different languages, as it gives you a deeper understanding of it all. And, if possible, surround yourself with smarter or at least like-minded folk. That really helps make you better. Read lots, that helps too. Also try and maintain a work-life balance, you need that.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Authors

Software Developer The Code Project
United States United States
No Biography provided
Group type: Organisation

6 members

Sacha Barber
Software Developer (Senior)
United Kingdom United Kingdom
I currently hold the following qualifications (amongst others, I also studied Music Technology and Electronics, for my sins)

- MSc (Passed with distinctions), in Information Technology for E-Commerce
- BSc Hons (1st class) in Computer Science & Artificial Intelligence

Both of these at Sussex University UK.


I am lucky enough to have won a few awards for Zany Crazy code articles over the years

  • Microsoft C# MVP 2015
  • Codeproject MVP 2015
  • Microsoft C# MVP 2014
  • Codeproject MVP 2014
  • Microsoft C# MVP 2013
  • Codeproject MVP 2013
  • Microsoft C# MVP 2012
  • Codeproject MVP 2012
  • Microsoft C# MVP 2011
  • Codeproject MVP 2011
  • Microsoft C# MVP 2010
  • Codeproject MVP 2010
  • Microsoft C# MVP 2009
  • Codeproject MVP 2009
  • Microsoft C# MVP 2008
  • Codeproject MVP 2008
  • And numerous codeproject awards which you can see over at my blog

You may also be interested in...

Comments and Discussions

GeneralMy vote of 5 Pin
Brij10-Oct-11 21:02
mvpBrij10-Oct-11 21:02 
GeneralRe: My vote of 5 Pin
Sacha Barber16-Oct-11 6:09
mvpSacha Barber16-Oct-11 6:09 
GeneralMy vote of 4 Pin
anishkannan26-Sep-11 22:19
memberanishkannan26-Sep-11 22:19 
Questionhi sacha. Pin
N3rdy22-Sep-11 19:50
memberN3rdy22-Sep-11 19:50 
AnswerRe: hi sacha. Pin
Sacha Barber22-Sep-11 21:54
mvpSacha Barber22-Sep-11 21:54 
GeneralRe: hi sacha. Pin
N3rdy28-Sep-11 18:09
memberN3rdy28-Sep-11 18:09 
GeneralRe: hi sacha. Pin
Sacha Barber28-Sep-11 21:39
mvpSacha Barber28-Sep-11 21:39 
QuestionFX? Pin
Vivic8-Sep-11 6:40
memberVivic8-Sep-11 6:40 
I remember digging through Kapiti's Forex Trading software years ago... in Dec 1982, to be precise. At that time their only competition was Midas.

So, where can I find out more about this product you are working on?

More interestingly, how does your software attempt to prevent the fraud that Nick Leeson pulled on Barings Bank?

The reason I ask is, I was digging through Kapiti software and the data files to determine how to re-state the books after the on-going fraud of 6 months (at some other bank, not Barings Bank, though the location was Singapore too!) was detected, without having to key in the right daily trades for all those 180+ days. Night-time processing took 5 hours a day so that would have been 900+ hours of processing time in addition to keying-in time! And I had to do it in the space of 18 days before the year closed out!

So, what did the London financiers tell you about detecting FX fraud? Laugh | :laugh:

PS. I had the answer in 2 days but it took me 10 days to find convincing -- rather, acceptable to finance-type guys -- proof that my answer was correct!
AnswerRe: FX? Pin
Sacha Barber8-Sep-11 7:01
mvpSacha Barber8-Sep-11 7:01 
GeneralRe: FX? Pin
Vivic15-Sep-11 6:02
memberVivic15-Sep-11 6:02 
GeneralRe: FX? Pin
Sacha Barber15-Sep-11 6:07
mvpSacha Barber15-Sep-11 6:07 
Question...and some have greatness thrust upon them. Pin
Warrick Procter1-Sep-11 23:50
memberWarrick Procter1-Sep-11 23:50 
AnswerRe: ...and some have greatness thrust upon them. Pin
Sacha Barber5-Sep-11 21:12
mvpSacha Barber5-Sep-11 21:12 
QuestionStop it now! Pin
Nagy Vilmos31-Aug-11 22:09
memberNagy Vilmos31-Aug-11 22:09 
AnswerRe: Stop it now! Pin
Sacha Barber5-Sep-11 21:11
mvpSacha Barber5-Sep-11 21:11 
GeneralMy vote of 5 Pin
KiamilDotCom30-Aug-11 4:58
memberKiamilDotCom30-Aug-11 4:58 
GeneralRe: My vote of 5 Pin
Sacha Barber5-Sep-11 21:11
mvpSacha Barber5-Sep-11 21:11 
GeneralMy vote of 5 Pin
Win32nipuh29-Aug-11 21:07
memberWin32nipuh29-Aug-11 21:07 
GeneralRe: My vote of 5 Pin
Sacha Barber5-Sep-11 21:11
mvpSacha Barber5-Sep-11 21:11 
QuestionVery nice, man Pin
Marcelo Ricardo de Oliveira29-Aug-11 15:53
mvpMarcelo Ricardo de Oliveira29-Aug-11 15:53 
AnswerRe: Very nice, man Pin
Sean Ewington1-Sep-11 10:56
staffSean Ewington1-Sep-11 10:56 
AnswerRe: Very nice, man Pin
Sacha Barber5-Sep-11 21:10
mvpSacha Barber5-Sep-11 21:10 
QuestionInteresting and Insightful read on the great Sacha Pin
ayotunde29-Aug-11 5:38
memberayotunde29-Aug-11 5:38 
AnswerRe: Interesting and Insightful read on the great Sacha Pin
Sacha Barber5-Sep-11 21:11
mvpSacha Barber5-Sep-11 21:11 
GeneralMy vote of 5 Pin
Saraf Talukder27-Aug-11 1:10
groupSaraf Talukder27-Aug-11 1:10 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150728.1 | Last Updated 26 Aug 2011
Article Copyright 2011 by CodeProject, Sacha Barber
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid