# Wednesday, 09 January 2008

One year ago we tried to formalize the hosting of technical brown bag sessions at Vertica. After a couple of run-ups this time should be the real deal. We would take turns delivering a short session for our colleagues. A list of potential topics was created and someone was selected as responsible for the scheduling.

And now as the calendar says 2008 we can mark the one year anniversary of the “Vertica Beer & Learn Sessions”. Yep, you guessed it: We switched the lunch with a beer :o)

Marking this significant day I have decided to write a little more about our way of doing things as well as our considerations.

The topics for the sessions can be anything that has relevance to our daily work. A new technology that has been used, a project that has been completed, the use of new features in a product etc. We have even had the sales director talk about sales, in relation to our work as developers and consultants.

Right from the start we set the following four guidelines for the sessions:

  1. We would aim for bi-weekly sessions on Friday afternoons (which hopefully sort of explains the Beer part and of the name). This would be often enough to create a flow and still not over-ambitious so we couldn’t keep up.
  2. The sessions should be no more than one hour. We try to aim for 45 minutes, but usually it takes a little longer as soon as the questions start coming.
  3. Hosting a session should not require more than two hours of preparation. More time indicates that the host needs to perform research, and that is not the purpose. Also if more than two hours are required it might be a sign that the session will take more than 45 to 60 minutes to host.
  4. Being a presenter is optional. Obviously it would be great if everyone would like to present, however we have to recognize that people are different, and I do not believe anything good will come from forcing anybody to present.

Obviously it is not possible to make an expert of out anybody in such a short time regardless of the topic, but that really hasn’t been the purpose. The overall purposes of hosting these sessions have been:

  • General knowledge of technologies and products related to our work. A broad knowledge will help both during development as well as when talking with customers. The more possibilities you know of, the better solutions you will be able to propose.
  • Increased communication skills. In our work communication skills is at least just as important as technical skills. That is one of the reasons why we hire developers and not programmers.
  • Better understanding of what our colleagues work with. Getting straight to the person who is most likely to have a solution to a frustrating problem saves time for everyone.
  • Hosting the sessions Friday afternoon with a beer or two obviously there is also a social aspect to the sessions.

Now, after one year, I am quite satisfied with the results. A total of 16 sessions have been held (we had a two month break during the summer vacation period) and we have talked about everything from Business Activity Monitoring to Commerce Server and from Microsoft integration technologies to new language features in C# 2.0 and 3.0. Overall I think we have succeeded in attaining our goals with the sessions and they will continue in the New Year. The first sessions have already been scheduled and I am looking forward to continuing what I believe is a success.

I have heard of several others companies hosting similar sessions. Some during breakfast, others during lunch, and still others like ours on Friday afternoons. Feel free to leave a comment about the sessions at your work. The best way to improve what is being done is to share and learn from each other.

Wednesday, 09 January 2008 21:31:06 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |   |  Trackback
# Saturday, 29 December 2007

So why would you want to read an almost 10 year old book about managing teams in the computer industry? And that is only the 2nd edition – the 1st edition was published 20 years ago. What relevance could a book that old have in our industry? The answer is crystal clear after you read in: it has a huge relevance.

In 34 chapters – or stories as the authors Tom DeMarco and Timothy Lister call them – divided into 6 parts, the reader is taken through the different aspects of creating productive projects and teams. Reading the book the word “stories” is even more saying, as a lot of the chapters are spiced up by the authors own war stories to emphasized the point even more. Nice real life stories that I believe most of us working in IT can relate to.

There is no beating around the bush, but everything is straight to the point explained in a language even a manager ought to be able to understand: increased to decreased productivity. In order to further emphasize the points they are often supported by research results.

I like to think of Vertica as the best place there is to work at. But even if this is the case, I also have to accept that there are still things we can do to make it an even better place to work and it’s something we are aware of and work with on an almost daily basis. Several times reading the book I found myself having to stop every time I had read just one story. I just couldn’t concentrate on reading on, because my mind kept wondering of thinking about how we could put the concepts explained in the previous story to work at Vertica.

Obviously in a book of this age there are things that may no longer be relevant. The intercom paging system might no longer be the biggest source of disturbance. Even so, there is still room for improvement in a lot of organizations. Why is it that when my phone is ringing it has to disturb everyone else in the room? And that if I happen not to be there to pick it up, it keeps doing so every 3 seconds for half a minute? I bet everyone knew from the first ring, that someone was calling.

Although the book is targeted heavily towards software engineering projects, you'll find that much of what DeMarco and Lister say apply to projects where creativity and analytical skills are required.

As is often the case with books like this everything seem so obvious when you read it. Nonetheless, not many people follow the guidelines, which is basically why a book this age is still highly relevant. During my career I have met countless managers that could benefit hugely from reading this book (that is of course if they would follow the advice in it). Not only managers at the companies I have worked at, but also managers at companies, that have been customers at the companies I have worked at. The potential in a lot of organizations that could be emancipated just by following some of the guidelines is just mind-blowing. Not to speak of the increased employee satisfaction, ability to attract new employees etc. In continuation of this I also considered the book as the company Christmas present to customers this year.

 Reading the book gave me a lot of ideas on how to make my workplace even better. We will not be able to implement every one of these right away, but as mentioned earlier it is continuously process. I don’t think you are done with this book after just reading it once. It is definitely a book that you can take out every one or two years and reread.

Saturday, 29 December 2007 16:57:26 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |   |  Trackback
# Sunday, 28 October 2007

After a long run-up, friend, colleague, and partner at Vertica, Troels Riisbrich, is now online with his new blog, riisbrich.dk. Troels is leading the BPI team at Vertica, and if it has to do with BizTalk Server, Troels knows it. He’s the architectural master mind of several of the bigger BizTalk solutions at Vertica, and always an inspiring teammate to discuss both overall designs as well as small technical subtleties with.

This coming week Troels is attending the Microsoft SOA & Business Process Conference on the Microsoft campus in Redmond, and hopefully we will be able to follow his adventures on the blog. Other than that he will be blogging about BizTalk as well as everything else that gets him excited.

Sunday, 28 October 2007 16:24:52 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |   |  Trackback
# Wednesday, 24 October 2007

At Vertica it has been a tradition to, approximately once a year, go on a company outing. This trip is used as team building, but also to discuss issues related to our work. We talk about the past year as well as the directions for the coming year. Though the CEO do go through the past years financial results, results is not limited to finances.

We also take the opportunity to catch up on all the things that has happened the past year. A company is (or at least should be) going through a constant evolution. During your everyday work there might be a tendency to forget some of all the achievements being attained. Though everyone does their best to remember to appreciate ones colleagues, when they have outdone themselves once again, an extra opportunity to look at each other and say “Damn, we are good!” is always welcome.

This year we also had presentations from sales as well as a Project Manager. As a consultant it is always interesting to hear what is going on in the sales department. Sales people and consultants can have a strained relationship, but a lot of it also has to do with being prejudged. As is always the case with prejudices, conversation and information are the best way to overcome them. Changes are that you might even learn something from it.

As I believe is the case for pretty much all other (IT) companies, we are also continuously working on improving our process model at Vertica. Therefore we also had a Project Manager do a presentation on the latest development with this work.

Obviously we also had time for some more social related activities such as an Edinburgh city tour, a ghost walk, and a 4x4 Jeep safari in the highlands. We even went to a typical Scottish night out with dancers, back pipe players, and of course the mandatory haggis. Interestingly enough, apparently it is only tourists that do the typical Scottish night out. At least all the Scottish people were somewhere else. Nonetheless we had a good time :o)

The whole trip was thoroughly documented by camera, and if interested you can see some of the photos in the Scotland 2007 photo gallery.

Wednesday, 24 October 2007 16:15:39 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback
# Thursday, 18 October 2007

A few of weeks ago I got back from my summer vacation. For the first time ever I have been in South America - and it was certainly not the last time. With backpacks my girlfriend and I travelled around Ecuador for three weeks.

The diversity of the country is simply amazing, and that goes for pretty much everything: people, culture, climate, and nature. Truely a fantastic place. And we didn’t even do the Galapagos Islands. Not because we didn’t want to, but because it would have added another week to the trip as well as set us back another couple of grand per person. At some point you have to stop – and it’s also a great reason to come back :o)

The main stops during the trip were Quito, Napo Wildlife Center in the Amazon jungle, Rio Bamba, Baños, Cuenca, and Montañita. From Rio Bamba we did the famous Devils Nose train ride. Unfortunately due to an accident a few months earlier, there was no riding on the roof as is normally the standard practice. None the less it was a spectacular ride down the Andes.

Traveling with two digital cameras and a girlfriend very fond of photography, we ended up with 500+ photos. Digital cameras sure is a great thing, but it certainly also generates some hours in front of the computer sorting everything when you get back. It’s a nice way to relive the holiday though.

So far all I have managed is to have a small Ecuador photo gallery uploaded that you can check out if interested.

  

Thursday, 18 October 2007 22:04:14 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback
# Wednesday, 10 October 2007

Highly recommended by two of my favorite bloggers, Joel Spolsky and Erik Sink it was with a great deal of expectation, I started out reading this book. The book is subtitled “Over 20 Years of High-Tech Marketing Disasters”, and what can be more entertaining than reading about other people’s mistakes?

Not much, I would soon discover! In an extremely funny and lively style, the author Merrill R. Chapman, takes the reader through twelve chapters, each introduced by a nice cartoon drawing and describing a not so successful part of our proud industry’s history.

At the same time as I was rolling my eyes because of the mistakes made by managers of some of the biggest software companies in the world, I also found myself laughing out loud because of the hilariously funny descriptions of the obvious stupidity. Chapman having worked or consulted for several of the companies mentioned, enabling him spice everything up with personal anecdotes of both situations and people, just adds to the entertainment.

Several of the stories are from about the time, when I was first entering the industry. I remember many of the companies mentioned and also using their products. Companies and products that either completely or almost completely have disappeared from the public eye today.

Today the story very often is that the evil company from Redmond has used its monopoly to crush everyone else. But reading this book makes it clear how a lot of the companies went through a huge effort in order to practically obliterate themselves, and more or less serving the monopoly to Microsoft.

Why is it that today Apple has to make its living from selling iPods and not computers? And where exactly did Borland, Netscape, Novell, and WordPerfect go? Once shining stars of the software industry? These are just some of the companies that qualified for the book about stupidity. And don’t worry – obviously Microsoft also made it.

Being a marketing specialist Chapman does not just point fingers and make fun. Two further chapters titled “On Avoiding Stupidity” and “Stupid Analysis” give insight on both the main causes of failure in the software industry, as well as how the disasters in the first twelve chapters could have been avoided. Two interesting chapters, offering both detailed and easy understandable analysis, which I am sure a lot of (former) CEOs would have liked to read.

Though the title of this book may indicate that it is for the people in marketing and sales, the target group is far broader than that. It is a good read for everyone interested in the computer industry – and especially the history. As always the history is a very good way to explain why things are as they are today.

If you are interested the book has its own website where you can read more reviews. You can also read Joel Spolsky’s foreword to the first edition in his blog.

About seven years ago when everybody was having a great time riding the dot com wave, I was working as a developer at a company that truly lived up to the expectations of IT companies of that time. In the development team we had a saying that we used over and over again. It described those times, just as it describes the stories in this book:

“It’s funny ‘cause it's true!”.

Wednesday, 10 October 2007 19:07:14 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback
# Wednesday, 03 October 2007

As mentioned some time ago in my post Training – Expense or Investment I had been setting up some In-house Commerce Server training for the eCommerce Team with former Commerce Server Product Manager Max Akbar.

Max was at the office for three days, and though expectations were extremely high, he even managed to top them. Not being a Commerce Server developed, I only sat in on the BizTalk integration part, where we got a good discussion about the Commerce Server BizTalk Adapters. As these behave quite differently from practically all other adapters, there were a lot to talk about.

The whole team where equally excited about the training, and both Søren and Brian have already posted blog entries with their experiences of the three days.

In order not for everything to be only technical, we all went out for dinner one night, as you can see from the picture below. Not only the eCommerce Team and Max, but everyone at Vertica were invited – even the Sales Director and the CEO :o)

Following this success we will definitely try to arrange more in-house training. The whole team together with a highly qualified trainer for several days is extremely valuable, both from a technical as well as a social perspective.

Currently we have started looking for someone to provide BizTalk R2 training with specific focus on the new EDI features. I already know of QuickLearn providing Deep Dive BizTalk courses, and all, but the newest member of the BPI team, have already attended their course. However, I would like some training with even more focus on the EDI features, than QuickLearn has expressed, they were able to provide. So if you happen to know someone you are more than welcome to leave a comment or send me a mail.

Wednesday, 03 October 2007 20:50:08 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback

For some time I have been wondering what assemblies exactly are included when a MSI package is exported in BizTalk. When moving assemblies for one environment to another I had noticed, that I didn’t always get the latest version of the assembly included in the package.

For BizTalk to function properly the assemblies must be deployed to the Global Assembly Cache (GAC). This copy of the assembly is the one actually being used during execution, but apparently it wasn’t the one being included in the MSI package. However, In the BizTalk Administration Console for an application’s resources there are both a Source Location as well as a Destination Location pointing to a copy of the assemblies as well. Thus my first thought was that perhaps, it was one of these that were included in the MSI package.

To test this I tried to delete first one of them, and then the other. Either way I was still able to generate the MSI package, which meant that it were neither of these that were being used.

Increasingly puzzled I ended up turning to the good old newsgroups for some help. It took BizTalk MVP Tomas Restrepo less than 1½ hour to point me to an explanation, and apparently I was not the only one a bit puzzled by this. The explanation was another blog post by Richard Seroter titled Preventing Stale Artifacts in BizTalk Application Packages.

In here he explains what is actually going on when assemblies are deployed and how the MSI packages are generated. Interestingly and, at least to me, also quite surprising as first are, that the assemblies are added to a CAB file and stored in a table in the BizTalkMgmtDb database. For the full explanation I encourage you to read the post.

One obvious advantage of storing this information in the database is of course that you can be sure that in a multi-server environment regardless of which server you use to generate your MSI package will always be exactly the same. However, whether this is the only reason for the implementation I do not know.

Wednesday, 03 October 2007 19:23:22 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback
# Tuesday, 02 October 2007

About one and a half year ago Vertica moved to a new office. In the very beginning the office was a single room of about 12m² in an apartment shared with another company. Being five people with laptops, as well as a couple of workstations playing the role of servers, in a room of that size was a rather cozy and intimate experience (as well as hot and at times probably also smelly). Luckily we soon took over the entire apartment giving us a lot more breathing space.

As more people joined the team and the company grew, space got more and more cramped, and eventually it was time to move to a new location. The new location was two newly renovated floors in a building right in the center of Aarhus. The main part of the two floors was open office space allowing rather custom seating.

Already before moving into an office spread between two floors, we were very conscious that though people would be divided physically the company should not be divided mentally. One of the things to ensure this was that every now and then we would change the seating. It should never become our floor vs. their floor or something like that. Also, though developers are part of a team, all team members should not necessarily sit right next to each other.

There is a little bit of fixed seating though, as the Sales Director and CEO both have “real” offices with a door that close. They simply talk too much (on the phone most of the time), so we need a way to screen them from the rest of us.

Now you may already have guessed from the title of this post, that the title of this blog was not the most future-proof choice - once again it has been time to shake things up a bit. This time we have decided to have all developers on one floor (the second) and Project Managers, the Sales Director and the CEO on the other (the third). This way we hope to have an even greater synergy between developers. A nice side effect from this, at least from a developer perspective, is that since the Project Managers also often are rather busy on the phone, this is also no longer disturbing.

I do not intend, however, to change the name of the blog, nor do I intend to hand it over to some other Hansen working of living on a third floor, so for now Hansen on Third is written by Hansen on Second.

Tuesday, 02 October 2007 21:04:49 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback
# Wednesday, 15 August 2007

Approaching a new fiscal year at Vertica also makes it budget time. With help from my two colleagues, Søren and Troels, I have been in charge of the budget for training. This includes everything from conferences and in-house training to books and certifications. Though certainly not the most interesting part of my work it is nonetheless important.

I am not going to go into figures, but Vertica is spending, what I would consider a reasonable high amount of resources on training. However, we still very careful considering what event and conferences to attend, and in this post I would like to elaborate a little bit on how I see training, and what we do at Vertica.

Training should be looked at as an investment and not an expense. For most this might sound obvious, but my experience is, that this is certainly not the case everywhere. Almost every candidate we interview at Vertica asks about training (which is of course a fully legitimate and relevant question), some are telling that they are not even used to their company supplying books for them. I will come back to Tech Ed later but I heard something interesting last year: I cannot remember the exact numbers, but even though Tech Ed EMEA was held in Barcelona, and Spain is considerable larger that Denmark, there were more than twice as many Danes attending as Spaniards. I guess not everyone sees the investment vs. expenses relation the same way.

Not all Training is an Investment

There is a huge amount of possibilities when it comes to training, and careful planning and evaluation is important. Some of these possibilities are extremely valuable, whereas others certainly would be considered an expense more than an investment.

I remember when I was almost fresh out of school, working in my very first job at Rambøll Informatik. Obviously I was quite inexperienced and got very happy when I was signed up for my very first "real life" course. It was a Microsoft Official Curriculum (MOC) based course held by one of the top Microsoft training centers in Denmark. I don’t remember the name of the course, but it covered several of the technologies I was working with at the moment, including MS DTC. I admit that MS DTC might not be the easiest Microsoft technology to understand, however the trainer had obviously never worked with it, and was not able to answer even the simplest questions if is was not on his slides. My own experience with MS DTC was limited, but still surpassed that of the teacher. Quite a downer for a young kid eager to learn.

During my time at Rambøll I experienced this once more at a SQL Server 7.0 course, and ever since I have had a real hard time with these MOC courses – especially when combined with a professional trainer not doing much other than training. Thus we have also never had people from Vertica attend these MOC courses at training centers.

So what do we do at Vertica?

When we select events to attend at Vertica we look at a series of things. The following is more or less a prioritized list of the aspects taken into consideration:

  1. What are the topic/topics, and how deep does it seem to be?
    This is quite obvious. It is relevant to us or not, and does it have sufficient technical depth?

  2. Who is the presenter?
    Preferably a well-known industry specialist or maybe someone from the appropriate product team in Redmond. I am not going into too much detail about presenters or art of presenting in this post. Some presenters though are better than others and have the ability to make even the dullest topic interesting.

  3. Who is the organizer?
    Is this arranged by Microsoft or some third party? If it is a third party, who is it and what is their track record for arranging training?

  4. 4. What is the cost?
    At some point we do have to look at the cost, as we do not have unlimited funds. This includes entry fee, travel, hotel costs etc. Also being in IT Services we have to take into account that every time a consultant spends a week at a conference, he/she also does not invoice a single hour. Though training is an investment is would be naive to disregard this.

There are other things to consider, but these are the top 4 questions we ask whenever we get invited to or look at any training.

In-House Training

As Vertica is growing in size it starts to make more sense to arrange training in-house. Up until know we have very limited experience with arranging this, pretty much limited to a 2½ day training session on the Covast EDI Accelerator for BizTalk and a couple of late afternoon beers with Patrick Tisseghem from U2U discussing Microsoft Office SharePoint Server. Both very good experiences.

As I mentioned in an earlier post I have been setting up in-house Commerce Server training with Max Akbar. Max used to be Commerce Server Product Manager and is now the owner of Commerce Server Training. He will come to the office for three days of training for everyone in our Commerce Server Team, in the beginning of September. We all have great expectations for this, and I am sure we will not be disappointed. I am pretty sure my experience with the teacher at the MS DTC course will not repeat itself :o)

I also believe that in the future we will try to do more in-house training, as long as we can get the right people to do the training. This way we can train the whole team at once.

The Vertica Training Schedule

As I started of saying we have been working out a budget for training prior to the new fiscal year starting. Although some events have been named not all funds are earmarked yet. Events and possibilities will show up during the year, but so far the schedule looks pretty much like this:

  • Tech Ed Developers, Barcelona
    I attended Tech Ed for the first time last year together with Søren. It was also the first time someone from Vertica went there, and it was a very good experience – technically as well as social. The sessions, speakers and the event as a whole were excellent and we are sending someone again this year.
    With an Early Bird registration fee of €1.945 + VAT it is also not the cheapest way to get training. Add travel, hotel cost etc. and it gets quite expensive. Maybe Microsoft should start seeing Tech Ed as an investment as well, and not as revenue :o) It is all worth it though.

  • Microsoft SOA & Business Process Conference 2007, Redmond
    Held on Microsoft Campus and arranged by the BizTalk Server Team, this is the BizTalk conference to attend. Vertica was represented for the first time last year, and that brought several ideas already implemented and running in production for customers. It is four action packed days for only $199!!

  • JAOO, Aarhus
    It will be the first time anybody from Vertica attends the JAOO conference. I have heard so much good about this conference and it is held right in our backyard in Aarhus, so it is a bit strange that we have never gone before. Originally a Java event (the biggest in Scandinavia) and that might also explain why we have been a bit awaiting in attending. The focus has changed and now covers a broad range of topics in professional software development, incl. project management. 

  • Designing SOA Solutions with Microsoft Technologies, Copenhagen
    Two day course almost in our backyard. If is held by QuickLearn, who from the BizTalk Deep Dive course which all BizTalk developers at Vertica have attended, as well as the BizTalk 2006 R2 course. Qualified and knowledgeable trainers are what we have seen and I expect that to be the case here as well.

These events leave room in the budget for other events not yet scheduled. I.e. with the Visual Studio 2008, Windows Server 2008 and SQL Server 2008 release early next year, I wonder if we will see a PDC late 2008(?). Note also that no single person is attending all these conferences – that would be a lucky guy :o)

Instead we try to share the knowledge with colleagues when somebody is returning back to the office. However, I have to admit that this is something we could get better at, and we are continously working on that.

One of the new things we are starting is that whenever someone attends a course or conference he or she should afterwards do an internal presentation for everyone else at our bi-weekly Beer and Learn sessions. Every other Friday we stop working early and take turns presentation a topic for everyone else.

Wrapping up

There are a lot of other topics to cover when it comes to training, and I might come back to that in a later post. This could include non-technical training, personal incentive for training and certification etc. However, this was some thoughts about how we see training at Vertica, and what we do to make sure we stay ahead of the pack.

There is certainly a lot of ways to look at training, both from an employee and from an employer’s perspective. But regardless it should be looked at as the investment it is, when addressed in a serious and well-planned way. I am certainly not saying that what we do at Vertica is the only right way, and as with everything else is it important to strive at continuously getting better.

Wednesday, 15 August 2007 19:07:20 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback