Click here to Skip to main content
Click here to Skip to main content

A Coder Interview With Sacha Barber

By , , 26 Aug 2011
Rate this:
Please Sign up or sign in to vote.
code-project-sacha-barber.jpg

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.

License

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

About the Authors

CodeProject
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.
 
Award(s)

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

  • 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

Comments and Discussions

 
QuestionNice Points PinmemberDinesh.V.Kumar20-Feb-14 22:11 
QuestionMy vote 5 Pinmemberssnaik8431-Jul-13 0:07 
GeneralMy vote of 5 PinmemberBhavik Barot5-Jan-13 0:41 
Questionface Pinmemberadriancs4-Nov-12 5:19 
AnswerRe: face PinmvpSacha Barber5-Nov-12 8:42 
GeneralMy vote of 5 Pinmember d@nish 8-Aug-12 23:25 
GeneralMy vote of 5 PinmemberMonjurul Habib24-Dec-11 5:46 
Questionwhat was your age when you done masters in programing? PinmemberN3rdy12-Dec-11 17:39 
AnswerRe: what was your age when you done masters in programing? PinmvpSacha Barber12-Dec-11 20:36 
GeneralMy vote of 5 PinmemberKanasz Robert16-Nov-11 1:15 
GeneralMy vote of 5 PinmemberRanjan.D16-Oct-11 6:16 
QuestionIOC Container PinmemberRanjan.D16-Oct-11 6:07 
AnswerRe: IOC Container PinmvpSacha Barber16-Oct-11 6:10 
GeneralRe: IOC Container PinmemberRanjan.D16-Oct-11 6:14 
Yeah Sacha they all doing the same.. I was playing with Unity and Structure Map a lot. After reading this article , Now I started looking into Autoface which is something new to me.
 
Thanks,
Ranjan.D

GeneralRe: IOC Container PinadminChris Maunder16-Oct-11 6:35 
GeneralRe: IOC Container PinmvpSacha Barber16-Oct-11 6:47 
GeneralRe: IOC Container PinadminChris Maunder16-Oct-11 6:51 
GeneralRe: IOC Container PinmvpSacha Barber16-Oct-11 6:47 
GeneralMy vote of 5 PinmvpBrij10-Oct-11 21:02 
GeneralRe: My vote of 5 PinmvpSacha Barber16-Oct-11 6:09 
GeneralMy vote of 4 Pinmemberanishkannan26-Sep-11 22:19 
Questionhi sacha. PinmemberN3rdy22-Sep-11 19:50 
AnswerRe: hi sacha. PinmvpSacha Barber22-Sep-11 21:54 
GeneralRe: hi sacha. PinmemberN3rdy28-Sep-11 18:09 
GeneralRe: hi sacha. PinmvpSacha Barber28-Sep-11 21:39 

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 | Mobile
Web04 | 2.8.140415.2 | Last Updated 26 Aug 2011
Article Copyright 2011 by CodeProject, Sacha Barber
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid