Categories
Training

Introducing People to Perl

For most of last week I was out of London running three days of Perl training for… well, I probably shouldn’t name them, so let’s just call them a well-known British educational establishment. The photo above is a big clue.

The people I was training were IT support staff; the people who keep many of the organisation’s IT systems running. They were a mixture of sysadmins, DBAs and developers.  What they had in common was that at least part of their working life is spent looking after systems that are written in Perl and they had never before taken any formal training in the language.

In my experience, this is a pretty common situation. Because Perl is “just a scripting language”, I often come across people who are responsible for Perl programs but who have never been taught how the language works. Managers often seem to believe that people will absorb Perl knowledge just by being exposed to the code. And, of course, that’s partly true. On the face of it, Perl isn’t particularly hard to understand. If you have a grounding in other programming languages in the C/Algol family or you know a bit about Unix tools like awk, sed or Bash scripts you can certainly be productive in Perl.

But not as productive as you could be if you actually took the time to learn about the language.

In many ways, this is one of my favourite kinds of training. The course ran for three days and was adapted from my Introduction to Perl and Intermediate Perl courses. It’s a lot of fun taking the attendees right back to basic Perl and slowly building up their knowledge. The three days is an almost constant stream of “light-bulb moments” as students connect the concepts that I’m talking to code that they’ve seen in the systems they maintain. While it’s true that you can maintain a Perl program just using knowledge that you’ve worked out from reading the code, you become a lot more effective when you understand more of the underlying concepts.

On the other hand, it can be a slightly frustrating kind of course to run. In many cases, they code that these people are maintaining was originally written by people who had never really understood Perl and it has been maintained for years by people with even less knowledge of the language. So the code is a long way from the modern Perl that we’d all like to spend our days working on. This is often going to be monolithic code bases with no sign of a “use strict” or “use warnings”. Maintenance of this code is often seen as a low priority task that is only undertaken when changes are vital and it’s unlikely that anyone could ever take the time that would be required to raise the standards of this code.

But, nevertheless, I feel that over the last few days I have increased the average level of Perl knowledge in the world. There are eight more people who know how Perl references work (and why you might use them). That has to be a net win. And the fact that the organisation was happy to pay me to run the course must be seen as a positive. It means that they value the effectiveness of their developers.

I often hear people worried about the lack of people starting to use Perl. I’ve lost count of the number of developer managers or CTOs who have cited the lack of available Perl talent as the reason they are moving their development to other technologies. But there is another option. Employ people with good general Programming skills and run training courses that give them the more specific Perl skills that they mean.

I know a good trainer who would be happy to help!

Categories
Training

Training in Glasgow

It’s June, which means it’s only a couple of months until the Europe Perl community descends en masse on Glasgow for this year’s Perl Conference (formerly known as YAPC). For me, that also means I need to start planning the training courses I’ll be running before the conference. And for you, it means you need to start deciding which training courses you want to come to before the conference

This year, it looks like there will be one day of training courses on the day before the main conference starts (that’s Tuesday 14th August). There are a number of courses being offered – details are in a recent conference newsletter.

I’ll be giving two half-day courses and, unusually, there will be little or no Perl content in either of them. Here are the details:

Web Site Tune-Up: Improve Your Googlejuice

Many of us have web sites and for most web sites, success is measured by the number of visitors you get. And, in most of the western world, getting your web site to rank higher in Google’s search results is one powerful tool for bringing in more visitors.

In this half-day course, I’ll be introducing a number of simple tips that will make your site more attractive to Google which will, hopefully, improve your search ranking. If you make it easier for Google to understand the contents and structure of your site, then Google is more likely to want to send visitors to your site. (Other search engines are, of course, available but if you keep Google happy, you’ll be keeping them happy too.)

I ran a short version of this course at the London Perl Workshop last year. This version will be twice as long (and twice as detailed).

The Professional Programmer

Some people seem surprised that being really good at programming isn’t the only skill you need in order to have a successful career in software development.

I’ve been working in this industry for thirty years and I like to think I’ve been pretty successful. In this half-day course, I’ll look at some of the other skills that you need in order to do well in this industry. We’ll look at a range of skills from more technical areas like source code control and devops, to softer areas like software development methodologies and just working well with others.

I ran a two-hour version of this course at a London Perl Workshop in the dim and distant past. This version will be updated and expanded.

 

Both courses will be taking place on the same day. I’m not sure where they will be held, but I’ll let you know as soon as I have that information. Each half-day session costs £75 and you can book places on the conference web site. Places on the courses will be limited, so I recommend booking as soon as possible.

Do these courses sound interesting? Please let me know your thoughts in the comments.

Categories
Training

Amsterdam Training Questionnaire

Update: I’ve closed this survey earlier than I expected to. For various personal reasons, I’ve decided that I just don’t have the time to attend the conference in Amsterdam.


It was back in the middle of March that I first raised the question of running some training in conjunction with the Perl Conference in Amsterdam this August. I didn’t mean to leave it so long before following-up, but I’ve a lot of real life to deal with over the last couple of months and I’m afraid a lot of my digital life got shoved to one side.

But I’m back now and we should really get something organised for Amsterdam.

So here’s a Google Form for you to fill out, to tell me what training course you’d like to see me run in Amsterdam. I’ll leave it running for a couple of weeks before making a decision.

Categories
Training

What Training Should I Run In Amsterdam?

The Perl Conference (formerly known as YAPC) in Amsterdam is getting closer. Oh, sure, it’s not imminent, but in five months time it will all be over. And there’s a lot to get done in those five months. I’m glad I’m not one of the organisers.

But there is something that I need to get organised over the next couple of months. It looks likely that there will be training courses running before or after the main conference and, assuming that happens, I’d like to be running one of those courses.

Last year, the “Modern Web Development with Perl” course that I ran in Cluj-Napoca seemed to be very successful (it certainly had the most attendees of any course I’ve run alongside a YAPC) and I think that was down to two factors:

  1. We planned and announced the course nice and early.
  2. I asked you what course I should run.

I’m not doing to mess with a successful formula, so I’m going to take the same approach this year. Consider this my “what course should I run?” post.

This is how it will work. In this post I’ll make a few suggestions of courses. We can discuss them in the comments and you can add your own suggestions. In a few weeks time, I’ll pull out the most popular suggestions and put it to a public vote. I’ll run the course that gets the most votes.

So what courses could I run?

There are courses that I’ve run many times and that would only need light updating. I have a course on DBIx::Class (I ran that in Granada in 2015), one on Moose and one on testing. I’d be happy to do any of those.

At the LPW last year, I ran a “Modern Perl Update” session which seemed to go down pretty well. I went through the last few Perl releases and explained the new and changed features. It was only a couple of hours long, but I could expand it. Perhaps I could add some stuff about CPAN modules that people don’t seem to know about.

I could re-run the Dancer course from last year. In a day, the class went from nothing to writing a functional and useful Dancer application. Perhaps there’s a big enough audience to do that again.

Or, perhaps, some kind of extension to last year’s course. I don’t mean that you would need to have done the previous course in order to find it useful, but maybe something about integrating Perl web tools with a modern web development toolkit. Using Angular or React as the front end to a Perl backend. Or how about writing APIs in Perl?

I’ll should point out that there are some things that I’m not the right person to teach. Perl 6 is top of that list. Not only have I not had the time to really explore Perl 6 yet, but given that Damian Conway is going to be at the conference and I fully expect him to clean up on the Perl 6 training front.

So there are half a dozen suggestions. What do you think? Are you coming to Amsterdam? Would you (or your company) pay extra for a training course? What course would you like to see?

Let me know your thoughts.

Categories
Marketing

The Fragility of Contracting

I’ve been rather quiet for a few months. That’s because I’ve been working for a large investment bank in Canary Wharf. It’s no so much that the work takes up more of my time than other contracts I’ve had, but more that the incredibly restrictive firewalls banks have around their networks have meant that I have far less ability to keep in touch with things during the working day. I understand security is so important to them but, wow, it’s hard having to live with it.

Working in the finance sector is lucrative, but not much fun (which, I suppose, might explain why they make it so lucrative).

But all that is about to change. On Wednesday, the project leader told me that the bank were letting all of the contractors in the group go. It had come as a complete surprise to him too – he had just received an email telling him to let us know. That’s the way things work in the banking sector.

I’m not sure if it was a slow reaction to Brexit or an extremely quick reaction to Trump or something else completely. But we’ll all be leaving at the end of this month.

Which means that I’m looking for a new contract. So if you’re reading this and you know of a team who are looking for a contractor then please let me know and we might be able to work something out.

Because of way this was timed, I think I’ll probably be looking for something to start at the beginning of next year. I’m going to South Africa for a couple of weeks at the end of the year and it seems pretty pointless to do a couple of weeks at a new job before going away for a while and forgetting everything I’ve learned.

But it would be nice if I didn’t spend all of the first two weeks of December watching Netflix. So there are a few possibilities I’m considering:

  • Could I find magazines or web sites that would pay me to write articles for them?
  • Could I go into a company for a few days of consultancy (perhaps an architectural review or something like that)?
  • Could I do a code review for some of your companies codebase?

Or, the most likely option:

  • Do you have colleagues who could benefit from a few days Perl training? Have you been vaguely thinking “you, know it might be nice to get Dave in to run some in-house training”? If that’s the case, then the first couple of weeks of December would be a great time to get more serious about this.

In fact, if there’s any way that you think I could be of use to your company for a few days in December or on a longer-term basis from January, then please get in touch.