DrupalCamp Bristol 2017

7 July 2017

Drupal has a thriving community in Bristol and the south-west, and they’ve
put on some excellent events over the last few years. Last weekend they had
their third DrupalCamp Bristol, and I was fortunate to be able to attend and
speak.

The day opened with a keynote by Emma Karayiannis
on self care and supporting others within open source communities.

Emma shared some of her contributions to Drupal, where she is part of the
Community Working Group and track chair for the Being Human sessions at DrupalCon.

Look after yourself. Don’t feel that you can only contribute a little bit or that your opinion doesn’t matter. Just find something rewarding and start small. Getting involved can be daunting, so get to know the part of the community that deals with your interest, ask how to get involved and ask for someone to help you.

Burnout is real, and happens much more when we work alone, taking on lots of
responsibility without anyone to partner with. So look for someone to
co-work or co-lead with rather than try to be a lone superhero. It gives you
the freedom to step away if necessary.
Ask yourself: if I had to stop this tomorrow, what would happen?

It’s easy to become overwhelmed without realising it. You need to regularly
check you’re looking after yourself, are still motivated, and aren’t taking
on too much. Be accountable to your family, colleagues and friends,
and step back if necessary.

Look after others. It’s healthy for an open source community to have
people who think differently to you. Be respectful of other people and aware
that miscommunication is very easy online, particularly with people whose
native language is different to yours. But also accept that you’ll never be
able to make everyone happy.

Make sure the people are really ok even if they appear fine.
Experienced contributors, remember that you were once a beginner,
and provide opportunities and safe spaces to include new people.
Appreciate people for who they are and not just the work they do.

After a short break we split into two tracks.

Deji Akala provided an interesting look into
the technical details on what happens on each page request. Along the way
he summarised various parts of Drupal and concepts such as the autoloader,
symfony handlers, the service container and event handling.

It’s an interesting exercise to unpick the index.php file line by line and
discover what happens behind the scene in a single line of code:

$response=$kernel->handleRequest();

I then gave a short talk about Composer and Drupal.
I’ve spoken to a number of people recently and it’s become clear that there’s
still a bit of confusion surrounding how to use Composer with Drupal.
I certainly found it unclear and started to look into it.

I pitched this at beginner developers, and the main things I wanted people to
go away understanding were:

what the require, update and install commands really do

the difference between Drupal itself and the various template projects available

That was the first time I’d given that talk.
It felt a bit raw but led to some interesting Q&A time, and it’s given me
valuable insight for enhancing this in future.

To others contemplating public speaking - do it! Events like this are an ideal
place to start, everyone’s friendly and on your side. You’ll gain knowledge,
experience and friends from doing it. I was really glad to see that several
of the speakers here were first timers - well done!

Ross Gratton shared some insights into
using front end task runners like Gulp with Drupal.

Ross has been working on a large Drupal site utilising several themes,
in 24 languages and with over 125 custom modules. He discussed the pros and
cons of different architectural decisions, such as where to put source code
and assets, what to put in version control and how to manage conflicts on
such a large site.

He then shared some of the process of separating assets out to the brand level
as opposed to a project level, treating a style guide or pattern library
as a separate deliverable.

After lunch, George Boobyer spoke on web
security, a topic often overlooked in the planning and budgeting of projects.

Security is perceived as complex but isn’t that hard, and any effort you make
is rewarded. Recently we’ve seen a lot of ransomware attacks, but often
these just have the same impact as a disk failure, so alongside keeping
software up to date, have backups and test them.

George gave some examples of websites that had been attacked and were now
hosting spam content, very often not visible to the naked eye but only to
search engines. Often user data is obtained by way of database dumps that have
been left accessible to the world - don’t put these in the document root.

Ana Hassel shared some insights as a
freelancer. As a site builder, Ana has been able to use Drupal to focus on
her clients’ needs and come up with a repeatable process for estimating
and selling her work.

Ana also shared how she had invested some time learning the learning the
command line and setting up scripts for everyday tasks. This had given her
a better, more repeatable workflow and more predictable deployment and
hosting.

An interesting perspective on personal development came from Johan Gant. I felt it complemented Emma’s keynote
well with some recurring themes, and gave the day a nice mix of technical
and human elements.

Johan covered issues such as Imposter syndrome, depression
and burnout. Burnout often comes from a lack of engagement, and seems to be
a particular risk for knowledge workers. If the values you have aren’t aligned
with those of your employer or project, you can burn out very quickly.

Be selective about what you learn—patterns and techniques will last for a
long time, whereas frameworks come and go. You need to make time to explore
new things, but make sure you are following your interests rather than trends.
Avoid stagnation—ask yourself if what you’re doing is satisfying.
It’s healthy to seek new challenges, but means getting out of your comfort zone.

Lee Stone finished by sharing about how his
organisation does extensive code reviews.

As well as preventing bugs, code reviews aid in training.
New developers can learn the business by reading code, and junior developers
can grow by asking why something is the way it is, or by asking about things
they don’t understand. They often bring fresh ideas this way.

It’s important to review the code, not the person writing it.
So don’t make these things too personal, and don’t take them personally!
Prefer terms like “we” rather than “I” and “you” to foster a sense of team,
and provide solutions rather than just stating something’s wrong.

After the talks we headed to ZeroDegrees in Bristol for a social time.
It was great to catch up over dinner with people I hadn’t seen for a while,
and make some new friends.

Thanks to everyone who helped make DrupalCamp Bristol such a great event.
See you next year!