What is the Alphawave Software Guild?

Diederik Hattingh
Alphawave
Published in
5 min readAug 22, 2017

(Shields and/or swords will not be company provided.)

Since we are 6 companies building software and software related products in the Alphawave group, we started thinking there must be a way of sharing all this knowledge and experience.

One team might find that a specific technology is a really good solution for a particular kind of problem, and it would be a shame for all the other teams in the group to rediscover that truth from scratch.

Since we are not co-located any more, the natural intermingling around the coffee machine doesn’t happen anymore. Software people will have to make an effort towards knowledge sharing explicitly.

Enter the idea of Guilds

Doing some research on the topic, Richard Barry found Spotify’s solution to this problem and saw that it might work for our environment.

A Guild by their definition: a community of members with shared interests. These are a group of people across the organization who want to share knowledge, tools code and practices.

Obviously our problems are not an exact match to Spotify’s. They have one main product, and all their teams mostly pull in the same direction, albeit on different platforms. We have multiple products being built by multiple teams. Like with so many ideas we hear about and try to apply to our teams, we will have to adapt it to fit our needs.

Swords and shields optional https://angelfire7508.deviantart.com/art/Sword-and-Shield-original-47378670

Working on health

The Software Guild, by our definition, will be an organisation that spans across all the companies at Alphawave. It will be responsible for software team health. Just like your real health, you must work at it to maintain it. (That bike isn’t going to ride itself!)

Our idea of a healthy software team is one that releases amazing, working software continuously to happy customers.

All of our activities outlined below uses this a starting point.

Don’t get stuck!

More fundamentally, if any software team finds itself stuck doing things the same way it has been done 10 years ago, there is a risk of the competition outmanoeuvring them with newer tricks.

The Guild activities are designed to prevent this from happening. It should give participants an opportunity to look up from their work, and see what else is happening in other teams at Alphawave, and the broader software world.

This in turn should lead to more effective solutions, using appropriate modern tools and techniques and ultimately more productive software teams.

Too busy to improve? https://hakanforss.wordpress.com/2014/03/10/are-you-too-busy-to-improve/

Who can join Guild activities?

Participation of the Software Guild is open to anyone that has an interest in Software development. Even if their role is not directly related to software development, they will still be welcome.

What we will do as part of the guild?

Learning from each other

Members of all teams get together once a month and discuss on a technical software level, things that they have encountered recently that works well, and that they think other teams can benefit from.

Our recent meeting discussed testing in its various forms (mostly unit tests) and multi platform mobile development environments. (Xamarin and Ionic)

Tech and methodology db

Instead of asking blindly around who knows about technology X, maintain a publicly accessible database of who knows what and has worked with what in the recent past. This will give you a quick idea of who to ask for advice about specific technology stacks, and get you talking to the right person faster.

Book club

Being a developer means you will never be done learning. Some might say that is part of the fun.

Even though they were invented hundreds of years ago, books still remain a good source of knowledge, even for programming.

We vote for a book, and read a few chapters each week, and discuss what we have learned or disagree with. These discussions are almost always illuminating, and even people that have skimmed the reading that week, usually pick up something new.

The two books we have completed so far are Code Complete 2 and Agile Software Development. Let me know if you have suggestions for the next one.

Lunch time videos

Interesting programming videos are quite easy to find online, and we usually watch them together over lunch, and then have a quick discussion about the video afterwards. (Watching the video can be done asynchronously.)

Inter-team moves

Keeping good talent is obviously important , but people being humans they, sometimes need a change. To have them leave your team, but stay in the group is a better alternative then losing them to another company.

When a need is identified, and a team member wants to move, the Guild will try and make the transition as smooth as possible for all concerned.

Everyone jumping ship every few months probably isn’t going to work out, but being able to give people their best options for growth will work out as a net talent gain in the long run, we believe.

Recruitment

Software development has become more and more the lifeblood of Alphawave. This means that we have to ensure we keep our hiring standards as high as possible. The commonly thrown around factoid is that the difference between a good developer and a below average one is a factor of 10.

Working with some of the best developers in the industry also inspires all other developers to do better, and keep writing awe inspiring, near flawless code.

Your idea here

The Software Guild is still young and developing, and we don’t believe in having anything set in stone.

Cast in jelly
— Sam Clarke

Feedback is always welcome, and we think incorporating new ideas will just increase the value the participants get from the Guild.

We hope it will be a success and help all our software teams learn a few new things along the way.

Expect new posts as the Guild idea evolves. Let’s see where this takes us!

--

--