Monday July 21, 2008
Three weeks at my new job
Three weeks have passed.
Here are the highlights:
Days 1 - 3
- introduced to dozens of people, saw a bunch of presentations about projects and methodologies;
- after meeting all of these guys, I had a feeling that I could give an introductory Perl course, so I suggested that to the powers that be;
- got introduced to my first project, a remake of an already deployed system;
- the room for my one-day Perl class was confirmed (a very nice room with capacity for 40 attendees) and the course was announced;
Days 5 and 6
- gave the first steps in my project, prepared the slides and exercises for the course (I already had some material ready);
Day 7 (a Wednesday)
- IMHO, the course went very well;
Days 8 - 12
- more coding, and a suggestion of a Regular Expressions training with me lecturing; I say yes;
Day 13 (another Wednesday)
- almost 40 people show up, counting a lot of people from the first session and a bunch of newcomers;
- the course goes well, and I'm happy that Adam's "Perl on a Stick" allows for a couple of Windows users to install and have perl running in just a couple of minutes;
- there was another course (on Security, I believe) in the same day (which appeared to be non-optional for those who were attending); I've been asked to repeat this class for those guys;
Days 14 - now
- more coding; the project currently has a total of 1690 lines (which includes documentation and around 25% of empty lines; I know, that's less than 200 LOC a day, but hey, I spent some time designing the thing in the beginning; maybe I could hack something into the repository to create a graph that would show the evolution of this number through time... hum... now I'm curious...);
- there's documentation in all the modules, a test suite, and a more general/overview documentation in the project Wiki, which resides within the Trac system I'm using (44% of the first milestone tickets are completed).
And now for some non-chronological highlights:
- I'm enjoying this a lot;
- While there are very proficient Perl people around, there's also a few people who are not so skilled in the language (but all of whom seem to be very bright) that now feel comfortable asking me for help (not sure if they felt comfortable or not asking others for help, but I seem to be a regular Perl go-to guy right now, and if it helps people, I'm very happy with it). So far I've been called to explain an if-clause in a one-liner was badly written, that a 'use XML::Simple' inside an eval should have actually been a 'require XML::Simple', to help sharing runtime-generated code references between threads (which was solved with a dispatch table and a tie), and to track down the whys of a process resulting in a never ending stream of SIGSEGVs after an arbitrary running time (and I haven't solved this one yet);
- There's free fruit in the office;
- I'd like to say that the rule of thumb here is that of "two monitors per person", but I may be wrong... the rule may actually be "three monitors per person" (counting laptops, yes);
- I've been asked by more than one person to give a course on Object Oriented Perl, and when I mentioned a list of things we could have courses on, it was clear that a Test Driven Development class would have enough attendance to justify it.
And that's it for now (of what I can tell publicly).
So far so good.