Click here to Skip to main content
15,867,453 members
Articles / All Topics

A Coder Interview With Sacha Barber

,
Rate me:
Please Sign up or sign in to vote.
4.95/5 (66 votes)
26 Aug 2011CPOL6 min read 112.8K   38   55
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.
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)


Written By
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 2016
  • Codeproject MVP 2016
  • 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

Written By
Software Developer CodeProject Solutions
Canada Canada
The CodeProject team have been writing software, building communities, and hosting CodeProject.com for over 20 years. We are passionate about helping developers share knowledge, learn new skills, and connect. We believe everyone can code, and every contribution, no matter how small, helps.

The CodeProject team is currently focussing on CodeProject.AI Server, a stand-alone, self-hosted server that provides AI inferencing services on any platform for any language. Learn AI by jumping in the deep end with us: codeproject.com/AI.
This is a Organisation

4 members

Comments and Discussions

 
QuestionMessage Closed Pin
16-Feb-22 11:49
knowledge haitham16-Feb-22 11:49 
QuestionWPF Training, Suggestion on Proposed Curricullum Pin
Nandagopal Raja Lakshminarayanan15-Oct-14 23:06
Nandagopal Raja Lakshminarayanan15-Oct-14 23:06 
AnswerRe: WPF Training, Suggestion on Proposed Curricullum Pin
Sacha Barber16-Oct-14 2:32
Sacha Barber16-Oct-14 2:32 
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Nandagopal Raja Lakshminarayanan16-Oct-14 4:04
Nandagopal Raja Lakshminarayanan16-Oct-14 4:04 
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Sacha Barber16-Oct-14 4:57
Sacha Barber16-Oct-14 4:57 
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Nandagopal Raja Lakshminarayanan22-Oct-14 0:47
Nandagopal Raja Lakshminarayanan22-Oct-14 0:47 
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Nandagopal Raja Lakshminarayanan22-Oct-14 1:01
Nandagopal Raja Lakshminarayanan22-Oct-14 1:01 
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Sacha Barber22-Oct-14 1:16
Sacha Barber22-Oct-14 1:16 
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Sacha Barber22-Oct-14 1:17
Sacha Barber22-Oct-14 1:17 
Can you send me your pesonal email, so I can forward it on
GeneralRe: WPF Training, Suggestion on Proposed Curricullum Pin
Nandagopal Raja Lakshminarayanan22-Oct-14 1:26
Nandagopal Raja Lakshminarayanan22-Oct-14 1:26 
QuestionNice Points Pin
Dinesh.V.Kumar20-Feb-14 22:11
Dinesh.V.Kumar20-Feb-14 22:11 
QuestionMy vote 5 Pin
ssnaik8431-Jul-13 0:07
ssnaik8431-Jul-13 0:07 
GeneralMy vote of 5 Pin
Bhavik Barot5-Jan-13 0:41
Bhavik Barot5-Jan-13 0:41 
Questionface Pin
adriancs4-Nov-12 5:19
mvaadriancs4-Nov-12 5:19 
AnswerRe: face Pin
Sacha Barber5-Nov-12 8:42
Sacha Barber5-Nov-12 8:42 
GeneralMy vote of 5 Pin
dan!sh 8-Aug-12 23:25
professional dan!sh 8-Aug-12 23:25 
GeneralMy vote of 5 Pin
Monjurul Habib24-Dec-11 5:46
professionalMonjurul Habib24-Dec-11 5:46 
Questionwhat was your age when you done masters in programing? Pin
Waqas Ahmad Abbasi12-Dec-11 17:39
Waqas Ahmad Abbasi12-Dec-11 17:39 
AnswerRe: what was your age when you done masters in programing? Pin
Sacha Barber12-Dec-11 20:36
Sacha Barber12-Dec-11 20:36 
GeneralMy vote of 5 Pin
Kanasz Robert16-Nov-11 1:15
professionalKanasz Robert16-Nov-11 1:15 
GeneralMy vote of 5 Pin
Ranjan.D16-Oct-11 6:16
professionalRanjan.D16-Oct-11 6:16 
QuestionIOC Container Pin
Ranjan.D16-Oct-11 6:07
professionalRanjan.D16-Oct-11 6:07 
AnswerRe: IOC Container Pin
Sacha Barber16-Oct-11 6:10
Sacha Barber16-Oct-11 6:10 
GeneralRe: IOC Container Pin
Ranjan.D16-Oct-11 6:14
professionalRanjan.D16-Oct-11 6:14 
GeneralRe: IOC Container Pin
Chris Maunder16-Oct-11 6:35
cofounderChris Maunder16-Oct-11 6:35 

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.