Unfortunately we missed last year due to the world pandemic situation... so it's going to be even better this year!

Friday 22nd October 2021

09:30
0
Fully automated: From commit to production - Part 1
Workshop by Arne Blankerts in Twilio's track (3 hours, 15 minutes)

In 2021, manually performing repetitive tasks like running tests, compiling assets and deploying software to production are a serious waste of developer time and is often even considered scary and annoying. Maybe because it comes with a high chance of breaking things? Either way, time to automate those pesky tasks away! Using Gitlab, in this workshop we'll setup a CI Pipeline from scratch to have the tests run, assets compiled, our software nicely packaged and deployed. The only thing missing is you - and your decision whether or not you dare to automatically activate your new release!

12:45
0
Lunch in Twilio's track (1 hour)

Seated lunch for anyone who either attend both half-day workshops or the full day workshop

13:45
0
Fully automated: From commit to production - Part 2
Workshop by Arne Blankerts in Twilio's track (3 hours, 15 minutes)

In 2021, manually performing repetitive tasks like running tests, compiling assets and deploying software to production are a serious waste of developer time and is often even considered scary and annoying. Maybe because it comes with a high chance of breaking things? Either way, time to automate those pesky tasks away! Using Gitlab, in this workshop we'll setup a CI Pipeline from scratch to have the tests run, assets compiled, our software nicely packaged and deployed. The only thing missing is you - and your decision whether or not you dare to automatically activate your new release!

0
Automating Specifications with Behat
Workshop by Ciaran McNulty in Engineor's track (3 hours, 15 minutes)

Behaviour-Driven Development is a set of techniques that use example-driven conversations to define how an application should behave. In this workshop we will see how business specifications can be discovered through techniques like Example Mapping, captured as Gherkin features, then automated alongside development using Behat.

18:00
3
Pre-conference social in Twilio's track (4 hour)

To be announced

Saturday 23rd October 2021

08:30
3
Registration in Twilio's track (45 minutes)

Registration, morning coffee and meeting your old friends or finding new ones!

09:15
2
Welcome Remarks
Social Event by Iain Iveson in Twilio's track (15 minutes)

Welcome note from the organisation team

09:30
5
Keynote
Keynote by Gary Hokin in Twilio's track (50 minutes)

Surprise!

10:25
6
Git advanced
Talk by Pauline Vos in Twilio's track (50 minutes)

You're a software development consultant called into DevCorp with a mission. What started as a hip, informal startup now has investor demands to meet. And they're counting on you to help them become a scale-up. How do you grow the existing team and maintain the codebase? This interactive talk, intended for any developer of any level, will give you some valuable technical and soft skills to take with you on your real-life professional journey. Using a voting system, the audience decides... and has to live with the consequences. Based on a mix of personal experience, agile methodology, and software design principles, this story has several possible endings. Will you help lift your team's performance or run DevCorp into the ground?

2
PWA Fundamentals: websites with superpowers
Talk by Rowdy Rabouw in Engineor's track (50 minutes)

The term Progressive Web Apps was already coined in 2015 and nowadays the browser support for it is excellent, so it's really time to embrace it. This talk brings you up to speed about the importance and benefits of turning your website or web app into a PWA and gives you practical information on how to do that. Ever heard of Manifest File, Service Workers, Cache API or Fetch API? We'll walk through these key features one by one.

11:15
1
Break in Twilio's track (20 minutes)

Morning coffee break

11:35 Hack The System: Common ways to attack your platform
Talk by Liam Wiltshire in Twilio's track (50 minutes)

Security is a common concern at the moment. There are regular stories about companies large and small having their applications hacked, data being leaked, and cards being stolen. Any application could be targeted, and as developers we are responsible for ensuring that the data our users provide us remains secure. Thankfully, there are common patterns and vectors that are used, and by knowing the basics of these, you can protect your application from a large number of such attacks. Join Liam as he demonstrates some of these common vectors, and discusses how you can protect against them.

Asynchronous PHP
Talk by Florian Engelhardt in Engineor's track (50 minutes)

Your script is constantly waiting. For the database, the e-mail server, the HTTP server of any service, a file from the disk or even for the RAM. And with it the customers wait. I want to show how with an asynchronous architecture, RabbitMQ and ReactPHP the waiting time is significantly shortened and that sometimes you do not have to wait.

12:25
2
Lunch in Twilio's track (1 hour, 15 minutes)

Seated lunch in the main room

13:40
0
Embrace the pitfalls (Our stop start journey to Change)
Talk by Stacy Cashmore in Twilio's track (50 minutes)

As developers, we want to work in a modern way, to get fast feedback on what we are building to make sure that we are building the right things in the right way. However, many companies are still at the start of their journey. Things take longer than we would like to get moving, sometimes change can seem to happen at a glacial pace and whilst you are ready to try and run, others are finding their feet - or even digging in their heels! In this talk, Stacy will go over some of the pitfalls that have happened to her, and the lessons that she has learned from them. Unfortunately, there are no magic solutions to make the problems go away, but hopefully, you can look at the mistakes she has made and go away to make your own new ones to learn from!

3
Onboarding junior developers
Talk by Mike Oram in Engineor's track (50 minutes)

Hiring junior developers is a brilliant way to bulster your team without the high-cost of experienced developers. Many developers dread hiring and working with junior developers, how do you know if they have the right skills? What should your expectations be? Once you've found the right person, how do you make sure they are getting the support they need? Maybe you're terrified of lots of hand-holding, or maybe you're excited because you get to pass on your experience. Either way, it's in everyone's best interest that they succeed. This talk is perfect for both junior developers joining a new team and developers who work with (or will) junior developers.

14:35 The Making of a Great API
Talk by Rob Allen in Twilio's track (50 minutes)

Everyone is writing APIs but what makes a great one? I will take you on a tour of the most important features that you should think about when creating an API. These ensure that your API plays well with HTTP and make your API a delight to maintain and work with. Give your API a competitive edge by making it great and developers will want to work with it.

MySQL with🔔&🎵
Talk by Thomas Shone in Engineor's track (50 minutes)

Dive into MySQL to explore our Cargo Culting behaviours and the inner workings of MySQL that explain how the Cargo Culting formed and some useful tricks you may not know about. * What happens when a table doesn't have a primary key? * What does a sane primary key look like? * What is a clustered index? * How do indexes work? * How should I design my indexes and how do I know if it is actually being used? * What tools are there out there to make my life easier?

15:25
0
Break in Twilio's track (50 minutes)

Afternoon coffee break (or anything else you may want to drink really!)

15:45 Tips for Tackling a Legacy Codebase
Talk by James Titcumb in Twilio's track (50 minutes)

You’ve started a new job. As you dig deeper into the codebase, the WTFs per minute rate rapidly increases, and you’re left wondering... “Where do I start?!”. In this talk, I’ll draw on my own experiences of joining several different teams to help upgrade their legacy codebase. I’ll show you what approaches were tried, what worked, what didn’t work, and how things could’ve been done differently You’ll come out of this talk with some ideas of how to tackle your own codebase and make it easier to refactor.

1
The absolute beginner's guide to Test-Driven Development
Talk by Neal Brooks in Engineor's track (50 minutes)

Automated testing; we all know we should do it, but not everybody knows how to do it well. It can be hard to get started with, and getting it wrong actually makes testing harder! There are so many questions for beginners: - Should you aim for 100% code-coverage? - Should you test getter and setter methods? - Where does a unit test end and an integration test begin? - What is a mock (or a fake, or a spy, or a stub)? - Why bother with unit tests when you can cover everything E2E? Having worked in several teams spanning the entire spectrum of awful-to-excellent testing, I want to show you some simple steps that will get you up to the realms of 'top-notch' straight away. In this session we'll take a look at an example application and see how to develop new features which are tested appropriately. We'll introduce new concepts clearly and with examples, and we'll look at how to improve existing tests when an organisation gets it wrong. No existing testing knowledge will be required to be able to understand this presentation, but you'll leave the room feeling like an expert.

16:40
6
Keynote
Keynote by Jessica Rose in Twilio's track (50 minutes)

Subject to be announced soon.

17:30
2
Closing remarks
Social Event by Thomas Dutrion, Thomas Dutrion in Twilio's track (20 minutes)

Ending the day of conference and opening the festivities for the 5th anniversary of ScotlandPHP!

17:50
1
Post-conference Social in Twilio's track (6 hour)

Celebrating the 5th anniversary of the conference, details to be announced soon.