Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

A Coder Interview With Dave Auld

0.00/5 (No votes)
8 May 2013 1  
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 talk to Dave Auld, a CodeProject star that continues to shine brighter.

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 talk to Dave Auld, a CodeProject star that continues to shine brighter.

Who are you?

Hi all, my name is Dave Auld. I prefer Dave to David, as find the later sounds like I am away to get a telling off from my mum! A 40 year-old, married man with two energetic daughters who appear to consume far too much of my time when I am at home, but I suppose that is just one of the pitfalls of being a dad that you get used to!

I live in Aberdeen, Scotland which does of course come with some disadvantages, namely it can be cold and wet, and not forgetting foggy with the chilling easterly haar rolling in off the North Sea on occasion. However, when we do get the sunshine, the "Granite City", as it is known, is absolutely spectacular when the sun glistens in the quartz of the granite. Then of course there are the advantages. Aberdeen is the "Oil Capital of Europe," which results in a strange bubble ecosystem which is hard to find anywhere else.

What do you do?

The oil industry is of course where I have found my career to date (started in August 1989). At present I am an OIM (Offshore Installation Manager), as Wikipedia puts it: The OIM is the most senior manager of an offshore platform operating on the UK Continental Shelf. In this role I am ultimately responsible for the Health, Safety and Welfare or all personnel on the installation. I am also responsible for ensuring delivery of the business goals for the platform, the most important one being to keep the oil coming out of the ground and pumped to shore via the Forties Pipeline System. The platform I work on, Forties Charlie has on average around 150 people on board daily, and believe me, some of them behave worse than my children! The offshore environment does come with one of the best things in any job, the time off. Working two weeks away is returned with three weeks leave. This time off does allow you to spend quality time with friends and family, as well as allowing to find projects/hobbies/interests to keep you occupied.

I wasn't always in a management role and my underlying trade is in Instruments and Control Systems. This trade is really where my IT interest was allowed to be nurtured into something more than just tickling the surface.

I haven’t been involved with any commercial products that have been sold or made available to the public, but did put to use what I had self taught to write some in-house tools. These tools varied from a simple DDE tester (Dynamic Data Exchange, used when testing our DDE links between the Wonderware Intouch systems and the TCS6000 controllers), a well test application written to take the pain out of creating regular well test reports and to standardize the way all the operators approached the task. There was also a bunch of Excel VBA based productivity tools, some of which are still in use and also an Alarm/Event tool which is heavily used for access historical alarm/event database stored logs when diagnosing plant upsets for root cause identification.

I have also spent a lot of time building OSISoft Processbook displays for viewing historical and realtime data from our plant data repository which pulls all its data from the various plant control system across into the OSISoft PI server. Processbook is another tool where the displays and code are all built around VBA.

My employer did sponsor me through my BSC (Honours) Computing Degree (completed in 2012), and for that final project I developed a centralized web based KPI Management tool that replicated an existing spreadsheet based approach and this of course has given me lots of enthusiasm for now trying to replace a lot of our existing ancient and unwieldy business processes, and get the likes of the project into day to day use. I also used the project as a driver to learn C# and ASP.NET MVC and get away from VB and Webforms which come across so clunky in comparison

What is your development environment?

At home, my main development machine is a self built machine. Core i7 IvyBridge 3.5GHz, 32GB ram, GTX690 GPU, 256 GB SSD + 2TB HDD and a 30" Dell 2560x1600 display. Yes, this does nip along quite nicely!

On the move I have an ageing Acer 6935 4GB, that is due to be retired soon (waiting for the latest 15" Zenbook to appear!) and also have the Intel Ultrabook which I received as part of the competition last year.

At home, there is also a whole host of other laptops and PC’s lying around and in the loft that get used for various bits and bobs.

The majority of my development is done in Visual Studio 2012 Pro (using C#), and the only real library I use is when developing on top of MVC is of course jQuery (and jQueryUI). When working with the web I find that the Chrome browser developer tools are a godsend (compared to IE's equivalent!). Maybe that is why I came to write an article about them.

Need to spend more time dabbling with the RaspberryPi and Arduino

The Ultrabook competition last year was a lot of fun (and hard work). Really enjoyed developing my UltraDynamo entry and playing on the Sensor Platform was an experience. And I certainly want to take this further. That application has got so much more potential, just need to find the time.

I also wasn’t to explore the likes of the Kinect framework, don’t know why, or what I would do with it, but it sparked off something. I do have one at home on the Xbox so there is no excuse, just the time factor again I suppose.

What new tools, languages or frameworks interest you?

Now that I am clear of my studies, I am just starting to find some more time to explore and experiment. I am wanting to get to grips more with Python (and Django), particularly on the RaspberryPI. On the website side of things I do want to take things like the TwitterBootstrap for a spin as well as maybe get my hands dirty with MongoDB.

I have a few "ideas" spinning around my head that I would like to try to take to some sort of prototype stage, and maybe one day even turn a couple of these into a commercial venture.

What is your coding pet peeve? 

My biggest bug bear is consistency. I don’t really mind how anyone codes, just as long as if they used one approach in Class A, they stick to it through the rest of the project.

Another is lack of comments. I am just as guilty. I don’t know how many times I have gone back to look at something in a previous project from ages ago, only to not understand what I was doing or why I did it in a particular way.

Very much an UpperCammelCase for Classes and public Methods, lowerCammelCase for parameters and variables. Styling choice is generally a slight variant of Horstmann, with blocks starting on new lines, but no statements on the same line as the opening ‘{‘ 

How did you get started programming?

My parents bought my first computer when I was just a nipper. A good old Commodore 64. I still remember the days of copying all that lines of code from some computer magazine only to be presented with some "Syntax Error" in the all too familiar two shades of blue. After this I had an Amiga 500 and a Commodore CDTV.

It wasn’t until I joined BP’s apprenticeship scheme in 1989 that I really had proper exposure to a computing environment. We dabbled initially with writing simple programs in BBC Basic, then progressed into writing some basic assembler directly by punching hex codes into some simple CPU development environment (can’t remember what it was now).

Once I made it to offshore (November 1992) as a 4th year apprentice, the PC interest started to kick-in. The instrument department was fortunate to have the only real PC (okay it was a 386 laptop running Windows 3.1) and we all used to take turns at lunchtime to play Solitaire and Minesweeper! There was of course a more important use for this laptop and that was for maintaining and programming the control system controllers which were Eurotherm TCS6000 series P&ID controllers. You could program these by linking up predefined blocks, setting parameters etc in a GUI and then download them to the controllers. We also started to then get PLCs appearing as the systems further evolved from pneumatic control, with the arrival of GeFanuc Series 5 and Series 6 for our Fire and Gas systems, and this ultimately led to getting stuck into ladder logic etc.

As more and more systems further evolved and were subsequently replaced, this led me to getting heavily involved with one of our main control centralization projects. This project was built on top of Emerson DeltaV which had a Graphical Front End that used Visual Basic for Applications, and a process logic system that had a drag and drop IDE type environment with some variant of ST (Structured Text) language.

It was also during my time offshore (long quiet nightshifts) where I started to teach myself Visual Basic (from V3). For whatever reasons, that was me hooked.

What do you love / hate most about the developer community?

LOVE: The willingness of others to help, if you ask the right way! The availability of knowledge already and openly dumped into the public domain.

HATE: The individuals who want everything for nothing, i.e. do not want to make ANY effort on their own, and cannot even construct a question effectively.

Where do you see yourself in 10 years?

This depends of what happens next!

  • Option A: Continue to work up the oil management ladder (would have to come onshore).
  • Option B: Lead a team to develop and harmonize/centralize all our internal business processes removing the fragmentation and completely remove independent closed applications that won’t integrate or share data with other applications.
  • Option C: Have my own successful company either as a IT Service company or a consumer product.
  • Option D: Win lottery and retire, spending my days just dabbling ...

If you had one piece of advice for an up-and-coming programmer?

Get stuck in and experiment, don’t be afraid to make mistakes, and don’t be afraid to ask nicely for help!

Write some articles, it really does help to develop your communication skills, as well as give something back to the community. 

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here