What better way to kick off 2019 than to anticipate some of the hot trends to hit the software development industry? And that's exactly what we did as 150 enthusiastic software professionals gathered to hear from local industry experts on a host of topics.
The Evolution of DevOps
Kicking off the night was Ciaran Conliffe who, as a technologist at Liberty IT, specialises in Dev Ops and application security. Ciaran's talk focused on doing more with the now well established concept of build pipelines, including:
- DBOps - an approach to applying CI/CD to SQL databases
- Continuous Security - creating distinct build pipelines to run automated security tests and tooling
- MLOps - applying the rigour of CI/CD to Machine Learning models to ease orchestration and ensure repeatability
Machine Learning for 2019
Next up was another hot topic for 2019, Machine Learning. Mairead O'Cuinn opened her talk with a remark on the shortage of Data Scientists but that there is an ever growing need for more learning based solutions in the modern world. Mairead distilled her experience of applying commoditised Machine Learning technologies at Liberty IT into a helpful how-to guide for the attendees.
Having outlined some of long-standing barriers to entry with Machine Learning, Mairead swiftly set about dispelling the myth that it is not accessible to the average developer. In 2019 developers now have their pick of libraries (PyTorch, TensorFlow, ML Kit, Core ML), marketplaces (Google AI, Algorithmia and Amazon's AWS Marketplace and learning resources (Amazon Machine Learning University, Google Machine Learning Crash Course and Microsoft AI School).
Software that Actually Works
Next up was James Bunch who pleaded the case for spending more time on producing software that works e.g. taking steps to reduce bugs in the code that we write.
Through a series of space based examples James outlined how relatively simple bugs have continued to blight some of our most complex and expensive software systems over the past three decades. For each example James provided an elegantly simple approach or construct to reducing the likelihood of similar issues occurring in our own systems such as:
- Property Based Testing
- Using Types to Enforce Correctness / Constraints
- Debugging Designs Using Executable Pseudo Code (using TLA+)
The Haskell Epidemic
Functional programming and Haskell enthusiast Diogo Castro (Spotx) then took us for a whirlwind tour of Haskell. Focusing on some of the language's more powerful features, Diogo illustrated how it had become somewhat of an inspiration for more traditionally used languages and their supporting libraries. Making the point that developers should look to the source of these ideas for their own learning, Diogo expertly explained the value of sum types, parser combinators, quick check and do-notation.
Strong and Stable - a Referendum on Go
Following on from Diogo's pitch for Haskell, Simon Hewitt stated the case for the Go programming language. After an interesting history lesson on the language's origins and role at Google, Simon delved into a feature-rich Hello World example which illustrated the expressiveness and power of the language. Aside from the language features the case was made for the language's powerful standard library, ever-improving tooling and strong community (including the Belfast Gophers).
Kotlin Native
Last up our very own Eamonn Boyle took to the stage to discuss Kotlin, a much loved language at Instil HQ. Eamonn focused on Kotlin Native, a feature in the language that is currently in beta but rapidly maturing. Using Kotlin Native, developers can compile Kotlin (which traditionally runs on the Java Virtual Machine) into native binaries for iOS, MacOS, Android, Windows, Linux and WebAssembly; thus enabling portability of code across mobile, web and server.
To illustrate the power of Kotlin Native, Eamonn produced an image convolution algorithm that could be ported to run natively.