Profile – Dave Cross
Dave Cross is the Techie’s Techie. He co-wrote Perl Template Toolkit for O’Reilly and Data Munging with Perl for Manning. His Perl Teach-In at the BBC sold out its 50 places in a day, with another 40 people joining the waiting list in just a few days more – there’s untapped demand out there!
Dave kindly submitted to an interview with GMT. (Photo of Dave Cross courtesy of Paul Mison):
How did you start out on the road to being a techie? What language did you first learn to program in?
I came to computing relatively late. I didn’t study any computing at school. Back then it wasn’t an option. Even when I started studying Applied Physics at University there was no computing in the first year. I dropped out at the end of that year, but I believe that if I had stayed on I would have learned FORTRAN.
Having dropped out, I spent the best part of a year not doing very much. That was about the time that the first home computers were coming out. Friends and family started to own Spectrums, Commodore 64s and VIC-20s. I started writing programs in BASIC on some of these and discovered that I had the right kind of brain for it. Eventually I decided to go back to college and got a place on a Computer Studies at South Bank Polytechnic.
The course was aimed at people who were going to work in large companies’ Data Processing departments (remember those?) We were taught COBOL, CODASYL databases and useful things like that. Cutting edge courses were about Prolog and Expert Systems. There was more useful stuff though. One course contained a brief introduction to SQL and in the final year we were taught C.
You’ve toughed out some comparatively lean years since the dotcom boom: how hard was it to find work? Did you have to slum it and do less appealing work?
I didn’t really see much of the dotcom boom. I spent the second half of the 90s working for various banks in the City of London. But at the end of the 90s there was a bit of a recession in the City so I worked at couple of dotcoms just before the crash.
There were a couple of bad years though. I spent about five months out of work in 2002. In the end I took a permanent job as Technical Architect at a small web company. That didn’t last long though as I was made redundant four and a half months later. I don’t think I ever really had to do less appealing work. But I certainly had to cut my rates.
Are things better now? What projects are you working on? Is there a division between your projects that are public and your projects that are personal? What project are you most proud of?
The City certainly seems to be waking up again. I’ve just spent a year working with a large bank. Currently I’m working with the BBC on an internal project.
I don’t really have many ongoing personal projects at the moment. Last year I decided that I was juggling too many things and gave some of them up. For example, I stood down as the Perl Foundation’s Perl Monger Group Co-ordinator. Of course, that just freed up more time to spend on other projects. Currently I’m writing the slides for a day’s worth of free training that I’m presenting at the BBC on June 2nd. It’s a public course, but unfortunately the places were all snapped up within a couple of days of the course being announced.
My plan for this year is to do some more writing. It might not lead to another book, but I have a couple of ideas for series of articles.
I suppose my biggest contributions to Perl (and the wider Open Source world) have always been more community-based than technical and undoubtedly the project that I’m proudest of is starting the London Perl
How did you discover Perl? When was that? What other languages and apps do you use?
When I came out of college, my first job was writing C programs on Windows. It was only four years later that I discovered Unix. I got a job at Disney who spent two years training me up on Unix and Sybase. Unfortunately for them, that was exactly the skill-set that the City was crying out for at the time – which is how I started contracting there. At my second contract I was introduced to Tcl which was the first dynamic programming language that I had used. A bit later I discovered Perl. I think I had a particular task to do and a colleague suggested that Perl would be a good choice of language. I tried it, liked it, and have been using it for most of my work for over ten years now.
Like almost everyone in my area of IT, I’ve looked at Ruby (and Rails) and I’ll almost certainly be doing more with them over the coming months.
Why should someone use Perl over any other language? What are your hopes for Perl for the future?
I might get drummed out of the Perl community for saying this, but I don’t take it personally if people don’t use Perl. For the kinds of projects that I tend to work on, you have a choice between using a dynamic language (Perl, Python, Ruby, PHP) or a static language like Java, C++ or C#. I believe that most programmers will be more productive with a dynamic language, but I know that many project managers prefer the safety net of using a static language. And
once you’ve decided which of those two camps you are in, it really doesn’t matter which language you choose. You should probably base your choice on the skills of the programmers on the project.
I do see two advantages that Perl has over other dynamic languages. The first is the CPAN. No other language has a repository of free code that comes close to the size of the CPAN. The second is the Perl community. I think it’s great that we have such a cohesive international community who are so keen to help people make the most of the language.
As for the future. I hope that Perl doesn’t go away. Perl 6 looks like it’s going to be a great language and I hope that when it is released, it gets the publicity and interest that it deserves.
How is your choice of software informed by your politics? Is there any software you wouldn’t use for political reasons? Are there particular licenses or software models that you favour?
I tend to use open source software whenever possible. That’s largely for practical and economic reasons. I really believe that open source software is generally of better quality than proprietary software and it certainly works out cheaper for the users. But I can’t deny that using it also fits in with my left of centre politics.
I try not to use Microsoft software because I find that I’m far more productive with a Linux desktop, but I don’t get religious about it. When you’re freelancing you generally just use what your clients use. And in most cases that’s a Windows desktop with some kind of connection to a Unix server where I do most of my actual work.
I’m not religious about licensing either. All of my personal Perl projects are licensed under the same terms as Perl itself. That gives users a choice of either the GPL or Perl’s own Artistic Licence. And when I’m writing articles, I like to use the Creative Commons non-commercial share-alike licence.
Who is impressing you right now, computing wise? Is there anyone you’d particularly like to work with? What are the changes or developments you feel are going to have the most long term effect?
It’s a very exciting time in the web industry. I think that people are just starting to see what the web is capable of. Barely a week goes by without some new cool web-based application being released by Google or Yahoo! and there are hundreds of start-ups filling small niches. For me, the most exciting area is the number of web sites that are making their data available though web services – allowing other sites to incorporate their data. I don’t think we’ve even begun to scratch the surface of what this can achieve. In the middle of June I’m hoping to go to the Hack Day that is organised by Yahoo! and BBC Backstage. That will be a great opportunity to meet up with lots of talented hackers and to create cool and interesting applications.
But, if you don’t mind, I’ll pass on the offer to predict what’s going to have the biggest long-term effect. Predictions like that can only look very embarrassing in the surprisingly near future!
How does being a published author help your career? How do the books you wrote feed into the courses you run? Why should someone attend your courses? How do you see the future of technical manuals?
My books were published in 2001 and 2003. And for years, the industry was in such a recession that I saw no real benefit from writing them. But now that things have picked up a bit, I’m definitely seeing advantages from having them around. One of the nicest is that it’s a couple of years since a client has asked me to take a technical interview. They just assume that I know what I’m talking about.
The books obviously feed into training courses. But, of course, training courses are far more flexible than books. It’s much easier to keep a training course up to date. For example, in “Data Munging with Perl” I talked a lot about processing XML with Perl. But whilst all of the modules I talked about still work in the ways that I describe, I’d never use them in a training course these days as there are
far more flexible and powerful modules available. So, I suppose that’s one very good reason for coming to one of my courses – you get the most up to date view on some of the topics covered in my books.
And there you have the major problem with technical manuals. They always go out of date. Particularly in a fast-moving industry like this. I’m a big book-buyer, and I’ll often find myself buying multiple editions of a single book just so that I have the most up-to-date information available. Obviously that doesn’t scale well, so I’m going to have to look at more electronic versions of books in the future. But whilst I’m happy to look up an online manual to get the exact syntax of a function that I’m using, I can’t really see myself reading books from cover to cover on a PDA or a laptop. There will be a lot of changes in the publishing industry over the next few years and in many ways I’m glad I’m not a publisher.
Are there any questions I should have asked that you would have particularly liked to answer?
I’d like to talk a bit about the Perl recruitment market in London. Amongst programmers, Perl seems to be going out of fashion. I hear people saying that Perl is too old or too hard. But on the other hand, over the last few months I have had a constant stream of recruitment agents contacting me about Perl jobs. At a current estimate, there are something like a dozen companies in London looking for Perl programmers. It seems that there are more jobs than programmers. If you’re someone who has done a bit of Perl programming, but dropped it off your CV a few years ago because Java or C++ seemed more lucrative, then this might be a good
time to revisit that decision.
And that’s partly what is behind this Perl Teach-In day that we’re running at the BBC. It’s an attempt to increase the skill levels of intermediate Perl programmers so that they can apply for the more senior jobs that are being advertised. People say that Perl is dead, but the fact that places on the course were all booked in less than 48 hours would seem to disprove that. If this first session is successful, then hopefully we’ll be able to do more similar things in the future.