De buenos propósitos cara al 2017

Tenía la intención de escribir un post resumen del año 2016, pero los posts de los compañeros como Marc Rubiño o Yeray han tenido que ver en el contenido y enfoque del mismo. Más que un mero resumen, es además una carta de propósitos.

Mirando el 2016 en retrospectiva

Para mí, este pasado 2016 ha sido un año muy satisfactorio personal y profesionalmente.

He participado en varios eventos internacionales de SharePoint y Office 365, sobre todo en las comunidades técnicas portuguesa y belga, que conozco muy bien desde hace años y siempre me hace especial ilusión. Participé en el MVP Summit en Redmond, para poder aportar mi granito de arena a que Microsoft saque mejores productos para sus clientes, que son los nuestros también. Dentro de SUG.CAT, el grupo de usuarios de SharePoint de Catalunya, he impulsado el segundo SharePoint Saturday Barcelona (que salió mejor que el primero, así que algo habremos aprendido por el camino) y he colaborado en la organización del SharePoint Saturday Madrid.

New Year

Escribí un curso de Reactive Extensions en Pluralsight, que siempre es una experiencia gratificante.

Junto con otros compañeros en Sogeti, participé en una candidatura “atípica” de representación sindical (siendo no afiliados a ningún sindicato). Ganamos en Barcelona y nos pusimos a mejorar aquellas cosas que veíamos necesarias, democratizando la representación de los trabajadores y buscando ideas que ayuden a que Sogeti sea un buen sitio tanto para la empresa como para la plantilla.

En Sogeti he podido impulsar algunas medidas de cambio, tanto tecnológicas como culturales. No son muchas, ya que hacer cambios en una empresa tan grande es más lento, pero me dan la satisfacción de poder pensar en otras más ambiciosas. He hecho de mentor de otros compañeros con excelentes capacidades técnicas pero poco recorrido en el mundo de la comunidad técnica. Incluso he tenido que hacer algún que otro “chantaje” para poder sacar a la palestra aquellas personas que creo que se merecen explicar sus experiencias y de las que todos podemos aprender.

Inner circles y demás “bestias”

Le robo el título a Yeray Smile espero que no le importe.

Es precisamente en este aspecto de hacer el esfuerzo a sacar nuevos talentos en la comunidad donde empecé a notar cierta resistencia por una parte de la comunidad de los ponentes establecidos. Para que nos entendamos, con “ponentes establecidos” me refiero a la gente de la talla de Yeray, de Marc, de Eduard, de Lluís, por poner un ejemplo.

El hecho es que algunos de los ponentes establecidos no creen que tengamos que hacer nada para que se vaya renovando el cartel de los ponentes en la comunidad. Sostienen que la gente buena ya se abrirá el camino, lo que es yo también creo, y que no hay que hacer nada especial que no estemos haciendo ya. Aquí es donde discrepo. En mi opinión, podemos hacer mucho más y lo iré explicando en otros posts.

Nota para navegantes: el cacareado y malentendido “inner circle” para mí es la comunidad de los ponentes establecidos, dentro de los cuales me incluyo.

La misma opinión sale a relucir en los comentarios respecto a la falta de diversidad en los eventos tecnológicos. Todavía somos una minoría los que pensamos que este es un problema grave. La gran mayoría de la comunidad ya está cómoda con que la audiencia y el cartel de speakers sean hombres blancos mayoritariamente “frikis”. Yo he decidido luchar por cambiar esta situación. ¿Utópico? Puede que sí. Por mi parte prefiero compartir la misma utopía con gente como Jon Skeet y hacer acciones tangibles para no participar en la perpetuación de la falta de diversidad como para participar en la búsqueda de maneras de inclusión de voces minoritarias en el debate técnico general.

Igual que los “development evangelists” que se dedican a convencer a su público sobre la necesidad del cambio (tecnológico), yo me dedico a convencer a mi público en la comunidad sobre las cosas que tenemos que cambiar. No voy a pedir perdón por ello.

MVPs, las empresas y las comunidades

Entrando de lleno al espinoso tema de los MVPs (de los que formo parte) y de la relación de empresas con la comunidad, voy a exponer mi opinión.

El programa MVP de Microsoft tiene su parte positiva y su parte negativa. La positiva la conocemos: ayuda en la marca personal, el prestigio del profesional (y por extensión de la empresa en la que está), la comunidad de otros MVPs y la interacción con el equipo de producto. Ah, ¡y la suscripción MSDN complementaria, por supuesto!

La parte negativa: la opacidad en el proceso de selección es quizás la más importante. Donde falta luz siempre se forman cuentos, leyendas y fábulas sobre quién está “en el bombo”, con qué criterios y con qué “padrinos”. También cada MVP es un mundo y los hay que siguen siendo los mismos tipos alegres y accesibles de siempre y los hay que se endiosan y se piensan que están más allá del bien y del mal. La riqueza humana es lo que tiene.

Las empresas que tienen en su nómina a un MVP o varios, tienen un activo de branding y de marketing muy útil para vender de cara a los clientes y los futuros empleados. No hay nada de malo en ello. Lo malo es poner objetivos de ser MVP, ya que estaríamos pervirtiendo el modelo, tal como bien expone Yeray en su post.

Y si soy una empresa, ¿cómo podría colaborar con la comunidad? Yo creo que hay muchos modelos de colaboración posibles: patrocinio de las comunidades locales donde esté ubicada la empresa, liberar partes de su código como open-source, la cesión de espacios para charlas (que siempre nos faltan en los grupos de usuarios), dejar tiempo a sus empleados a que asistan a los eventos durante las horas de trabajo (que hay pocas empresas que lo hacen). Para mí esto es ayudar a la comunidad como empresa.

Otro mundo aparte son los eventos comerciales donde se cobra entrada y el organizador de turno decide sobre quién habla y quién no. Allí cada empresa es libre de patrocinar lo que le parezca adecuado en términos de beneficio esperado. Y cada ponente es libre de aceptar los términos o no.

Organizando los eventos como los SharePoint Saturday de Madrid y Barcelona sí que me he encontrado con situaciones en las que un patrocinador suponía que su patrocinio incluye un charla. Mi opinión es que hay sitio para charlas de patrocinadores, debidamente separadas de las charlas de la comunidad (como p.ej. poniéndolas en una hora dedicada o durante la hora de comer).

De cara al 2017

Vale, ya he dicho lo que quería decir sobre la comunidad y los temas candentes. Ahora voy a explicar lo que serán mis propósitos de este año 2017.

Igual que Marc Rubiño, continuaré siendo selectivo con los eventos en los que me involucro. Me centraré en aquellos que son realmente para la comunidad y que cuentan con medidas para tener asistentes y ponentes diversos.

Seguiré creando espacios para otras personas: montar eventos, ayudar a comunidades y mentorizando a las personas valiosas que pueden aportar su voz al debate.

Seguiré buscando ideas de mejora personal y profesional, compartiéndolas con todo el mundo que esté interesado en mejorar.

Y, finalmente, dedicaré el máximo tiempo a mi prioridad número 1: mi mujer Vanessa y nuestro/a futuro/a niño/a que está en camino.

The “Inner Circle” syndrome and MVP Program

After an overwhelming response to my last week post about the lack of diversity and inclusion in the technical communities, I wanted to speak about a specific diversity problem in more detail.

This problem is the “inner circle” syndrome.

As I mentioned in the previous post:

Even in the Spanish community, I’ve been mostly involved with the people I know well, mainly the Spanish MVPs and user group leaders. We know each other as we always hang around the same events, and thus unintentionally we create an “inner circle” in the community that makes it difficult for new people to come inside. It’s not that there aren’t any new community members, but it’s more of a mental barrier of always having “the usual suspects”. I have heard several comments lately from bright technical people that don’t submit to events because “there are always the same guys” speaking there.

The “syndrome” is the feeling or an opinion, backed by some evidence, that in technical communities there is a small core of people who share a disproportionally large amount of the “spotlight”, this being sessions in technical events, articles, publications. I have received many, many comments of technically proficient people that don’t bother to propose a talk because “it’s always going to be the same people chosen for the sessions“.

Let’s go deep into the problem, shall we?

It’s a small community

The technical communities are usually led by a small group of people, who are motivated enough to invest their time and efforts into providing value for the rest of the members of the community. By its own nature, this is something altruistic and we can’t expect everyone to be a community leader. So, the number of the people actively leading a community is low and there’s no problem with that.

pasta-composition-1-1543750-639x958

At the same moment, the fact of being a leader in a technical community also shapes another community of sorts: the community of community leaders. I suspect that there is a natural disposition to mingle with those who are like us. It’s not a problem, per se. I benefit from interacting with other community leaders, for example, sharing strategies and tips on how to have a more successful community or how to drive attendance and awareness for our events. That’s the good part.

The bad part is that, if left unchecked, it’s easy to mistake the community of our peers (community leaders) for the community at large. It can lead to the “inner circle” syndrome if we do nothing to include checks and balances against it.

How you get accepted to speak at events?

If there’s one measure of the public perception of an “expert” in a technical community, that’s speaking at technical events. Those people are usually recognized or taken by the rest of the technical audience as the ones who excel on something in their respective domain of knowledge.

However, there are many more people knowledgeable about something than speakers at the events. It’s a matter of combining several characteristics:

  1. Being knowledgeable about something
  2. Having sufficient skill (and bravery) to speak in public
  3. Being aware of an event where your contribution can be welcome
  4. Actually submitting a proposal to talk at the event
  5. Having been accepted to speak at the event

In a 100% meritocratic world, this would be a pure number’s game. However, in the real world there are unseen obstacles to this straightforward process.

Once you fulfill the condition 1, you have to acquire skills about speaking in public. Many people don’t come forward at this step, as public speaking is something very stressful for mostly an introvert population. (Introversion is highly correlated with abstract thinking capacity we need to understand computers, so our technical communities are necessarily skewed to the introvert half of the population).

Let’s say you have the skills to speak. How do you become aware of a prospective event (the condition number 3)? In many cases, it’s a random thing. Usually, you read it on Twitter or a technical blog you follow. The “inner circle” members have an advantage here, because if you are already in the community “inner circle”, chances are that you already know about the event either because it’s organized by your peers or because somebody mentions in the conversation.

The condition number 4 requires you to choose a topic and craft a cohesive and appealing proposal for your talk. You need some marketing advice in order to find that what’s unique about your talk and you have to “sell” it to the event decision board. This is another skill in which the most of the technical audience are not well-versed.

Finally, the last barrier is getting accepted to speak. If you have a good proposal, your chances are better. But the sad truth is that if you are part of the “inner circle”, your chances are SO much greater. Sad but true.

Why is that?

The people choosing your talk are probably the people who are your acquaintances or friends. It’s a small community we are talking about, and we mostly know each other. When you have a talk from someone you know (and trust) as opposed to a talk by someone you haven’t heard of, then it’s just natural to lend more credibility to your friends. It’s our human nature. And it’s detrimental to our community diversity.

Also, the number of speaking slots is usually always much less than the number of prospective speakers. Due to this pressure, the selection board tries to “stick to the well-known” and minimize the risk.

We have to tread carefully not to close the doors on the any prospective contribution, and the fact of not being “known” in the community is such a huge handicap. The mere fact of having someone in the “inner circle” to rely on and to ask for advice is the most frequent way I’ve seen for the people to become speakers. I’ve done it, a couple of times. But, that’s not the way I’d want it to be in the future.

The trouble with MVP program in the technical community

And here I explicitly mention the Microsoft MVP (Most Valuable Professional) program as a factor in this imbalance of speaking sessions. I’m a current MVP, and I speak out of the knowledge of how things are run in our local community (Spain and Europe).

MVP Logo

The MVP program is an award (not a certification, not an entitlement) for past year contributions (posts, articles, speaking sessions, open-source contributions etc) in the technical community that aligns with one or more Microsoft products or technologies. It’s awarded every year.

That’s the good part.

However, MVPs represent only a portion of the valuable community leaders and contributors (I suppose that’s why it’s called “Most Valued” though). For starters, there is a limited number of MVPs per category and per region. The evaluation criteria are opaque (even though you can nominate yourself or other people) and there is no formula that let’s you know if or why you are accepted or rejected as an MVP. If I’d change one thing in the MVP program, I’d make the criteria and the nomination process more transparent. I don’t think that it should be totally objective (because it could be gamed), but I’d like to see the explanations about the selection results for each MVP. Until then, the rest of the community can only take educated guesses and fuel rumours about how the whole process works. More transparency will bring more accountability to the program, in my opinion.

Additionally, the MVP Award in the Microsoft technical community is almost a guarantee that you are in the “inner circle”. Your sessions proposals are going to weigh more in the event selection boards, you are going to be in contact with other MVPs and you’ll be aware of more community engagements. However, now you have a vested interest to keep being an MVP so you will submit to those events, knowing that your MVP status makes it easier to keep it. It’s much more easier to keep your MVP status than to get one. It’s not that the entry barrier is high (which is true) but the fact that the advantage the renewing MVPs have over you is so much greater.

Don’t get me wrong. I think that MVP program is very valuable, both to the community and to Microsoft, but it’s easy to misrepresent it and to mistake the MVP community for “the whole community”. You’re going to think of the fellow MVPs as your “inner circle” in the community and you’re going to reap the benefits. It’s not fair, but it’s real.

Ok, how should we fix it?

I wish I knew!

Notwitstanding that, I can suggest some possible actions.

First and foremost, the community leaders should be less of a rock star and more of a servant leader. It means serving the community and getting out of the way of others. You don’t brag about you, you don’t abuse the advantage you have as a community leader by grabbing more spotlight. You consciously move out of the spotlight to let the others be illuminated.

Our role as the community leaders is more to the people that are still outside the community than it is to the people already inside. We should focus on expanding the numbers and diversity of the community, not our own numbers.

Don't be a rock star

We can also help the prospective new members. As leaders, we are exposed to potential valuable contributors more than the average community member. We should act as a benevolent gatekeeper that brings people in instead of letting them out. The feeling of “not being one of us” that trickles down in the technical community, is a very strong barrier to entry. I don’t think that it’s something we do on purpose, but it has a real effect. We should be aware of it and correct for it. How?

  • Mentor other community members that show potential value
  • Teach soft skills such as public speaking, personal branding and community engagement, not only technical stuff
  • Spread the word about potential speaking and engagement opportunities. Make a goal to bring in one new speaker for every event in your expertise domain. Help them writing their proposal and help them with the session preparation if you can.
  • Make the proposal selection a blind process. Strip the biography from the submission and let a board of peers rank the proposals for their merit, not for the speaker.
  • Be conscious about your unfair advantage as a community leader. Concentrate your contributions to non-competitive channels (your own blog, GitHub, magazines and selected events) and resist the urge to cover all possible outlets. Don’t be a rock star! If you really have something to tell, help organize your own event 😉
  • If you are organizing an event, reserve a sizable portion of the agenda for first-time speakers and traditionally underrepresented communities. Don’t let the “same old faces” steal the show. Even if it feels lowering the quality of the agenda, it’s the other way round. You are strengthening it.

Microsoft can also do a lot about fixing the “inner circle” syndrome:

  • Make the MVP nomination process more transparent and accountable. Not everyone who applies should be an MVP, but we really need more transparency around the process to make the “inner circle” dissappear. Explain why someone is awarded and someone else is not.
  • Reserve slots for first-time speakers and underrepresented communities at your events

I’m really looking forward for comments on this issue. Am I being right? Wrong? Misled? Please use the form below to contribute to the discussion.

The dark, hidden side of our technical communities

For a long time now, I’ve been wishing to write about the gender and diversity gap in the technical community. Today felt like that day, so here it is. It’s the longest post I have ever written, I think. Don’t worry, you don’t have to read it now. Save it for when you have some time to spare. No TL/DR here, I’m afraid.

As an active community member for some years now, I’ve been exposed to the rich ecosystem of user groups, formal and informal events, online collaboration, banter and gossip, articles, blog posts and other outlets of the technical community at large and SharePoint-specific community in particular. The personal rewards of interacting with other people in the community are enormous, and I feel grateful for the insights I got and for the opportunity to exchange points of view. Based on a voluntary participation, the community is one of the best examples of intrinsic motivation that I have ever seen.

However, the technical community isn’t the rose-painted picture nor it exists in the void. The real-world issues also seep into the technical community and not all what I have seen inside is something that I’d like to see again. I’ll try to explain it in the following lines.

The technical community is based mainly on the underlying politics of meritocracy. The more you work to benefit the community, the more benefit you get from doing it. We are used to think that our communities are as egalitarian and democratic as possible, but it’s a flawed illusion.

Who is the “community”?

Enter the blissful ignorance of conformity bias.

Let me check the circles of my personal interactions in the community. Mainly I’ve been involved in Spanish technical community around Microsoft technologies. I also have an active European participation, mainly in community-run events. In the end, I have participated in a couple of US and Canadian events, but my main field of action is Spain and Europe. I feel enriched by my community work, but let’s make a closer look.

Even in the Spanish community, I’ve been mostly involved with the people I know well, mainly the Spanish MVPs and user group leaders. We know each other as we always hang around the same events, and thus unintentionally we create a “inner circle” in the community that makes it difficult for new people to come inside. It’s not that there aren’t any new community members, but it’s more of a mental barrier of always having “the usual suspects”. I have heard several comments lately from bright technical people that don’t submit to events because “there are always the same guys” speaking there.

And there’s true to that. It’s true that in the Microsoft communities the preponderance of MVPs in the speaker rosters is something that makes it easier for the attendees to choose interesting events but it also shuts the door (or leaves it almost closed) for new people and new blood in the community. As MVPs we have to do community activities to keep our MVP status, and I think that it has this side-effect of erecting walls around the technical events for potential speakers that aren’t part of the “privileged” few.

Furthermore, my community interactions are mainly with the people similar to me: white males, with university studies, middle to upper-middle class. For years I’ve been blissfully ignorant of the biased world I was in, but for some time I’ve been growing a conscience that ultimately makes me write this post, due to several things in the last years. I’ll line them up for you, if you are still with me.

Women in Technology

Vanessa Estorach is one of the founders of “Women in Mobile”, an advocacy group that helps raise the profile of women in the male-dominant world of mobile technology and marketing. She also happens to be my wife. She explains to me that one of the problems women face in the tech sector is that they have no role models. I haven’t thought about that before, but it’s painstakingly clear: while the boys have Bill Gates, Linus Torvalds or Mark Zuckerberg (nerd, geek stereotype included), the girls have no modern Ada Lovelace to refer to. I can only see some timid examples such as Marissa Meyer in Yahoo!. In fact, the stereotyped image of a tech person as a young nerd with zero social skills is the main factor that drives the girls out of technical careers even before stepping in.

I also read the “Lean In” book by Sheryl Sandberg, where Sheryl, a Facebook COO, paints a feminine/feminist view of a more egalitarian tech world and how to “lean in” to make it possible. My main takeaway from the book was there is a lot of effort to be done if we really want to see some change.

And last, but not the least, I’ve been subscribed to a newsletter called “Technically Speaking” for some time. It’s run by Chiu-Ki Chan and Cate Huston who write about technical speaking, a subject dear to my heard, but from the point of view of a minority, with special focus on codes of conduct and inclusive events. They are a female voice in a male-dominated sector, and collect positive examples of more diverse events and community. Their newsletters struck a chord in me and made me conscious of the “granted by default” privileges that I have as a white male, first-world technical community member.

The more I read and discussed about the “gender gap”, the more I felt that I could do more. I started to raise the issue at my work, in discussions with HR and management. I made a conscious choice of positive discrimination, recommending women over men from the candidates pool for our new hires. While positive discrimination is a discrimination, I think that it’s necessary until the field is leveled and the things regulate themselves. We have to apply extra effort to change the inertia that by itself will only perpetuate the existing situation, that’s why we have to discriminate positively.

Woman with laptop

However, the one thing that I try to avoid is to foster a token female presence. To have a single women in the team is almost as bad as having none. There is some research that says that starting with 3 women in the team is when you begin to see the effects of more diversity of opinion.

My community “girls club”

While my community circles are still mainly “boy clubs”, I have to acknowledge remarkable women in the community that I have the privilege of knowing personally:

  • Cristina González, the MVP lead for Spain, Portugal, Italy (and some other countries). The envy of other MVPs who don’t have the privilege of having her as their lead, she has a soft and caring communication style and a brilliant mind that makes for very interesting conversations.
  • Martina Grom, Office 365 MVP from Austria. For me she’s the embodiment of what I’d like to see more in the world: a competent professional, engaged in the community and true to her values about the women in the IT.
  • Agnes Molnar, SharePoint MVP from Hungary. Agnes is a mother of three and a frequent community speaker and traveler. If that wasn’t enough, she even writes books and helps other women in the IT.
  • Isabel Cabezas, Microsoft Technical Evangelist from Spain. Isabel is a former student of mine, that became coworker and now she participates in Microsoft Developer Experience team in Spain to communicate her passion about technology. Isabel also works to fix the gender gap by organizing events such as Ada Code Group or AdaJS/JSLadies.
  • Iris Classon, Swedish MVP. Iris was a dietitian who discovered programming in 2011 and hasn’t been looking back since then. Her passion for technology is unbounded and she transmits it on her talks and her blog. While I still can’t make my mind about whether her previous look was a good or a bad role model for women in IT, she’s undeniably an example for other women in the programming community.

Beyond gender inequality

So, if we have more women in the technology, then the problem is solved, right? Well…there are still some issues beyond the mere presence of female talent in the community.

Do the women in the IT feel welcome in the community? The sexual harassment raises its ugly head even in our meritocratic communities. We won’t have more diverse communities without eradicating sexist jokes, patronizing talk and innuendo. There have been several high-profile incidents in the technical events lately, and we’re talking about supposedly more-than-average open and forward-looking communities.

What about the lactating mothers who want to come to an event? Will they feel welcome? And even for the parents regardless of the gender, what if they want to bring their children to the conference? How can we make it possible so that they won’t have to pay a babysitter?

And that’s only one of the diversity issues in our communities: the gender gap. But there are many more lurking around. How many times you had a speaker from emerging countries? By focusing ourselves on our cozy Western environment, we lose the valuable insights of the people whose experiences in the IT are radically different in scope and impact.

What about the economic inequality? As a members of the privileged middle-class, we tend to forget that not everyone can afford to travel to a conference to speak, even more so in the real community events where the budget is stretched. It’s a real barrier to more diverse events, and I can feel it even in Spain where outside Barcelona and Madrid, few speakers can show up because of the economic downturn that hit the areas outside the metropolis much harder. How many voices we lose due to the companies that can’t (or won’t) pay the travel costs for their people?

What about the people with disabilities? Can they participate in the technical community as it is now? Or do we need to change the community itself. Even such a small detail as the wheelchair ramp or the subtitles for people with hearing problems can mean that a person who wants to participate cannot do so.

What about the LGBT people in the technical world? Do they feel welcome when somebody cracks a joke or uses a derogatory term even without thinking about it. There is a sincere post on Medium by a black lesbian programmer and her experiences about the diversity in the tech industry.

I have just scratched the surface of the unconscious bias that we have in our technical communities. You can find a lot, lot more information just by searching on Internet. For example, the Python community has a set of guiding principles for a more inclusive community.

Diverse world

What can I do about it?

So, what can I personally do to foster the more diverse community? As a user group leader and a technical speaker I do have some freedom of action and I intend to do something to increase the diversity:

  • I will make our user group events (such as SharePoint Saturday Barcelona) more inclusive by inviting speakers outside our “white, privileged boys club” and by helping that everyone who wants to participate can do so, regardless of the gender, sex, sexual preferences, economic situation or physical condition
  • I will promote the awareness of the diversity gap in the technical community and be vocal about it
  • I will decline to participate in the events where there’s no effort to bring more diverse backgrounds or where there’s no clear code of conduct (such as this one for instance)

I know that I won’t change the world, as I realized many years ago I can’t change it by myself. What I can do, however, is change what I do. By “being the change you want to see in the world” I can stay coherent with my beliefs and help bring in a richer, more diverse world to the communities I’m involved with.

 

¿Cómo me mantengo al día de la información técnica?

Mucha gente me ha preguntado como consigo estar al día de las novedades tecnológicas del mundillo SharePoint/NET/Web/JS sin morir en el intento. En este post intentaré resumir lo que hago yo.

information-overload[1]

Ojo, no sugiero que lo que me funciona a mí te va a funcionar a ti también, pero por intentar que no quede, ¿verdad?

Fuente de información #1: Twitter

Uso Twitter para filtrar las noticias importantes. La lógica es la siguiente: si sigo a la gente que más o menos son de mi perfil tecnológico, es muy probable que twiteen o retwiteen noticias o contenido interesante para mí. En este sentido, mi red de contactos actúa como una caja de resonancia de lo verdaderamente importante.

Fuente de información #2: Newsletters

Para la información más detallada y “asíncrona”, estoy suscrito a varias newsletters que me envían periódicamente noticias de interés sin demasiada “paja” de relleno. Os pongo aquí las que me llegan:

  • InfoQ – Si tuviera que recalcar una publicación, sería esta. Son los organizadores de la QCon, la conferencia de desarrollo que se celebra en varias ciudades cada año. Principalmente me interesan las noticias de .NET, arquitectura y de prácticas de equipo.
  • Simple Talk – El newsletter de la gente de Red Gate. Un poco orientado a sus productos de profiling y de gestión de BBDD, pero con el contenido bastante útil al final.
  • DZone – Noticias de desarrollo, arquitectura y un poco de gestión de proyectos infomáticos. No tan útil para mí como InfoQ, pero de vez en cuando hay algo interesante como este artículo.
  • Methods & Tools – Es una publicación un poco “retro” orientada a desarrolladores y arquitectos. Publican una revista PDF cada 6 meses con artículos interesantes.
  • SharePoint Community – Noticias y novedades del mundillo SharePoint y Office 365.
  • Technically Speaking – Es el newsletter más personal que recibo. Lo edita Chiu-Ki Chan, una desarrolladora ex-Google que vive en EEUU. Los temas que cubre son básicamente “call for speakers”, organizar conferencias y charlas, hablar en público y la igualdad de género en la informática. Me va muy bien para mi “trabajo” en SUG.CAT.

Fuente de información #3: Revistas

Las revistas (en PDF y en papel) siguen siendo mi fuente de información “en profundidad”. Me inspiran para probar cosas nuevas y me dan ese conocimiento previo a meterse a trastear con algo nuevo.

Me suscribo para que me lleguen a mi buzón cuando haya un nuevo número.

  • MSDN Magazine – La revista “oficial” de .NET, con artículos de calidad (aunque a veces demasiado alejados del día a día) y temas en el “cutting edge” como dirían los anglosajones. Disponible en papel, en PDF y online.
  • DotNetCurry – La revista india de .NET. Artículos más asequibles, aunque la maquetación es a veces demasiado “Bollywood”. Hacen entrevistas a gente destacada del mundillo .NET.
  • Compartimoss – “LA” revista de SharePoint de habla hispana. Si eres SharePointero (o Office 365ero) la debes seguir. Punto.
  • DIWUG eMagazine – Revista en inglés de SharePoint, editada por el grupo de usuarios de SharePoint de Países Bajos. Artículos de mucha calidad. A veces está disponible en papel, en eventos europeos de SharePoint.

Fuente de información #4: Blogs

Siguiendo con la información en profundidad, sigo usando un agregador de blogs (ahora mismo Feedly). Allí tengo una colección de blogs de NET, de SharePoint, de otros hobbies y de compañeros como Robert Bermejo, que está que se sale con su blog de Azure.

Otro tipo de blogs que sigo son los de agregación de novedades, como Variable Not Found y This Week in .NET.

¿Cómo gestiono todo esto?

Aquí está la proverbial “madre del cordero”. Con el tiempo que tengo al día, ¿cómo gestiono todas estas fuentes de información?

Lo que hago es aprovechar el viaje en metro de cada día para ponerme echar un vistazo a Twitter y a Feedly. Si hay algo que merece una lectura más profunda, me lo apunto en OneNote.

Los newsletters y las revistas llegan cuando llegan. Lo que hago es programarme su lectura: un ratito el fin de semana, en el descanso, en un viaje… Lo mismo hago con las cosas apuntadas en OneNote: me programo su lectura.

Al mediodía, después de comer, echo otra batida por Twitter a ver si hay algo nuevo. Igual que por la mañana, apunto en OneNote cosas de interés para leérmelas con más detalle.

Supongo que mi flujo de información no es todo lo óptimo que podría ser, pero de momento me da buenos resultados. Al final, creo que es responsabilidad personal de cada profesional estar al día de su ámbito de acción.

Y vosotros, ¿qué pensáis?

 

“Jotasón” y la (mala) pronunciación de términos informáticos

Los que me conocen saben que soy un poco Grammar Nazi. Lo reconozco, me gusta corregir la ortografía o la pronunciación en inglés cuando se trata de gente a la que aprecio, como amigos o compañeros. No hace falta añadir que no lo hago por fastidiar sino siempre con el afán de que mejoren su expresión oral en inglés, lo que abre muchísimas puertas en el mundo profesional y sobre todo en el de la informática.

A lo largo de los años he ido guardando mentalmente las pronunciaciones de palabras técnicas más frecuentes. Aquí os presento la lista, con la pronunciación aproximada mala y la buena.

(Agradecimientos a Robert Bermejo por ser el artífice de alguna palabra de la lista. Os recomiendo su blog por si tenéis algún interés en Azure)

Término Pronunciación incorrecta aproximada
Pronunciación correcta aproximada con enlace al audio
SharePoint chárpoin
charpóin
sarepóin
sárapoint
serpóin
shérpoint
(share + point)
feature fítur
fiture
feature
fícher
premises premáises prémises
event receiver event risáiver ivén risíver
Azure éishur áshur
Source surs sors
Xamarin shámarin
chámarin
sámarin
JSON jotasón
jasón
yéison
(como el protagonista del Viernes 13)
Bootstrap botestrap bútstrap
XAML chámel sáml
Microsoft Microsof Máicrosof
Git “yit” (como George) guit
LINQ línquiu link

Ya puestos, pongo también como se pronuncia mi nombre: Édin (con la “i” un poco más larga de lo normal) y no Edín.

¿Tenéis algunos ejemplos de vuestra propia experiencia?

The Evolution of the Intranet Home Page

I have been thinking lately of the evolution I witnessed in the corporate intranets working on many SharePoint projects. In this post I’m going to summarize my thoughts on that evolution. This is also going to be a technology-free post.

The main difference between intranet and public web site is that intranets are not anonymous. The user browsing the intranet has a name and a username (and hopefully more than that) and this information can be used in many ways.

The “Classic” Intranet

The “classic” intranet in the prehistory of SharePoint was fairly uniform in the content it presented. Little or no information was personalized for the user that was viewing the page.

The content of the intranet was “pushed” to the intranet from centralized locations such as the News Center or the Announcements of different sites. Usually, there were few people actively adding content and all the rest of the intranet users were passive consumers of that information.

So much for the “dynamic” content that was being added. However, the most of the content in the intranet was static or nearly static: telephone listings, project and department descriptions and so on. That content rarely (if ever) changed.

In consequence, the Intranet home page reflected that approach. The “push” model distributed news that were prominently displayed. There was also a myriad of shortcuts, links and navigation contraptions that allowed the user to further explore the intranet.

SAP Design Guild Intranet 2007
SAP Design Guild Intranet circa 2007. Source: SAP Design Guild History

Naturally, this led to the unengaged intranet users. They just had no need to visit the intranet every now and then. Only a casual visit every now and then or a fact-finding necessity would cause the users to open the intranet in their browsers.

Some companies would leverage the user information to filter the information they see on their home page, such as showing only the information that is relevant to their department. However, the most of the organization didn’t have these problems as their volume of new information was low and filtering then served no purpose.

The “Social” Intranet

In the last 4-5 years the social computing technologies have made their appearance in the corporate world, after having taken the private user space by assault. The immediate nature of social updates and the viral-like features of popular content were seen as the cure for the unengaging, static intranets of the past.

The news section was being replaced or prominently complemented by a “wall“, “feed” or “conversation”. It’s dynamic nature ensured always-fresh content in the intranet. However, it also opened the way for information overload. From being starved to information death by old intranets to being choked by the sheer overload of information that is generated every day…in just a few years.

Ono Social Intranet with Beezy
ONO Social Intranet with Beezy. Source: Beezy case study

Social computing also features a network, where every users has connections to other users. It may be an explicit connection such as user follow action or an implicit connection such as having the same department. These connections are then used to show the information generated from the users the visitor is connected to. You could see documents and content created by the people you are connected to and hopefully this “social” filter capability would reduce the information overload to more personal level.

Office Delve pulled information
Office Delve pulled information. Source: Office support

This filtering by user characteristics such as connections, context and behavior is what is being called a “pull” model, where the information is pulled for the current user out of the vast information overload.

To Push or To Pull?

In the light of the rising popularity of the social intranets, we may think that the “pull” model is superior to the “push” model. There is some truth in this, but in my opinion the answer isn’t just that simple.

I think that the key of the intranet success is the information context. This context is the thing that separates the raw data from useful bit of information.

The “push” model makes the context static and uniform to all users. The “pull” model makes the context unique to the user. And the answer lies in a wise mix of both push and pull models.

All the content in the intranet isn’t the same. There is a need for global information (such as IT services outage) that could benefit from the push model. All the rest of the information is more or less contextualized. So, the “news pushed to every user on their home page” are clear candidates to be ditched in favor of the pull model.

The pull model makes the context social and user-centric. This is true for many situations: the content I have been interacting with, the content created by the users I have interacted with, the content about the topics I find interesting and similar derived situations. However, there is no single recipe: the fact that I follow a user doesn’t mean that I am interested in all the thing he or she creates and shares.

Here is a feature that is missing from many “social” intranets: the curated content. The act of content curation is the act of providing context to the information. We need users to curate, collect, collate and organize the content that is relevant in a specific context and then make this context easily findable. Wiki pages are perfect containers for curated content, for example.

Microsoft Curah! curated content portal
Microsoft Curah! curated content portal

Conclusion

The art of good intranet design is the art of wisely combining the three models: pushed, pulled and curated content to provide the best experience for the intranet users. There is sadly no unique recipe to share here, that’s why I call it an art.

It is also what makes intranet information architecture projects so exciting!

Azure App Services and SharePoint 2016

Yesterday Microsoft announced the availability of Azure App Services, a new high-level grouping of services for building apps on Azure cloud platform. According to the announcement blog post:

App Service is a new, one-of-a kind cloud service that enables developers to build web and mobile apps for any platform and any device. App Service is an integrated solution that streamlines development while enabling easy integration with on-premises and SaaS systems while providing the ability to quickly automate business processes.

I immediately saw “On-Prem SharePoint Server” in the list of the available connectors for Logic Apps and API Apps.

image

Also, SharePoint is visible in the API Apps catalog in Azure, too.

API Apps Marketplace

It has made me think that a SharePoint 2016 could, in theory, use the new Azure App infrastructure to run workflows (now called Logic Apps, similar to BizTalk orchestrations) that span multiple services: SharePoint, Exchange, public and private social networks, data stores and so on. The logic of the workflow would be based in Azure and it would consume the other services through the connectors. The authentication clould be brokered by the Azure AD.

I like the idea. Only the Ignite will let us know how much of the idea holds true.

What I Learned at SharePoint Saturday Stockholm

As I mentioned in my previous post, last weekend was well spent with the SharePoint Saturday crowd in Stockholm, Sweden. In this post I want to highlight what I have learned from it. It was very difficult to choose which session to attend , as I had my own session to worry about.

What I learned at SharePoint Saturday Stockholm 2015

JavaScript

There were two very good sessions about JavaScript in SharePoint.

The first one was called “SharePoint JavaScript, Doing It Right” and it was presented by Hugh Wood, very knowledgeable guy from Rencore (by the way, they are the makers of SPCAF, pay them a visit). He summarized his detailed posts on SharePoint JS inner workings. If you haven’t read them before, you don’t know what are you missing.

The other session was called “Mixing power of CSR with flexibility of KnockoutJs: three examples” and it was presented by Andrei Markeev. I couldn’t attend it but I spoke with Andrei and I am really looking forward to see the slides and the sample code. Andrei’s GitHub repository has some very good things to have in SharePoint arsenal: a CSR live tool (Cisar) and CAML JS console.

Workflows

The second thing I learned in Stockholm was just how awesome is the new workflow development experience with Visual Studio. SharePoint 2013 and Office 365 workflows use the new, external engine and all the calls are client-side code, either JS in SharePoint or REST API on your servers.

The session was called “Advanced SharePoint Workflow Scenarios” and was flawlessly presented by Paolo Pialorsi from PiaSys. If you haven’t heard about Paolo, which is very doubtful, he is the guy who wrote The Book on SharePoint Development and he’s one of the brightest SharePoint people I know. Check his slides and source code, there is a trove of information there. Grazie, Paolo!

Full-Trust Code to SharePoint Apps Transformation

Another session I liked was called “Transforming SharePoint Farm Solutions to the App Model” and presented by another Rencore genius and one of the founders of SharePoint Saturday Stockholm, Matthias Einig. He outlined the SharePoint development roadmap and the main obstacles from moving to the cloud. I think that it was a sober assessment of the state of SharePoint development right now.

 

Were you at SharePoint Saturday Stockholm 2015? What did YOU learn?

What to Expect from SharePoint 2016

Well, it has been doubted lately but Microsoft has finally spilled the beans on the next on-premise version of SharePoint. Office General Manager Julia White has posted the news under the title “Evolution of SharePoint” on the Office Blogs few days ago and it has stirred the SharePoint blogosphere quite a bit.

I won’t repeat Julia’s post but I would like to comment a little bit on the implications of the SharePoint 2016 as it has been described in it. In one of my prior blog posts I speculated about the future of SharePoint, and I can see that I haven’t been too misguided.

The SharePoint Continuum

One of the most striking things in Julia’s post is this diagram that illustrates the new SharePoint landscape. It has “blue” on-premise pieces and “orange” cloud pieces, connected with the arrow that says “Hybrid”. I have named it “The SharePoint Continuum” (but without Q, for these Trek-leaning among you)

Main-graphic-new-020215

For me it’s one of the most important clarifications in Microsoft messaging to the SharePoint customers in the last couple of years. It shows that Office 365 is not there to replace, but to complement your on-premise capabilities. It took me some time to get this message clear, and I can imagine how out-of-the-blue statements and unclear announcements made this easy to understand for the IT business decision makers (sarcasm intended).

So, now that we know that the next SharePoint Server will be there and it will connect, let’s make an educated guess about what it will bring to us. (Later, when I re-read this post in the light of Ignite announcements, I will check how clear my crystal ball was in making it).

What should IT Pros expect?

I am absolutely sure that IT Pros will have A LOT to learn about how to seamlessly integrate SharePoint Server 2016 with the experiences offered by Office 365. Now that Azure Active Directory (AAD) is emerging as “the” authority for hybrid scenarios for authentication and authorization, the roadmap and the guidance for enabling hybrid SharePoint experiences will become more straightforward and prescriptive. These hybrid experiences will be the lifeline that connects your on-premise environment with all the workloads that are kept “on the ground” with the exclusive experiences only available on your Office 365 tenant. Hopefully, the end user won’t see the seams in between.

Another thing that SharePoint 2016 will vastly improve is the administration, monitoring and diagnostics. This is a logical assumption to make as Microsoft has undoubtedly accumulated a vast know-how about how to run SharePoint core engine as smoothly as possible. I can only imagine that SharePoint 2016 will include this in the form of helpful administration pages, automatic recommendations (a la Health Checks but tapping into Microsoft “recipe” base) and hopefully a streamlined SharePoint log management.

I’d also expect some new and streamlined farm topologies, also drawing from the experience of running Office 365 continously. I am sure that SharePoint core services and processes have been trimmed for any excess resource consumption and we should be able to benefit from it.

What should end users expect?

The end users will hopefully have a very good time with SharePoint 2016. Let me elaborate.

If you don’t connect SharePoint 2016 to the cloud and keep running strictly on-premise, I expect that most of the obnoxious SharePoint annoyances to be rid of. I expect a more direct and clean UI, with prominent navigation (a la Office 365 “jumbo” bar) and deemphasized secondary options that light up as you hover. It would declutter the UI a little bit and would reduce the user distraction. I don’t see revolutionary new features, but a subset of what has already been made available for Office 365. Hopefully, some of the new Cards UI or the NextGen portals interactions will trickle down to SharePoint 2016.

Once your SharePoint 2016 connects in a hybrid on-premise/cloud farm, I expect that the end users won’t be aware of the change. They will consume “the experiences”, irrespective of where they are coming from. If SharePoint experts help design seamless navigation and information architecture, I can hardly wait to see hybrid environments where SharePoint does its best: run behind the scenes and out of spotlight.

The Groups experience is the new overarching “concept” that includes a site, email group, social group, common files and so on. I expect the UI to further deemphasize “sites” and “lists” terminology to favour “groups” and “apps“.

As for social, the message is clear: Yammer is the only official way forward. The on-premise social capabilities will stay at SharePoint 2013 level (as per Jeff Teper’s post at SPC14).

In Search capabilities, I expect hybrid search on-premise/cloud to work without any jarring discrepancies. New display templates inspired in Delve UI could only mean icing on the cake.

I really hope for InfoPath replacement codenamed FoSL (Forms on SharePoint Lists) to be there, but there have been no news about it since it was previewed at SPC14. I wouldn’t bet on it but maybe it will make the way to the SP2016 code.

However, I also can see a few SharePoint Out-of-the-Box capabilities disappearing. For instance, Business Intelligence capabilities will most probably be replaced by the new free PowerBI tier and somehow linked to the powerful cloud BI. PerformancePoint Services? Dead end.

What should developers expect?

I have to admit that my developer community will be the one facing most changes, but they will be good ones. As much as the shift from the full-trust code to cloud app model (or FTM to CAM, to keep Microsoft three-letter-acronym, TLA, strategy in place) is painful, it is also exciting. We will be forced to get out of the cozy SharePoint development box we have been living since the beginning.

I don’t drink app Kool-Aid and I certainly see the painful shortcomings of the new model. But, I have to admit that the Office 365 PnP Guidance is steadily evolving and the gaping API holes in CSOM are being patched. We will have to keep unearthing them and make enough noise so they keep being fixed.

The app model is not going to follow sandboxed code or auto-hosted apps, it will be the backbone of the unified SharePoint development model. I expect the manual steps in the development workflow to become streamlined (being honest, typing AppRegNew.aspx manually is a major PITA inconvenience). The AAD authentication and authorization with OAuth will take the place of ACS middleware, and I also expect high-trust apps to add a few refinements too.

The Office 365 API “abstracts” SharePoint, Exchange and OneDrive into Files, Contacts, Calendar and other business-like entities. I expect this “development continuum” to keep evolving:

  • Azure Active Directory (AAD) as the one-stop authentication and authorisation gate
  • Office 365 API as a task-oriented, high-level API for our apps
  • SharePoint CSOM/REST API as implementation detail, low-level API for our apps
  • And, of course, SharePoint full-trust server object model for these things we still can’t run in the cloud

As I said, developers will also have exciting times with the new SharePoint 2016. And the best thing is that the most of the playing pieces are already available on Office 365 and SharePoint 2013, so that we can future-proof our developments now.

Conclusion

In the official announcement of SharePoint 2016 few days ago I can find confirmation (of what I was thinking will happen) and clarification (of the message to the SharePoint community). I can’t wait to see what new scenarios we will be building on these new foundations.

The sky cloud is the limit!

What do YOU think? Leave a comment to join the discussion!

Where Are You Going, SharePoint?

I would like to do a short retrospective look to the rapidly-changing landscape of SharePoint in the last few years, followed by a personal opinion on the future of SharePoint. It is a fairly long rant piece, so it is advised to have at least 15 minutes at hand to read it throughly.

Note: It is obvious to me but won’t hurt to mention that everything mentioned here expresses my own opinion and my own opinion only. 

How SharePoint has evolved from 100% on-premise to hybrid and cloud

In the early years of SharePoint development, in the early 2000’s, the development on the SharePoint platform was restricted to the server-side code. You could only code what you could put inside the SharePoint box. Of course, the server object model let you do all sort of things, as it is the same model that was used internally by SharePoint (at least a significant portion of it). But, you were responsible for the performance and side-effects of that code as it was run inside the SharePoint very own IIS process or service. As long as you did your homework, the future was bright for you.

For the less prone to scare the IT people by stubbornly insisting on putting custom code in the SharePoint box, there was a second option: the ASMX web services. Clumsy as they were, they were the only option if you couldn’t (or wouldn’t) put your custom code in SharePoint servers.

Over the years, that approach was good and great. Best practices and guidance began to evolve and we saw less and less SharePoint "crime scenes" (as Matthias Einig puts it).

And then, Microsoft began hosting its own product, by launching SharePoint Online inside its BPOS (Business Productivity Suite).

Suddenly, Microsoft began feeling how it was to actually host SharePoint. They began to experience the same nightmares IT admins over the world had to experience when they wanted to patch their SharePoint servers. They weren’t shielded any more from the customers running SharePoint: they were the customer running it and they were responsible for their tenants and their SharePoint data.

 

image

SharePoint Online administrator Installing cumulative updates

During the first teething years of SharePoint Online, one thing emerged clear and painfully clear. It was the insight that what worked for a single datacenter doesn’t work for cloud environment, with multiple tenants. The customizations wouldn’t scale and what’s even worse, they would break with the frequent updates to the SharePoint version on Microsoft servers. Even with the stop-gap measure of sandboxed code, the customizations that involve code didn’t behave as Microsoft wanted for their hosting environment.

In other words, during the golden years SharePoint allowed massive customization with server-side code. You could build web parts, web controls, timer jobs, application pages and all sort of server-side extensions. You were allowed to shoot yourself in the foot and bring your SharePoint to a halt, because it was your own datacenter. You (or hopefully your governance committee) would decide what was more important. Also, you could put arbitrary code in your customizations and be happy with it. However, when you depend on your SharePoint servers running smoothly and flawlessly, it is only possible with plain-vanilla SharePoint structures with no customization. As careful as you were, there was always a penalty for your custom code. As for the security of that code, things such as CAS policies were a step in a right direction but many customers just turned their code trust level in web.config to Full and live with it.

How scalability and performance have taken precedence over customization

But, not Microsoft. Microsoft could not allow SharePoint Online to fail. Also, the prospect of selling monthly licenses instead of a one-time license was meant to inject significant cash flow into Microsoft Office Division balance sheets. Between the need of the "less desirable" one-time customers (who wanted custom code) and the need of Microsoft SharePoint Online cash cow (who wanted scalability and performance), the scales tipped to the side of the scalability (pun not intended).

So, things such as client object model and finally  "cloud application model" came to be. Your code was allowed, as long as it run outside SharePoint. The infrastructure was put into place to allow your code to call into SharePoint without the need for explicit credentials. Your calls to SharePoint were carefully securized, throttled and channeled to allow for non-customized SharePoint parts to run without being blocked or delayed.

SharePoint erred on the side of the performance, banishing server code on cloud deployments and slowly banishing (or deemphasizing) even the declarative customization. As long as you are fine with the evolving standard SharePoint Online features, you are good to go. Want more? Plug in an app, even if the client object model didn’t allow for all the richness of the functionality that server object model did. Your application would run on your servers, consuming your resources and leaving their SharePoint instances out of your bad influence.

What’s the future for on-premise SharePoint customers?

But, what Microsoft doesn’t seem to get (or does seem to ignore) is the reality of the corporate customers. SharePoint was never a software for small companies. Yes, you could run a SharePoint Foundation (or Windows SharePoint Services before that) and it was free, but the need for the corporate-scale collaboration and knowledge management that SharePoint ushers is something that goes with the medium and big companies, as it breaks department silos and culture barriers. Also, the hefty price tag for the SharePoint license didn’t help.

Now, SharePoint Online as part of the Office 365 package is affordable. Even smaller companies could take advantage of it. But, are they doing it? In my experience, the vast majority of the Office 365 customers in small companies are more interested in Exchange Online, because running a mail infrastructure is something every company does, small and big, while running SharePoint is something that is not everyone’s piece of cake. Whenever I listen to Microsoft marketing machine trumpeting about "millions of Office 365 users" I can’t help asking myself how many of them are only using Exchange Online out of the whole Office 365 package. (Answer: I don’t know but I imagine that a vast majority).

So, here we have Microsoft cranking out new features to suit their "imaginary" customers that want wizards, flashy UI and shiny settings, while the real SharePoint customers with deep pockets are placed between a rock (declining investment in new on-premise features) and a hard place (the fact that Office 365 deployments customization options are limited at best). They need freedom to customize their SharePoint to suit their needs, and right now the capabilities of the app model and Office 365 app model are just not enough. Not to mention the need for UI customization, which is the first thing that corporate customers want. They now have to jump through hoops just to deploy and keep their master pages, CSS and JS files from breaking with each SharePoint Online update. Not good.

As a side note, the need of the on-premise clients for top-of-the-notch social without hassle was the driver that made Beezy, the company I work for, possible. If that capabilities were available on SharePoint Server, we would be out of business even before starting.

That has been by experience with the SharePoint customers that are more or less "invited" to become Office 365 customers. Only a few of them venture into the hybrid world of connecting their on-premise farm with the Office 365 farm. In the future, this number will increase, but will it ever be so overwhelming as to dispense with the on-premise SharePoint. My opinion is that it won’t. We won’t see the end of on-prem SharePoint in the foreseeable future.

image

What lies ahead?

Why I so firmly believe this? First, the cloud is not fully parring the on-prem world. I know that SharePoint is just the "expression" of the solution for a business need, but right now going to the cloud makes you lose certain flexibility (in the depth of your customization) and gain another flexibility (on the deployment and operation costs). So, there is still a gap between what cloud enables you to do and what SharePoint Server enables you to do. In the future I believe that the gap will be closing, but not disappearing. Yet, the cloud will allow us to plug-and-play different services and technologies to build our solutions. It will widen our choice of options, not narrow it down.

I think that we will see more and more hybrid deployments but there will always be on-premise deployments with workloads that are only suitable for that scenario. Conversely, there will be (and there are) cloud-only scenarios such as machine-learning powered Delve and Outlook Clutter that can’t be deployed on-premises as it requires some really BIG data (pun intended) to work properly. But, for a big company with their own processes and dynamics, I just can’t see a cloud-only environment, no matter how hard I try to imagine.

However, the love SharePoint Server got from Microsoft during the last decade has gone to the new, cloudy sweet-heart: SharePoint Online. It is a fact.

I would like to imagine the future SharePoint Server (call it vNext or 2015 or whatever) to be more like Windows 8 than Windows XP. Windows XP had to be replaced with Windows Vista and it was a fairly traumatic deployment. But, Windows 8 was "updated" to Windows 8.1 with little or no hassle, and you ended up with very different Windows. In another times, it maybe would be called Windows 9 and would have to be deployed in a "traumatic" fashion. In the same light, I can imagine future SharePoint getting periodic updates (as Windows or Visual Studio do), with new and enhanced features, not only bug fixes. I can imagine that the main development branch is the cloud one, and that not all the features can translate to the on-premise version, but I can’t imagine a reason for not having that kind of quick, iterative development for the cloud that "trickles down" to the SharePoint Server periodically. Gone are the days of 3-year cycle for SharePoint Server, the cycle is now merely couple of weeks long. It is perfect for the cloud, but I think (and hope) that it will also add enhancements to the on-premise customers. Let’s face it, SharePoint is a fairly mature product with a broad set of features. What corporate customer need is not to have the latest eye-candy, "sexy" features but fixing the long-standing pains of basic, staple SharePoint features. I’m not saying that there is no value in the new features, there certainly is. However, there is no excuse for having half-baked functionality any more in SharePoint, online or not.

What’s the future for SharePoint specialists?

In the end, where it leaves us, the SharePoint developers, architects, consultants, Power Users, customizers and so on?

It is normal to feel a certain amount of dizziness and feeling of being let down. Microsoft messaging to the customers is something chronically ambiguous, although the transparency set by some of the teams in Microsoft is exemplary in the last years. They are improving. But still, giving mixed signals or flatly ignoring the rightful questions of the corporate users is making them question whether Microsoft commitment can be taken seriously. (Yes, I mean Silverlight and sandbox solutions and autohosted apps and so on).

Well, let’s face it: the world is changing. It never stopped changing. We can’t cling in the comfort zone anymore, if we ever did. I think that the pace of technological change has accelerated and with it comes a natural reluctance to change (I explain some of it in my Pluralsight course about human behavior). We have to embrace that change.

What does it mean? It doesn’t mean drinking the Microsoft Kool-Aid and firmly believing their marketing messages. They have all the right to send whatever signals they want, but we SharePoint specialists are paid to assess and advise our clients about their technology, not to repeat it like trained parrots. In many cases the message is perfectly valid, but in many cases it is not and we should know better. As I said before, SharePoint (and Office 365) were, are and will be the tools to build solutions for business needs. Not the solutions themselves. Sometimes, we lose track of this simple fact.

It means that we should learn, practice and keep raising the bar. We are on the front line of technology and we should be prepared. Luckily, it has never been more easier to learn new things and find guidance (The OfficeDev PnP team is just the example of that). Dedicate some time to play with the cloud, to experiment with apps, JavaScript and hybrid environments, to fiddle with Delve and Office Graph and to keep pushing the envelope. You will be acquiring new tools to build your technological solutions to business problems. That’s your job as a technology specialist.

What are your opinions? I’m eager to know them.

All images provided by Freeimages.com.