# Sunday, 13 April 2008

Every developer knows the feeling: you get so absorbed in your work that you completely forget everything else, including time and the people around you. You have entered the flow, the zone or whatever else people like to call it, and you become one with you work. It’s a great experience and a rewarding feeling.

But then, out of nowhere, you pulled back out of flow, distracted and maybe even forced to change your focus. At a lot of companies, including Vertica, people work in an open office space. There are a lot of good things to be said about open office spaces, but it can, at the same time, also be the origin of a lot of factors and happenings that can pull you out of the flow or even completely prevent you from getting into it the first place. In this post I have put down some things I am already doing, as well as would like to do in the future, to give me and my colleagues the best conditions for getting into the flow.

The desktop - the virtual and physical

More and more programs uses different sorts of alerts to inform about new happenings. I.e. as default Outlook shows an alert whenever a new mail arrives including sender information and the first couple of line of the mail. When you send an email you cannot expect immediate response anyway, so there is really no reason for this alert as I see it. I still get the small envelope in my System tray though, but I have moved my email client to my secondary monitor, so the inconvenience is as limited as possible.

Another application very good at generating alerts is Windows Live Messenger. With a comprehensive contact list you can get a lot of "signing in"-alerts. Maybe not enough to pull you out of the flow, but annoying anyway. Luckily they are easily disabled.

As opposed to alerts that only bother the one receiving then, the phone has the ability to bother even more people, especially in open office spaces. Turning down the volume of the ring tone as much as possible helps not to disturb others to much. I also use the DND function on the phone, both when not at my desk and also when I just want to get some work done. When I am not at my desk there is not reason for my phone to bother anyone else when ringing.

I would also love to have software phones. This would remove the annoying ringing for anyone else than the person who's phone is ringing and also providing even more features helping productivity.

The Office and the Colleagues

Interruptions by colleagues is also a common way to be pulled out of the flow. It is always a thin line when you should ask for help, and when you should search for the information yourself. I recommend being very deliberate about when to contact colleagues and maybe even try to time it, so you ask questions when people are interrupted in their work anyway, maybe going to get coffee or something similar. Also it is certainly okay to say no, when asked if you have two minutes for helping someone.

If you have individual offices you would be able to close the door to signal that you would not want to be disturbed, but is it a bit more difficult with open office spaces.

I also know of a company with an open office space environment who have equipped all monitors with a small flag, that anyone can raise if the do not want to be disturbed. A simple and easy way to communicate to your colleagues that you are working and they should stay away for now. It is also said to be working quite well.

Read More

A lot of people has written about the flow and how to get into it. One place to start reading the That Voodo You Do. Also I have previously written about Peopleware that definitely also is a recommended read.

If you have initiatives that help you getting and staying in the flow feel free to drop a line in the comments.

Sunday, 13 April 2008 13:21:51 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |  Trackback
# 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
# 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
# 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
# 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