Tuesday, April 29, 2014

Sponsored vs supported

Probably the most relevant non technical action that a community executes is events. Most mature communities organize one or several big events in different part of the world with different goals, but one of them is common in every single case: engagement needs face to face relations. We are humans....after all.

In order to organize these events, sooner or later you need a legal organization that provides financial support to these actions. You might not know that, in words of the founders, this was the main reason behind the foundation of KDE e.V. .

And when you want to bring contributors together, most organizations end up having as goal to financially support some of them since they cannot afford it:
  • The trip is expensive since they come from the other side of the world.
  • They come from countries where the cost of the trip or accommodation represent the salary of a year.
  • They are students, so they have little income.
  • They have family and they cannot afford the expenses derived from being a week far from home.

There are many more use cases.

So one way or the other, most organization that support FLOSS communities dedicate resources for supporting contributors to attend to its main event(s). But if we look closer, there are small differences among different organizations.

Some differences among organizations.

Since resources are limited, organizations try to make sure they support those who have made significant contributions to the project throughout the year. Being supported/sponsored though, have frequently attached an expectation of being heavily involved in the event itself. Giving a talk or helping the organizers are the more obvious expected actions.

The difference comes when making these variables a plus or a requirement for being sponsored.

The process for being sponsored is also different. The tools used to manage the request/reimbursement process and the "amount of support" too. I will not get into those.

There is a "motivational" difference that do not have much impact but that I have always found interesting. Some organizations support their contributors "as a reward" and some do it "as a duty".

The first case means that some kind of "thank you" is expected/required, linked to that support, as usual when you receive a prize. This act of gratitude might come in different forms but usually tend to publicly reflect that support. The basic idea behind it is to justify the investment in order to increase the level of sponsorship the organization gets from donors. It is a very popular approach in other industries/areas and there are a good number of FLOSS organizations that follow this model.

The other approach, the "support as duty", is based on the principle that if you have made a significant contribution, that is, you are part of the community, and since the organization is there to support the community , it is its duty to support you. So the support comes with no recognition as requirement.  No "public thank you" is expected.

Some refer to this as the difference between being sponsored versus being supported.

My view on this last topic

In different countries/cultures, the sense and consequences of "thank you" are different. Also, the reasons that can "invite" you to ask for support might not be fun to talk, or being being questioned about. You might not feel comfortable by being identify as "sponsored". It also might generate some undesired debate about who is being sponsored or why among people that do not have all the information.

Over the years I have changed my mind. Lately I identify myself more with the second approach, which do not mean I am against the first one. It has a point too.

In any case, what matters is that FLOSS organizations has supporting contributors to attend to the community event as one of their main goals.

A request

If you are not very familiar with how Free Software is developed, all this might sound strange. Investing money in paying trips and accommodation to go to an event to have fun with no or very little deliverables in return?

When thinking about donating to a community project or sponsoring it, ask for this particular topic to the Board of the organization behind it or the coordinators of the travel support program. You will be surprised by how important is this topic for them. They will provide reasons that, I am sure, will satisfy you.

For me, and many others, is one of the main reasons why these organizations deserve to be sponsored. Face to face meetings are essential to build a healthy community or ecosystem and many people have no way to attend if third parties do not sponsor/support them.

Monday, April 21, 2014

Training programs for developers in FLOSS companies: a need

My Experience

When I started with Free Software, there was a need for training people in the new tools that were emerging, not just to users, but also to professional that came from the proprietary world. There, the formal learning culture, through certification, is well established. Due to the business models around the delivery of technical information from soft companies to its channel and customers, investing significant amount of resources in these certifications programs was justified. For professionals, it is a way to improve their curriculum and skills.

Before embracing Free Software, I developed my career in the training sector so I made a living trying to solve this problem for companies that were in the process of discovering Free Software.

In the FLOSS world, these investments is not seen as a "requirement". Although the Free Software commercial space is getting more mature and more and more companies provide these kind of trainings, the general mindset is that you learn by doing, that the code and resources are out there that the formal training is not worth it due to its high cost, that Free Software is a learning environment by itself and that, by simply providing "learning time" to your employees they will develop the skills and learn the concepts they need. It is the typical "engineering innovation" kind of culture.

At a management level, the culture of getting training is solid, but many Free Software companies fail in spreading that culture to the technical level. In my 15+ years as professional I have seen very few companies that takes seriously the improvement of employees skills through training, specially in the engineering area.

Training program

Like when leaning a new language, in order to improve your technical skills, formal training is needed, specially at two points in time:
  1. At the very beginning of your learning process, when you are facing something "new".
  2. When you reach certain level where improving is not a matter of practicing any longer. It is the case when you make yourself understandable but need to express properly.

In the same way professionals put effort in being efficient in their everyday tasks, it is smart to be efficient in learning new concepts, developing new skills. Formal training in the first case is about that.

In the second case, in my opinion, there is no substitute for formal training. There is a point in which your investment in "studying" is less and less effective, reaching a point in which investing effort in "improving" is not perceived as worth it anymore. Internal training should cover this second case.

Despite its cost, investing in having junior developers formally trained by senior ones is worth it.  Since nobody is senior in everything, seniors become juniors at some point and the other way around. So having regular training sessions covering the first case (introduction to topics) given by employees have interesting secondary benefits.

For the second case, I always recommend going for external trainers. Even in the case you have the experts at home, bringing external people always adds value, a different vision. It is important also that that person is not just a good professional, but a good trainer. It is not so common to find both skills in the same person....at home. If you have one of those.... send him/her to train your customers, not your employees. You will get a higher return.

Do not forget to evaluate and reward your internal trainers. Provide them training also, so they become better trainers. This actions should be part of a more general designed path to increase the number of engineers within your organization that can be successful facing customers and promoting the use of your products and technologies in events. It is what I like to call Engineering Marketing.

One of those secondary benefits you might have not think about is the technical documentation generated for these sessions. In some cases, specially when you are training in technologies or products your company develops, these material are a perfect base for the technical documentation you provide to customers. You can eat you own food also in this area or, at least, design it to give it an early try.

Technical support engineers and presales ones are used to "making themselves understandable". When thinking about creating or improving such a program, think about them as potential trainers. If you have technical writers in the company, involve them too in the material generation. Yes, it increases the cost of the program, but it increases the outcome too. So instead of focusing only in the cost, try to find ways to translate part of the output to your customers too, so the investment is also worth it from the "sales" perspective in the short/mid term.

Some tips about the training sessions.

In my experience, if your company is young, these sessions should take place on Friday, after lunch. It creates a good atmosphere during the less productive time of the week. It is the "fun time". If your company is a more senior one, it is harder to have a significant number of attendees on Friday afternoon so Thursdays afternoons, at the end of the day, would be the best option.

It always come a question when designing these sessions. Should they be part of the workday schedule or should they take place after work as optional?

In my opinion, these sessions should not be mandatory but they should become part of the working hours. They need follow up though, so evaluation is needed. There are many techniques to make these evaluation processes part of the learning process itself so they are not perceived as "boring". You also have to module the consequences of "failing" in these actions so you incentive participation. Having extra sessions for those who do not accomplish the goals can be a good compromise.

Who can you talk to you about this?

There are two people that I recommend you to contact if you want to know about a successful experience in having seniors training juniors as part of the organization culture. They are Miki Vazquez and Gonzalo Aller.

If you do not have a well established training program within your engineering dept. these two people might help you from different points of view: Paul Brown and Roberto Brenlla. They might help you to design and follow up a technical training program, in collaboration with your HR dept. and your technical managers.

Do you know other professionals or companies who are driving successful internal training programs for engineers (employees)? If so, please let me know. I would appreciate it, and some readers too.

Wednesday, April 16, 2014

Closing doors

Yesterday was my last day as KDE e.V. Board Member. As you know I have been the KDE Treasurer since April 2012. I will keep being part of the Financial Working Group so I will be able to help my successor during the landing process and in the future. I still have some leftovers to finish (reports) and I plan to write a couple of posts about our numbers, so you all know what it the situation of KDE e.V. in general....healthy, by the way :-) It is being a soft transition.

KDE e.V. is in the right time to be ambitious and heavily increase its resources to support KDE community. Several decisions have been made in this regard and they will be executed during this 2014. The financial situation is healthy enough to afford some level of expansion. So I think it is time for somebody else to come with energy and enthusiasm to drive these changes the following months/years. And we have that person so.....

KDE e.V. is a solid organization, well managed and with a Board that takes the financial area seriously. It has been a pleasure and a honor to be part of the Board.

On the other hand, my relation with SUSE will end this month. Working on openSUSE, an specially building and leading the openSUSE Team, has been a great experience. I wish them all the best, specially in their current main task, turning Factory into a "usable" rolling release by changing the development work flow/process. It is a goal with a high impact for openSUSE.
 
openQA has a nice present, a tremendous potential and future, not just from the technical but also from the business point of view. For those of you looking for a great place to work, consider SUSE. It was for me.

The last few weeks I have been temporary living in Prague. I love this city. I am not attending to openSUSE Conference (I am sure it will be a great one) and I am not sure if I will be able to go to Akademy-es, which is a pity since it takes place in Malaga, where I lived for three years, and it is organized by one of my colleagues, Antonio Larrosa. I plan to go to Akademy in Brno though.

As you can see, these are times for changes, after around two years putting my best in KDE e.V. Board and SUSE/openSUSE. I have no idea what am I going to do next but I am sure it will be exciting so I expect an article soon called "Open Doors". Otherwise....I will not know what to do with so much time, or maybe I will... write more posts. :-)