Collect your attendee pass and goodie bag.
Full range of Teas, Coffees, Herbal & Fruit Teas. Soft drinks, mineral water and orange juice and selection of muffins - free for attendees.
Welcome to SwanseaCon 2018.
Have you ever thought about how many amazing things we get in this day and age that are free? Think about it, whether it’s articles in daily newspapers, social media, your code repository, your continuous integration server as a service. And that’s not even mentioning all the amazing open source libraries, frameworks that’s all out there. It’s all free, and it’s awesomesauce! Reality though is someone is paying for all this. Sometimes it’s being paid in cash, other times in the form of data and many times in the form of liabilities. But many of us choose to ignore this and glaze at the wonder of it all. One day however, we’ll wake up and ask, hey, where the hell did my free lunch go, and watch how a lot of things come crumbling down.
Learning is a part of our survival and key to professional success. Understanding its nature helps us to become better learners. In our industry, where technologies and practices evolve so fast, effective learning is an absolute necessity. I will explore the nature of learning from learning styles to the tools that we use to learn. I will discuss our motivation for learning and the importance of active learning. It is too important for us to simply stumble through, our approach to learning must be deliberate.
One of the great things about being a programmer is that you never stop learning. Even after having programmed for almost 35 years, I still improve on the way I write code. Recently the way I write code changed once again when I started to apply monads and especially the Try class.
During a recent project, my team created a small library that ports the behavior of the Scala Try monad. Although at first this new monad didn't appeal to me, I soon really started to appreciate this style of programming, where we concatenate series of Map() and FlatMap() methods, using lambda’s, and avoiding abundant try-catch blocks, and many if statements and null checks.
In the meantime, I have contaminated many programmers with this style. Developers make it a sport to always start every method with a return statement. During this talk I’ll discuess lambda’s, closures and monads, and demonstrate the power of this simple monad, using many code examples (in Java, C# and TypeScript). Don't hesitate to join in.
The Liskov Substitution Principle: the least known and most frequently violated of all S.O.L.I.D.!
Let’s explore together what it is, why you should care, how to detect violations, how to stop violating, what is co-variance and contra-variance (What is the In/Out of C#, the Super/Extends of Java, the +/- of Scala).
But above all: Let’s see that the essence of Liskov is the essence of Object Orientation itself: Systemics
Let’s learn to see our codebase as a System.
Agile is maturing in delivering incremental change. We innovate through data-driven experiments, enabled through continuous delivery and evolutionary architectures. Delivering small and fast means we are more frequently introducing new vulnerabilities. We are also facing new threats that come from increased integration through cloud computing and the internet of things. Traditional cycles of penetration tests and code reviews are not keeping up with the accelerated delivery pace unless these processes are also automated. DevSecOps focusses on integrating security in our processes and teams. Automate security first and fail fast will help build security in, but will also support the growth of awareness in the teams. Kim will show the lessons learned from her journey to Continuous security at ANVA, securing their open SaaS cloud platform for insurance software. Get an overview of the current continuous security landscape and the practical insights and pitfalls. And learn how security can be fun.
Model the wrong boundaries in your system and disaster is just around the corner waiting to tease your sanity - a fragile codebase, an unreliable system, and tightly-coupled teams at war with each other. In this session, you will see how to apply DDD, Systems Thinking, Promise Theory and more to design autonomous software services and autonomous teams to build and run them.
How are you doing integration tests with your datastore?
So what is the solution? There is a very neat solution based on containers: TestContainers (https://www.testcontainers.org). From your tests you can start a lightweight, throwaway instance of your datastore and this talk will walk you through a practical example with Elasticsearch's TestContainer after covering the issues of other approaches first. We are also discussing the general approach of TestContainers and how they are now widely available for various datastores.
In this talk we’ll discuss how an experimental approach to product development will lead to the many small failures that are essential to achieving great outcomes. We’ll share stories from our experience in startups and enterprises, the mistakes we made along the way and how we came to the realisation we needed to approach building products differently.
We aim for you to leave knowing how tohow to practically apply an experimental approach to your product development, how to create a culture of experimentation and to recognise the dangers of launching without learning first.
Info to follow.
Info to follow
The talk outlines the importance of openness at an individual, team and organisational level in the public service (and beyond) to spread the understanding and acceptance of a 'modern' approach (i.e. user driven and agile) and to build trust with the users who get to peek behind the curtain and see how and why decisions are made and that they are made by real people.
I work with teams all day long and there is one constant, conflict. I even have conflict with my wife and my family! Teams need disagreement to facilitate inspection and adaption, what if disagreement was an energy for creativity and transformation. Not only idealistic tools for dealing with our own animalistic nature when dealing with difficult people, I will share tools which have worked for me from listening better to practical agile tools to bring high conflict back to productive dialogue.
Agile evangelists say we should Limit our Work in Progress… But, does this really help us get our work done? Surely the sooner we start, the sooner we finish?
We’re going to put the Limited WIP theory to the test. We’ll prove once and for all whether limiting our work in progress will help us to be more productive, or whether this is just slowing us down and good old fashioned multi-tasking is actually the answer to our productivity challenges.
I have been diagnosed with anxiety. It means doing my job is difficult - fear of confrontation over a layer of constant anxiety is not ideal for a tester (or anyone) working in an agile environment.
During therapy I learned techniques to help manage my anxiety. I'll be sharing how these can be helpful regardless of mental health status, and how to use them to monitor your own mental health so you can keep yourself mentally and physically healthy.
Has your team been confronted with one-line user stories, and not been sure exactly what to deliver? Creating requirements for a new features is a team sport! In this hands-on session, participants will get to practice ways to take that one line user story and start questioning it. What is the goal? Who will benefit from the story? Why should you implement it? Kristine and Lisa will explain frameworks to elaborate requirements together with testers, developers, product owners and other team members. This will be an action-packed, fun workshop!
Did you ever wonder how to improve your testing skills? Well, I did. I wanted to learn where I stood in terms of my testing knowledge and at the same time improve my exploration and automation skills. So I decided to run an experiment and do a testing tour, pair testing with many different testers. In this talk, I will share the lessons learned on my journey as well as tips for doing pair testing sessions yourself.
As a developer, I find the most important job I have isn’t writing code, it’s shipping code that delivers value, and code only delivers value if it works. At a company without the most resources, we need to be clever, which is why we relied on Kubernetes to help automate our test infrastructure and increase confidence in our product.
Kubernetes is container orchestration - but that doesn’t mean you need to be a docker expert to take advantage of the platform. Testing is imperative to any product, but it can be hard. Long running tests can be painful, especially when running them concurrently isn’t possible because of resource constraints, with kubernetes, we can address this. Tools such as selenium grid can be difficult to orchestrate and deploy, but with kubernetes, it is significantly simplified.
Together, we’ll explore how we use Kubernetes to automate our test infrastructure and have greater confidence in our product, and you will learn how you can do the same.
MySQL has several new features that will make your queries run faster. Resource groups allow you to dedicate CPUs to certain groups of tasks and you will learn how to set up those groups and assign work to them. Histograms are a powerful tool for searching on secondary indexes. New locking strategies provide much faster responses in contentious environments. Optimizer hints let you direct query optimizations without relying on built in heuristics. Sound good, then come to this session and learn to use the new features!
Info to follow.
Info to follow
Yes, we're going to look at file parsing. Sounds a bit boring, right? Wrong.
In this talk, just for fun, we'll find out how to parse a file. We'll look at simple, hand crafted parsers. We'll finally figure out just how lex and yacc work. And we'll pick apart structured parsers that build abstract syntax trees as you type - ReSharper style. How is an IDEs parser different to a compilers? How do you handle sensible error recovery? What about significant whitespace?
Microsoft's Azure Cloud offering can be a bewildering place. In this presentation I will take you on a sprint through some of the hidden (and not so hidden) gems of Azure.
This session will give a high level overview (at speed) for people interested in what the Microsoft platform has available, what it is and where is should (and shouldn't) be used.
Topics summarized will include Key Vault, Logic Apps, Functions, Blob Storage, Cognitive services and whatever else I can cram into the A to Z framework.
The target audience are people who need to know which terms they should be searching for. (mix of developer and management)
Everyone seems to be talking about Kubernetes with companies seemingly tripping over themselves to support or adopt it.
In this talk we'll introduce Kubernetes, discuss the key concepts of the platform, it's high level architecture and how to get a Kubernetes cluster up and running in minutes.
We'll talk about and demo deploying .NET applications to Kubernetes and we'll finish with a discussion of the future where you can deploy both legacy and modern .NET applications to the same platform.
Writing Selenium Tests is a complex task by itself, but how can we validate a generated PDF? Test the rich client implementation? Or bring the tests into a container-based build environment? This and more challenges can be solved by using a combination of open source tools - see how!
Whatever your job title, you’re actually being paid to think!
Books, conference talks, the internet are all awash with heuristics, patterns, models and acronyms to help us solve problems. They document how other people have overcome challenges in a way that makes those solutions accessible to others.
They’re not magic formulae. They help us think, but they don’t make thinking unnecessary. The ability to think is our ‘secret sauce’ and we need to start realising that, while experts have valuable things to say, we need to filter their insights through our own experience.
Based in Finland and with a growing team in Swansea, our roots are in agile software development. Right from the start of the company, we decided to include a people focus in everything we do. We believe that a motivated and happy team deliver superior quality results - be they software, business consulting or even a mobile app.
Traditionally digital transformation projects are focussed on software and processes, we wanted to include the people aspect. So we developed something that we call Minimum Viable Management. We live and breathe minimum viable management and, at Gofore we truly empower all of our employees. Many of our company processes are managed online, some using proprietary tools developed by our crew.
As a testament to the success of our minimum viable management, Gofore won the Best Workplace in Finland and was runner up in the Best workplace in Europe 2017.
Our unique way of working is quite different to others in the industry, amongst other things, we have our own Crew clothing, funky offices and great coffee. Goforeans as we call ourselves, manage their own time, work from wherever they consider appropriate and have developed a thriving company community. With teams based in Finland, Germany, Spain and the UK we operate as 'one company'. For example, the team in Swansea work seamlessly with clients across Europe and the US together with colleagues from Finland, Germany and Spain.
A key element of our company culture is transparency and we love to share our learning with others. Listen to our experience of minimum viable management, share your thoughts and discuss how empowerment and transparency can help deliver better employees and better solutions.
Full range of Teas, Coffees, Herbal & Fruit Teas. Soft drinks, mineral water and orange juice - free for attendees.
Full range of Teas, Coffees, Herbal & Fruit Teas. Soft drinks, mineral water and orange juice. Giant American style cookies - free for attendees.
Full range of Teas, Coffees, Herbal & Fruit Teas. Soft drinks, mineral water and orange juice - free for attendees.
Two course lunch at the hotel restaurant
Closing of SwanseaCon 2018.
An insightful, energetic, humorous and outright captivating talk - with something for everyone.
Whether you’re a beginner bedroom developer, experienced engineer, start-up pioneers or experienced consultant – you’re sure to get something from Mike’s story.
Mike will cover his journey from when he first got interested in technology from a young age, to his time in game development including some titles you game buffs will know from the late 80’s namely “Storm” and “Shadow Warriors”. Hear how Mike moved into launching, nurturing and growing a number of successful start-up businesses to most recently becoming the CTO of Alcumus!
Reflecting on some of the highs, and some of the lows throughout his career, our CTO shows that anything is possible, wherever or whoever you are as long as you have the right idea, drive and people around you to make it happen.
Mike would be happy to go into further detail and answer questions and would love to chat after his talk.
PS!.. We set one of our guys a ‘lunchtime challenge’ to get the 1986 game ‘Storm’ written by Mike running through a HDMI cable – 32 years on from its original release and they cracked it. Join us on our stand to get your place on the leaderboard – top position at the end of the day will get something great to take away’