Sessions
A Blueprint for Debugging Poor Mental Health in the Tech Industry
The UK tech industry has up to five times more incidences of poor mental health amongst its staff than the UK average. This session explores why this could be, what the hotfix is, and who exactly should be on the solution development team.
We are more than just a human interface and normal operation is not a simple concept. Each and every one of us has our part to play in the user flow of debugging this issue.
It is not a quick fix. It is not an easy fix. It is, however, an issue which needs to be brought to the forefront so that our staff are empowered with the toolkit to help themselves and others before this epidemic gets out of control.
If we do this, then everyone is a winner. Well staff, mean well organisations.
This is our call to action.
A Journey into Engineering Leadership
In the space of 2 years, a local Site Lead found himself on a path from managing a small team of 17 engineers to running engineering for one of three business segments at a global technology company.
In this session, Phil Wilkinson will use stories from his journey at Flexera to encourage aspiring tech leaders from Northern Ireland and provide insights into the challenges and exhilaration of engineering leadership.
A Stranger in a Strange Land: Data Science Onboarding In Practice
With Data Science being the current hotness, it’s appearing in job specs and linkedin posts more than ever. However, for an organisation attempting to invest in Data Science capabilities, how do you introduce, accomodate, and indeed, welcome these new skills into your production data workflows, and what tools can be leveraged in data exploration to understand the inevitable data cruft, technical debt, and documentation atrophy that comes from any large production service over time?
In this talk we’ll walk through some of the practices I’ve arrived at as someone who joined an organisation with no previous Data Science capability, and what tools I recommend to new hires (and intrigued colleagues) to understand complex production datastructures.
A Year on the Go
Much of the modern use of Go centres around backend infrastructure for websites, but it is touted as a modern systems programming language. This session will talk about the speakers experience of coming to Go from a C background and working with it in an environment where previously C or C++ might have been used. It’s intended to provide the audience with an overview of the advantages and disadvantages experienced while developing with Go instead of C, without going into full scale advocacy about either or veering off into alternative languages.
Becoming senior
Advice and anecdotes about becoming a senior software engineer.
I’ll be talking about what it takes to get to senior, what it takes to succeed when you’re there and some common misconceptions along the way.
Build vs Buy- AI in production
AI is becoming more and more accessible, providing everyone with the capability to integrate intelligent decision making into their apps. AI services have made machine learning available on-demand, from language classification to object detection, raising the question-is it best to design your own model to solve a problem or pay for a service to do it for you?
This talk will cover the key differences between build-your-own ML models and pay-as-you-go AI services, how to identify which offers the best solution to your problem, and how you can get started.
Building and marketing an open source serverless product from scratch with 0 budget
Let me take you on an 8 month journey that started at re:Invent 2019 where I had the inspiration to build a serverless product that if you fast forward to today has been featured in multiple serverless newsletters, been spoken about by AWS heroes, used to enable organisational goals and blogged about by AWS themselves.
In this presentation I will: - Tell you the origin story of CDK Patterns - Talk about using the product mindset to build an MVP - Show you how I marketed the product with a £0 budget - Give you the advice I wish I had when I started
Buildpacks - The future of containers?
Cloud-native buildpacks provide organizations with a way to build consistent, more secure, and more efficient docker images. The session will be a deep dive into Cloud-native buildpacks, and how they work when compared to traditional Dockerfiles. The session will also explore the benefits and tradeoffs when transitioning to build packs and how they solve some of the industries most challenging problems.
Cache-Driven Testing
How to use caching to bridge the gap between end-to-end testing and continuous integration, in order to create Behaviour-Driven Tests that are fast to run, intuitive to develop and will stand the test of time.
Changing Airplanes Mid-Air - The Cloud-Native Way
Flying is one thing. Trying to justify to 100 people why you should change planes mid-air is another. Actually ferrying people between 2 planes while in-flight is near impossible, but we made it work. This is a series of short stories that talk about the process we undertook to transition to Kubernetes, shifting our continuous integration and release process to Azure DevOps and the future for our Systems Architecture. We will discuss the real examples of how we accomplished retro-fitting our legacy systems, some of the teething problems with a new container orchestration workflow and championing the great benefits of the Cloud-Native approach, that we’ve attained since beginning this process a little over 12 months ago. We will also talk about organisational and communication problems that result with big ticket changes and keeping the passengers happy and calm when the engine is on fire.
Coding for a Live-streaming platform
Live-streaming platforms like Twitch, Mixer, YouTube, etc. have been gaining popularity in recent years, especially during lockdown. What are developers roles within this growing industry?
My talk will focus on some of the unique coding challenges a live-streaming platform can offer developers, such as informational alerts, viewer and audience interactions, games development, etc. The second half will go into some coding examples, covering web development, IoT integrations, and more!
This talk should enlighten developers of any skill level on how they could leverage their existing skill set and adapt it to challenges unique to live-streaming platforms.
Continuous Application Security
I will be talking about what Continuous Application Security (CAS) is and the benefits that it has over the traditional approach to application security that are over reliant on manual processes and lengthy scans.
CAS breaks down scanning processes into specific checks that run continuously and accurately during the development process. It also enables timely response to new attacks and vulnerabilities that emerge in both custom code and third party components. It helps development and security work together effectively, enabling them to create, deploy, and operate applications faster and more securely.
Key takeaways: - What Continuous Application Security is - Overview of IAST & RASP - How it fits into a DevSecOps pipeline - The benefits of CAS over SAST & DAST
Disclaimer that my employer’s product is in this area so I will be using it to visualise some of the points I will be making, but it won’t be a sales pitch!
Creating Your Own Domain Specific Language For Fun And Profit
Language is that which brings us together, but it can often be that which divides us as well. Human language is often inexact, which can lead to serious issues when it is used to try and define complex business requirements. Studies have shown that issues from misunderstanding requirements are often the most costly to fix and can even undermine entire projects. How can we prevent this from happening to us?
In this presentation I will talk about how I was faced with an extremely complex business scenario ten years ago in a customer-facing insurance website; a set of intricate requirements about insurance coverages for property and auto policies that had to account for differing laws across all 50 US states as well as different types of policy and policyholder. Historically this had accounted for almost 75% of all defects within this application. To solve this we decided to use a Domain Specific Language (DSL). Working together with the business we created an unambiguous language for the requirements that was specific enough for us to automate the process of turning it into rules-format code that we could use within our application. As a result we were able to reduce the number of defects caused by this area to almost 0%.
That was ten years ago. How would we solve this problem today? What new tools are available to help bridge the gap between desire and results? In this talk I will try to answer those questions. I’ll also talk about how to develop a business case for using a DSL and collaboration techniques to help create the common language. Hopefully you will leave this talk with some powerful new tools for the next time you find yourself spending more time explaining what you want than building it.
Developer’s Intro to AR: Build your First App in 1 Week!
Are you a developer who’s never explored Augmented Reality? Scared of game engines? Just wanna impress your mates during lockdown? Join me on a journey to create your first AR mobile app in just 1 week!
AR is one of the biggest technology trends right now, and it’s only going to get bigger as AR-ready smartphones become more globally accessible. It can be used to solve real-world problems by merging the real and digital world, via a digital overlay of graphics and interactive features.
You may think AR is only used in Snapchat filters - Valuable solutions can be seen across many industries such as Healthcare, Manufacturing, Education, Tourism and Retail. For example, IKEA’s Place app uses AR to let customers see how their furniture could look and fit into their own homes.
In this talk, you’ll learn the brief theory behind AR, how you can setup a base project in Unity and further technologies to get you started - Giving you the core knowledge needed to let your immersive imagination run free!
Developing for Developers
As frontend developers, typically when we build sites and apps, the user we are concerned with is the end user, looking at our product in their web browser or via an app. But what if this isn’t the case?
When building a component library, as well as considering end users, we must now also consider the needs and the experience of other developers, those who will be using our components in their own development work.
What effect does this have on how we work as creators? How do we ensure a good user experience for both developers and end users? Where do design, product and other teams fit into this flow?
We’ll look at these questions and more along with some potential answers and real world examples.
DynamoDB for the Rest of Us
An introduction to Amazons DynamoDB - one of the fastest growing databases in the world. Dynamo is notoriously hard to grasp - but this talk should make life much easier for anyone to get started with this awesome database.
Efteling in One Day
Efteling is a European theme park in Holland originally opened in 1952, inhabited by roller coasters, fairytale creatures, medieval knights and a mysterious court jester. The question - is it possible to visit every attraction in a single day, or do we need to book a second?
This practical implementation of the Travelling Salesman Problem, a classic Computer Science problem, will demonstrate different methods of calculating the time required to visit every single attraction at the Efteling theme park. Or is this question just too big for one computer to handle?
Empathy as a Super Power
Empathy is a Super Power!
It’s a key ingredient in the development of products that people love, and in the creation of high performing teams. It is cited as one of the core future skills for work by the OECD (Organisation for Economic Co-operation and Development) in it’s ‘Skills for 2030’ report.
However empathy is also a skill the world is critically lacking in at the moment. Barack Obama has referred to this as an ‘Empathy Deficit’ - and called it ‘more important than the federal budget deficit’.
So - what exactly is empathy, and more importantly, how can we become more empathetic?
This talk will cover the definition of empathy, why it’s important, and how it can be used to build better products. More interestingly the primary focus of this will be that the first step to empathy is understanding oneself.
Gone are the days of exact matches (SQL joins)
When in a project, we have a requirement to find matches of two columns and exact joins are not doing well, then we have to use less exact match using fuzzy matches logic. Through this session, I am going to introduce few techniques like cosine similarity, Levenshtein distance etc. There will a brief discussion on SQL Joins followed by introduction to fuzzy matches.
Helm: Making Kubernetes Easy
This talk is an introduction to Helm; a Kubernetes abstraction tool. At a high level, it will cover: - What Kubernetes is - Why someone would use Kubernetes - Common problems with installing Kubernetes resources - What Helm is - How Helm solves common Kubernetes problems
I Play JavaScript: Making a Web Audio Synthesizer
When I was six years old, my folks bought me a Bontempi toy keyboard for my birthday. I mashed those keys every day until it broke, and beyond. My parents were scarred for life, but a love of The Synth was planted in me that remains to this day.
Synthesizers are a cornerstone of modern music. Evolving from room-sized analog monsters to cutting-edge boxes, they’ve captured our imagination for more than half a century.
Did you know there’s one inside your browser?
With just a few lines of JavaScript and a little bit of experimentation, we can turn our browser into our own bespoke, one-of-a-kind instrument - no extra hardware or plugins needed.
Join me for a beginner-friendly, retro-tinted journey into creative Web Audio in the browser. We’ll tweak some virtual knobs, make some weird sounds, get a beat going, and throw it all together. Help me bring the noise-pop stylings of my formative years full circle, and learn about creative browser APIs, JavaScript data structures, and web audio in the process!
Infinitely better JavaScript with Finite State Machines and State Charts
This talk will introduce the audience to state charts in JavaScript by exploring the history of state machines, showcasing their benefits and the problems they help solve, and demonstrating how to take advantage of them today using XState.
A finite state machine is a mathematical model of how a particular piece of state can and should change. They can be used when planning and implementing software systems and this talk will discuss their uses when building a User Interface.
Intro to Azure Functions and Demystifying REST APIs
Chances are if you’ve been on the web, you’ve heard of API’s. They’re a neat way of passing data between applications, and nearly every major web service has one. Services like Twitter, Youtube and Spotify sharing their data has paved the way for people to build literally limitless interesting applications!
Most are quite simple, but RESTful design makes APIs even easier to interact with. If you haven’t interacted or built one before, it can be a little intimidating knowing where to start. No fear! In this talk, I’ll demystify HTTP Verbs, what makes an API RESTful, and how to build one using Azure Functions.
Keeping trucks on the road through data analysis
Applying machine learning and exploratory data analysis when predicting future tyre faults
Keras with TensorFlow
Using a sequential model from the Keras API.
Looking at 2 examples, the first being a small example file dealing with the basics of a flat model and a prediction made from a 1 layer input after it has been trained.
The second being a demo of a rock-paper-scissors game that takes 4 input labels to train a model for an ai to decide on a winning move based on your hand gesture image.
Kubera- Ai core new gen Rpa platform
Will talk about the existing RPA solution s and their pitfalls. How a dedicated workflow targeted at a specific sector can overcome most problems in RPA implementations.
Mental models for the win
There has been a lot written about skills and performance, be it grit, or open mindset, but a lot of it does not stick. What doe the actual science says about that? Can I become an expert in 10000 hours? Well I guess we only have 30 minutes …
Micro Frontends, are they the future of web application development?
Gone are the days of single page websites. From e-commerce and holiday letting sites to social networking platforms, large scale and complex web applications are all around us nowadays.
As such, each application has a duty to scale up to handle growing user needs and therefore have a multitude of teams working on these products. Micro Frontend architectures can help these teams quickly build and deliver complex web solutions, however these can bring their own challenges.
Webpack Module Federation aims to remove these challenges and bring Micro Frontend architecture into the modern world of web application development. Let’s take a journey through the history of single page applications, from a script tag on a page to bundled applications and now Micro Frontends. Are they the future?
My Summer with Igor: How to become a physicist in just four traumatic weeks
In 2017 I bumbled my way into publishing physics research in Serbia. With terrible undergraduate Python code, I analysed lattice QCD supercomputer simulations Japan and discovered that we may have a fundamental misunderstanding about the forces which hold protons and neutrons together.
I hope to teach the audience how to move the Eastern Europe for summer, live in a dormitory in a school for train conductors on £2 a day and conduct particle physics research. I hope they will leave with a basic understanding of a surprisingly fundamental open question in lattice QCD and a lot of sympathy for me.
Next level of test automation with model-based testing
In the context of a large software testing company with offices in Turkey and the UK, we have used the model-based testing approach since 2018 to take our test automation efforts to the next level. We used model-based testing for automated design of test cases and also for automated test execution. For this purpose, we have chosen a popular open-source model-based testing tool, called GraphWalker, and by systematic design of test models (state charts) using GraphWalker, we have observed numerous benefits in improving our test-case design practices, and have shifted our test-design practices from ad-hoc to systematic approaches. The model-based testing approach has also provided other benefits in terms of improved test coverage (number of paths tested) and also the fault detection effectiveness of our tests (our tests now have higher ability to find defects). Furthermore, we have integrated GraphWalker to Selenium and we can now automate the execution of the tests generated automatically from models. We have applied model-based testing to test several large web applications for many of our clients, and also for testing our own test tools. The two speakers will share the experience and insights from the several software test automation projects in this talk. We will also provide many hands-on examples. By learning from the ideas presented in the talk, the attendees will be able to consider applying model-based testing in their own test projects.
Non-technical tips on being a better engineer
Oftentimes as engineers we focus on the technical side of our learning. However, as we progress in our career we shouldn’t neglect the more analytical and softer skills that can help us achieve more, be more productive and enjoy work more. From heuristics on troubleshooting to EQ and self-awareness, in this talk I aim to tell my younger self some things that I know now and I wish I knew then.
Not Your Mothers TDD - Type Driven Development in TypeScript
In recent years the TypeScript language has blossomed. It began as a safer way to do JavaScript, but has incrementally evolved into the most powerful mainstream language for functional programming. In particular the ability to dynamically define and transform types opens the door to new styles of coding, previously unavailable in regular software projects.
This talk will guide you through these new possibilities. We will start with the fundamentals of structural typing and algebraic types, but quickly move on to mapped types, type guards and beyond. Amongst other things you will see how to remove redundant types, write functions at new levels of abstraction, use constructs like HLists to improve type safety and use emerging libraries like the TypeScript Toolkit. By the end of the talk you will have an appreciation for why Type Driven Development may be the new TDD :-)
OurRagingPlanet: cultural learning through natural disaster simulation
Cross-cultural learning is a burgeoning field in global education. A yet unexplored method is natural disaster simulation. We have developed an open source web-app platform which simulates natural disasters in a learner’s geographical context. We have partnered with Dr Patricia Marybelle Davies of Prince Mohammed Bin Fahd University in the Kingdom of Saudi Arabia to assess how simulating sandstorms can teach cultural understanding between learners in KSA and the UK. This paper will describe the intended research, as well as the technical approaches used for translation from English to Arabic. We will analyse the outcomes, and potential issues, surrounding user testing during the Covid-19 pandemic. The speaker will discuss their experience of developing language functionality for the existing platform. One of the challenges we had to face when creating a multilingual platform is how to keep your server-side translation strings and JavaScript components in order. The goal is to have a single source of translation strings that can be used in our backend language templates (Laravel blade) as well as in our frontend components (Vue). While it may seem easier to just have php files for one and a JSON file for the other, keeping the translations up to date, it will be much easier if we have a single source. However, these two languages cannot freely “communicate” with each other directly. Once translation has been enacted, user testing will present more obstacles. How can we best prepare teachers to deliver remote lessons effectively? Lastly, we will consider the scope and deployment of sandstorm simulation and available KSA data.
Product of Theseus: Where are you going?
Do you need to create a clear vision of why your product exists and where it’s going, grounded in the reality of what it does, why, and for what audience? If you’re building products - you’ll find this talk helpful.
Ship of Theseus is a thought experiment about a boat that leaves on a journey and during that voyage, it’s continually mended. When it arrives as its destination, every part has been replaced. This results in a philosophical question: Is it still the same boat?
Asking “what is this product?” is a philosophical question in a similar way. Is a product a set of continually changing features? If there are features no one uses, are they really there? Does a product even exist?
Without a clear product vision, you might encounter these problems:
- Feature bloat.
- Users employing painful workarounds.
- Product teams surprised by how users use their products.
- Slow feature adoption.
- Losing out to competitors who are better at communication.
- Sales or marketing selling product features that don’t exist (vaporware!)
At my company, we help product teams communicate the value of what they do to their customers. By the end of this talk, I’ll show you how we create a picture of: What is this product? What does it do? And what value does it deliver?
Quantum Computing 101 with Qiskit
Introducing Quantum Computing with the Qiskit Python Library. Qiskit is an Open source library that allows you to run quantum circuits on the cloud with a real quantum computer. This talk will outline everything you need to know to get started as a Quantum enthusiast!
Simple, Hard, Effective
In this talk we will present the idea that simple and hard make effective results.
First, we will prove that simple and hard equals effective by telling an all too familiar story of when something complicated and hard resulted in not very effective results. From this, we will use logic and reasoning to reverse the formula of complicated and hard being the least effective into one of simple and hard being the most effective.
Expanding further, we will discuss simple over smart, why being smart and creating complexity doesn’t help you and others. We will also explain why we must do hard things to get better (because it ain’t ever going to be easy).
After providing enough context on why we say simple, hard, effective, we will now begin to tie in how this phrase is incredibly valuable when discussing software and crafting good software.
There will be three examples of practices in software craftsmanship and engineering that are simple, hard to be good at, but deliver immensely effective results. These will be practices that are so simple, you can start applying them straight away to your work.
The key take-aways of this talk will be: - Learning how simple is good and being “smart” is actually not great - Coming to terms that we will have to work hard, it’s just nature - Familiarity of practices not commonly used in the software community and industry within Belfast, but will set you apart if mastered - Being able to convince others that we should apply the practices learnt, because simple and hard make effective results
Slack Integrations - the Pros and Cons of Building a Product on Top of a 3rd Party API
The explosion in publicly accessible APIs has fuelled a growth in services that we now rely on everyday and has been instrumental in making so many products even possible.
Almost all services depend on these APIs for parts of their functionality, but what if you decide to go all in on an API and build an entire product that is wholly dependent on it?
What are the risks and what are the potential rewards?
We have developed a number of small Slack integrations over the years, but a recent one, which started as a student placement project, has become so valuable to us over the last 6 months, that we wanted to make it more widely available for other teams. During this talk we’ll take you through the journey we have been on and the lessons we have learned along the way, in developing a product from an internal tool, scratching our own itch, to a scalable product in the Slack ecosystem.
We will explore the challenges we faced from 3 different perspectives: technical, product and commercial, and how we are applying Lean Startup methodology within an existing business to foster innovation at a rapid pace.
Standardising Change: IEEE P2675 DevOps Standard
The new IEEE P2675 draft standard for DevOps: Building Reliable and Secure Systems including Application Build, Package and Deployment is currently in the voting phase. This session explores the major topics in DevOps which are essential to standardising this process. The standard itself is not finalized and these are the opinions of the presenter. At the end of the session attendees will be able to understand what changes are required by an organisation in order to apply a standard where fundamental development concepts must change.
Transitioning to an SDET (during a pandemic)
Going from manual testing to a fully SDET role already difficult enough, but with the extra pressures of a global pandemic and being fully remote makes it even more complicated. Many believe it is only about learning automation, but there is an entirely different mindset involved.
Join me as I take you through my journey of becoming an SDET during lockdown, how you can make the transition, and tips on doing it whilst stuck at home.
Virtualization on embedded systems
This is a talk about virtualization as a solution to the problems posed by the use of Linux namespaces as containers for embedded systems.
Web UI Testing with Cypress
You may, or may not have heard of Cypress as a UI testing tool. I want to give you a brief overview of my experiences so far and draw some comparisons to traditional tools such as Selenium.
Whale, whale, whale. What do we have here?
Introduction to Docker, what it is, how it works and a short demo.
Why Your AI Teams Should Resist the Lure of Skills Specialism
AI Engineer, ML Engineer, Data Scientist, NLP & Vision Engineers. We have entered a tipping point of Artificial Intelligence role specialism. This is not a new pattern, the AI technology sphere is repeating history and following a well-worn path. A path taken by Java, JS and several others during their own surge of popularity and subsequent maturation, spawning specialists in technologies such as Spring and Angular JS. In this talk Jordan will address this evolution through the lens of AI and make the case for why your organization should aim to build your AI teams with a horizontally skewed skillset, defying the lure of specialism.
Women in Tech: What More Can Be Done To Bridge The Gap?
It has been a topical subject that there is a divide between the male and female genders within the technology sector. Being that the number of females in the sector is significantly lower than male, diversity policy must be an important aspect of recruitment and culture - providing the opportunity to have open discussions from a variety of different perspectives. This lightning talk will discuss my own personal experiences within technology, women’s groups and initiatives in Northern Ireland. It will address the need for more female representation in the digital sectors and will highlight ways in which educational institutions and companies can help by engaging in, and with, women’s technology groups. Indeed, women in tech is not limited to programming - how can we create more spaces for female collaboration in the industry holistically? From my education through to working environments, women have always been the minority within technology and I often ask ‘why?’. With few role models in STEM how can the industry support and develop female recruits most effectively? I will build on the work of women in tech groups by suggesting further measures such as apprenticeships, outreach and workplace training and development.