ThoughtWorks
  • Contact
  • Español
  • Português
  • Deutsch
  • 中文
Go to overview
  • Engineering Culture, Delivery Mindset

    Embrace a modern approach to software development and deliver value faster

    Intelligence-Driven Decision Making

    Leverage your data assets to unlock new sources of value

  • Frictionless Operating Model

    Improve your organization's ability to respond to change

    Platform Strategy

    Create adaptable technology platforms that move with your business strategy

  • Experience Design and Product Capability

    Rapidly design, deliver and evolve exceptional products and experiences

    Partnerships

    Leveraging our network of trusted partners to amplify the outcomes we deliver for our clients

Go to overview
  • Automotive
  • Cleantech, Energy and Utilities
  • Financial Services and Insurance
  • Healthcare
  • Media and Publishing
  • Not-for-profit
  • Public Sector
  • Retail and E-commerce
  • Travel and Transport
Go to overview

Featured

  • Technology

    An in-depth exploration of enterprise technology and engineering excellence

  • Business

    Keep up to date with the latest business and industry insights for digital leaders

  • Culture

    The place for career-building content and tips, and our view on social justice and inclusivity

Digital Publications and Tools

  • Technology Radar

    An opinionated guide to technology frontiers

  • Perspectives

    A publication for digital leaders

  • Digital Fluency Model

    A model for prioritizing the digital capabilities needed to navigate uncertainty

  • Decoder

    The business execs' A-Z guide to technology

All Insights

  • Articles

    Expert insights to help your business grow

  • Blogs

    Personal perspectives from ThoughtWorkers around the globe

  • Books

    Explore our extensive library

  • Podcasts

    Captivating conversations on the latest in business and tech

Go to overview
  • Application process

    What to expect as you interview with us

  • Grads and career changers

    Start your tech career on the right foot

  • Search jobs

    Find open positions in your region

  • Stay connected

    Sign up for our monthly newsletter

Go to overview
  • Conferences and Events
  • Diversity and Inclusion
  • News
  • Open Source
  • Our Leaders
  • Social Change
  • Español
  • Português
  • Deutsch
  • 中文
ThoughtWorksMenu
  • Close   ✕
  • What we do
  • Who we work with
  • Insights
  • Careers
  • About
  • Contact
  • Back
  • Close   ✕
  • Go to overview
  • Engineering Culture, Delivery Mindset

    Embrace a modern approach to software development and deliver value faster

  • Experience Design and Product Capability

    Rapidly design, deliver and evolve exceptional products and experiences

  • Frictionless Operating Model

    Improve your organization's ability to respond to change

  • Intelligence-Driven Decision Making

    Leverage your data assets to unlock new sources of value

  • Partnerships

    Leveraging our network of trusted partners to amplify the outcomes we deliver for our clients

  • Platform Strategy

    Create adaptable technology platforms that move with your business strategy

  • Back
  • Close   ✕
  • Go to overview
  • Automotive
  • Cleantech, Energy and Utilities
  • Financial Services and Insurance
  • Healthcare
  • Media and Publishing
  • Not-for-profit
  • Public Sector
  • Retail and E-commerce
  • Travel and Transport
  • Back
  • Close   ✕
  • Go to overview
  • Featured

  • Technology

    An in-depth exploration of enterprise technology and engineering excellence

  • Business

    Keep up to date with the latest business and industry insights for digital leaders

  • Culture

    The place for career-building content and tips, and our view on social justice and inclusivity

  • Digital Publications and Tools

  • Technology Radar

    An opinionated guide to technology frontiers

  • Perspectives

    A publication for digital leaders

  • Digital Fluency Model

    A model for prioritizing the digital capabilities needed to navigate uncertainty

  • Decoder

    The business execs' A-Z guide to technology

  • All Insights

  • Articles

    Expert insights to help your business grow

  • Blogs

    Personal perspectives from ThoughtWorkers around the globe

  • Books

    Explore our extensive library

  • Podcasts

    Captivating conversations on the latest in business and tech

  • Back
  • Close   ✕
  • Go to overview
  • Application process

    What to expect as you interview with us

  • Grads and career changers

    Start your tech career on the right foot

  • Search jobs

    Find open positions in your region

  • Stay connected

    Sign up for our monthly newsletter

  • Back
  • Close   ✕
  • Go to overview
  • Conferences and Events
  • Diversity and Inclusion
  • News
  • Open Source
  • Our Leaders
  • Social Change
Blogs
Select a topic
View all topicsClose
Technology 
Agile Project Management Cloud Continuous Delivery  Data Science & Engineering Defending the Free Internet Evolutionary Architecture Experience Design IoT Languages, Tools & Frameworks Legacy Modernization Machine Learning & Artificial Intelligence Microservices Platforms Security Software Testing Technology Strategy 
Business 
Financial Services Global Health Innovation Retail  Transformation 
Careers 
Career Hacks Diversity & Inclusion Social Change 
Blogs

Topics

Choose a topic
  • Technology
    Technology
  • Technology Overview
  • Agile Project Management
  • Cloud
  • Continuous Delivery
  • Data Science & Engineering
  • Defending the Free Internet
  • Evolutionary Architecture
  • Experience Design
  • IoT
  • Languages, Tools & Frameworks
  • Legacy Modernization
  • Machine Learning & Artificial Intelligence
  • Microservices
  • Platforms
  • Security
  • Software Testing
  • Technology Strategy
  • Business
    Business
  • Business Overview
  • Financial Services
  • Global Health
  • Innovation
  • Retail
  • Transformation
  • Careers
    Careers
  • Careers Overview
  • Career Hacks
  • Diversity & Inclusion
  • Social Change
Software TestingData Science & EngineeringLanguages, Tools & FrameworksTechnology

XConf Online Key Highlights

Jeni Ogilvy Jeni Ogilvy

Published: Jul 31, 2020

Due to the ongoing challenges of COVID-19, we decided to run the 7th edition of XConf, our yearly technology conference, in a virtual format. XConf Online covered a wide range of topics including: mutation testing, docker container security, data science, unit testing COBOL and much more. Here are a few key highlights from the day. 

You can write unit tests for COBOL programs and get fast feedback without having a dependency on the mainframe.

Kicking off XConf Online, was Michael and Felix’s talk ‘Redefining the unit’. Michael and Felix discussed their journey of developing an automated testing tool for COBOL programs, in the context of a large insurance company. Michael and Felix shared insights into a user centric approach, the importance of adapting your CI processes and how to gain fast feedback without being dependent on the mainframe. Watch the recording to find out what conclusions and learnings they made whilst developing this testing tool.

User centric approach
Docker container security is simple, so there’s no reason not to do it.

During the morning session, Monica and Marina honed the importance of securing your docker container and environment at multiple levels; from your build pipeline to application layers. Docker security needs to be addressed holistically and requires continuous vigilance, helping to reduce vulnerabilities across an ever-growing attack surface. If you are unsure where to begin, check out their talk or start with Threat Modelling - a useful process to help identity threats and prioritise possible mitigations. 

Container lifecycle

Everyone has a part to play on the path to production.

As a tech lead, Manasi outlines a list of technical and non technical practices she brings to each project. Starting with your path to production (normally a phase which is addressed at the end of the software lifecycle), through to ‘don’t take your business hat off’. Manasi’s talk offers practical advice you can employ within your own work. 

Tech lead toolkit

Why should we avoid Null values and stop abusing exceptions? 

Mario and Andrei set the scene with their two key takeaways ‘let’s stop using null values’ and ‘let’s stop abusing exceptions’. Code that throws an exception (or error) every time something unexpected happens is hard to understand and more difficult to maintain. It is common to use data types such as Option, Either or Validated to make assumptions when dealing with errors, which can be verified with a compiler. Mario and Andrei highlighted how they have been doing this in Kotlin, with the help of the Arrow library. Watch the recording here.
Null and exceptions can lead to flaky, hard to understand code
Don’t stop an experiment too early to make conclusions.

You follow agile practices and deploy frequently, but face uncertainty when it’s time to release. Once live, your platform underperforms and you can’t tell why. Irene and Klaus outlined the technical foundations and organisational setup to experiment with and to learn from your users, allowing you to make decisions based on real behaviour instead of best guesses. They demonstrated how to have more scientific rigour in your software development cycle to validate your hypothesis. Watch Irene and Klaus' talk and find out more about their techniques and go live with confidence.
 
Why your coverage is a lie and how to learn to write better tests.

Towards the end of the day we had Chris Shepherd’s fascinating talk on mutation testing. Chris reviews the conventional testing pyramid and modern approaches to testing software, cautioning that this type of testing could lead to false positives. He explores how mutation testing can help fill in this gap, by siloing out so-called ‘mutants’. Chris also demonstrates how to write better tests before using mutation testing frameworks, such as Stryker. Watch Chris' talk and find out why mutation testing should be part of your testing arsenal. 

Mutation testing

It really is different with data.

Martin Fowler interviews Em Grasmeder, the ‘Data Witch’ of ThoughtWorks about data science and the role of data science and data engineering in software development. Em and Martin discuss the similarities and differences between regular software development and the new world of data; looking at testing frameworks, models and how data can provide value. Martin’s key message is we need to “break down the silos” between data analytics and software engineering. Watch Em and Martin's Q&A here.

Martin Fowler interviews Em Grasmeder

Technology Hub

An in-depth exploration of enterprise technology and engineering excellence.

Explore
Related blogs
Languages, Tools & Frameworks

The Either data type as an alternative to throwing exceptions

Mario Fernandez
Learn more
Languages, Tools & Frameworks

Building on Blockchain: Like soccer without a referee

Shodhan Sheth
Learn more
Data Science & Engineering

The curse of the data lake monster

Kiran Prakash
Lucy Chambers
Learn more
  • What we do
  • Who we work with
  • Insights
  • Careers
  • About
  • Contact

WeChat

×
QR code to ThoughtWorks China WeChat subscription account

Media and analyst relations | Privacy policy | Modern Slavery statement ThoughtWorks| Accessibility | © 2021 ThoughtWorks, Inc.