Category Archives: ideas

We’re at the most busy point of organising WebCamp Ljubljana 2016. One of the questions we had to ask ourselves is – should we record the talks? It seemed that in previous years, did it because Kiberpipa and everyone else too. As organizers, we want to question decisions made in previous years. This is why we decided to investigate our decision to record the conference.

The effort required

We have 3 concurrent tracks. That means we need 3 semi-professional cameras with tripods, external mics and all the electricity. To get all of this together, somebody has to prepare and source the equipment. The on the conference day, 3 people are recording and you usually need 1 person extra as a support. Then after everything is over, it has to be edited and published. A few more days of work.

How did we do in previous years?

I looked through the stats for the videos. I didn’t know what to expect, but our most viewed video had 650+ views and the second one over 500. Then it’s slowly dropping off but a number of videos with 50+ or 100+ is still not too bad.

The real impact

One of the questions was – isn’t all this already taught through blogs, books and other conference recordings? And I believe that this just isn’t true. We’re still recording only a small amount of tech content. In addition to that, some speakers resonate well with us, while others we just can’t stand. Numbers show that people are watching and sharing the videos and that we help speakers have longer lasting impact.

So that made it really easy to decide to invest the effort on recording this years WebCamp again.

Meritocracy is now a bad word. It’s increasingly used to describe communities that are built around outspoken individuals. They often don’t have clear rules and code of conduct.

Alternative to that, is mentorship or apprenticeship driven community. In this model, new members are given clear roles and are presented with the expectation and rules. They are also assigned a mentor that makes it their priority for them to succeed.

This model doesn’t necessary clash with the idea of meritocracy, but it makes it much less likely. In order to make on-boarding new members efficient, itrequires that these processes are written down. This removes a lot of power from individual members, as they can’t arbitrarily decide on what they want from new members.

I believe that such model also allows for greater diversity inside the group. Removing individuals’ discretion forces community to make it easier for more diverse group of members to participate.

Code of Conduct

I think that having a Code of Conduct is a basic building block of such a community. It doesn’t mean it’s welcoming or healthy, but it greatly increases the chances when coupled with clear on-boarding path.

Further Work

15 years ago we got the Joel Test. It presents 12 questions to ask your prospective employer. Since it came, a lot of these are given and things improved a lot.

I think we could benefit from having a similar test for online and offline communities. I sure don’t want to waste any more time with larger communities without CoC and without designed onboarding process.

I’m addicted to learning. So it was refreshing to find another group of people, that are similar minded. During lunches and dinners, I asked people to recommend me their favorite books and audio books.

I’ve written down only the ones that were new to me. I still ended up with a huge list. I plan to go through it in the next few months.

Let’s be honest – our tech community is slowing down. We’re organizing less meetups than in previous years. Without them, we’re losing the culture of sharing. While everyone focused on entrepreneurship and startups, we took engineers and developers for granted. This means that we now have less senior developers available, than a few years ago. Good ones are not working for local companies anymore. So who trains the novice developers?

This will be a problem, for many different groups of people.

Developers need to talk to other developers

We’re not challenging each other with new approaches and ideas. Reading on the internet about some new tech, is not enough. You want to have a a discussion with a person that just implemented it. Building on experience of your peers, is the best way to kickstart the project.

Technical leads need success stories

Nobody wants to be the first to try something new. So seeing smaller success stories, makes it easier to start your own. You can also contribute to a small niche of consulting and training. If your company starts to invest into one technology, more people will join you. That way you’ll have access to extra talent, if you need it.

Entrepreneurs need their developers to be able to teach

Great tech companies brag about their solutions. Not the CEOs, but their developers. Every chance they have, they’ll talk about hard problems and how to solve them. In a world, where we keep producing CRUD applications, it’s hard to find novelty.

But that only happens if the company encourages them. First they have too see their CTO’s and lead developer give talks. Sponsor event and host them at their offices. Once you have good role models in place, it’s much easier for everyone. They have to encourage and give space to younger ones, so they can practice. It also means that they recognize that learning goes both ways.

This has an added side effect, that makes it easier to recruit new developers.

OK, enough problems – what are the solutions?

Easy way – send everyone to conferences abroad. There are many excellent conferences around Europe, any many of us are there. But it’s often the same people. The same people that alreadygive talks and organize events. It’s also likely that they’re not working for a local company. Distributed companies are not picky where their developers live.

It’s also rather expensive.

So that leaves us with the hard solution. I checked the stats of a few different meetup groups. Most of them seem to do 2 – 3 meetups per year. Looking at speakers, they come from a small group of developers.

That’s troubling, because it leads to burnout and lack of new ideas. There is only so much you can learn in a year.

To make this work, we need to inspect the building blocks of a good community. We already have shared interests in different technologies. We wouldn’t be visiting these events otherwise.

What we need to figure out

1. How do we get more people to organize events? Can we encourage small group of people to take care of certain domain. That way the pressure is not on the individual.

2. How do we find new IT companies. Slovenian IT sector is larger than the 5 startups we see everywhere. It’s good to see them paying it forward, but what about the others? If you look at all the companies that are hiring – why are they not present? Why don’t we see CTOs from marketing agencies talk and sponsor?

3. What kind of support do they need? It a problem to find a space, make announcements or something else? Can we build a network of individuals that can help out. That way we don’t need to negotiate about the space every single time.

4. What else? Is it something more simple – like just having a set schedule and following it?

When I wrote the description of local WebCamp, it was simple. We’re doing this event, because that’s the kind of community we want. I believe having active meetup scene, follows the same ideals.

But it’s an issue that is bigger than any individual. We need to recognize that it’s a problem and start doing something. Not just organizing events, but getting more allies on our side. Teach business and marketing professional the importance of tech community.

It’s easy to get stuck in a filter bubble of technologies that we use to solve our problems. Good conference will challenge your view on how you solve problems and present novel concepts. Mloc.js (million lines of JavaScript) was such a conference. Main idea behind the talks was how to manage projects with such a wast code bases.

Things I learned, that will influence my future projects:

Reactive programming is growing and it looks it’s going to stay. One way bindings and data flows make it much easier to manage state in Single Page Applications.

One way bindings with immutable data, fit well with functional programming. A lot of new experiments are in FP domain.

Compile to JavaScript is the way forwared. ES6 is nice, but currently the money is on building better tooling, instead of staying with JavaScript. TypeScript looks like a good starting point. Having types allows for better static analysis and IDE integration.

Concepts like graceful degradation and progressive enhancement are out. The only context in which people care about HTML is for Search Engines. If you can render good enough version of Website for Google – you don’t have to worry about anything else.

It seems that new solutions target only evergreen browsers.

I do see a lot of challenges. We’ll have to train people to understand FP. Now it’s a good time to pick up your Haskell book, once again.

I’ll also have to switch my tooling to TypeScript and replace jQuery with another layer of abstraction on top of it.

Jay for the speed of progress and the fact that I now how to learn completely new skills, while still staying ‘just’ a web developer.