Michael Milewski
software developer
Melbourne, Australia
Actions
Michael is a developer keen on the people side of things. He loves pairing, and in particular with people new to writing software. He especially likes driving software out with tests and directing the evolution of the design. In his spare time he does a bit of running, camping and watching any one of his 4 kids excel above anything he ever managed to achieve.
Area of Expertise
Topics
Tests as a Compass: Navigating Development with BDD and TDD
Overwhelmed by testing your web app idea? Unit tests might be manageable, but end-to-end (e2e) tests can feel daunting. In this hands-on workshop, you’ll learn to test-drive a fully featured web app step by step.
We’ll cover modern web development essentials like interactive front ends, APIs, background jobs, admin layers, external services, and AI integrations. Discover how to define testing boundaries, maximize application-level tests, and structure e2e tests for business-critical flows using tools like Selenium and Cypress.
Led by experts with diverse career paths, this workshop is for developers of all backgrounds. By the end, you’ll master strategies to simplify testing and tackle complexity with confidence.
Ruby vs Kickboxer - the state of MRuby, JRuby and CRuby
In the midst of COVID pandemic lockdowns, a Muay Thai kickboxer reached out for the only sparing partner left that she could compete with, Ruby. Is it possible to fight Ruby? Is it possible to create a hardware-sparing robot running Ruby and integrated it across the web to track her training progress as well as verse her coding pair in a battle of real vs virtual fighting? Come on a journey of ups and downs and the state of MRuby for hardware dev, JRuby running on mobile, and CRuby for the backend.
Details
During the lockdown, Selena and Michael missed not only in-person pairing but also Selena's other side passion of Muay Thai Kickboxing and maintaining and extending her State Title. As pairing went remote so did the idea of training in gyms and sparring partners. This is how Selena hatched an idea to build a sparring robot to train and fight against. Given her familiarity with Ruby, she thought that was the logical place to start with a sparring robot. This is how a long journey of ups and downs started that overviews the current state of Hardware development and using MRuby, mobile development using JRuby, and tying it all together on the server with CRuby.
The talk will demonstrate how to get started with MRuby for hardware and what are the limitations as well as benefits of using Ruby. It will touch on what is involved in using JRuby to power Android mobile devices and it will wrap up with a demonstration of a system composed of MRuby, JRuby, and CRuby. Finally, a demonstration of the sparing robot will be performed live on stage - it will be a show not to be missed
Developer Smackdown
You know the drill, there are a lot of fundamentals Developers disagree on. Tabs vs Spaces, GraphQL vs REST, and Majestic Monoliths vs Micro Services - get behind your preferred point of view in this live on-stage, developer vs developer Smackdown!
In this animated presentation, two developers will debate and fight out both sides of various topics. Classics like Tabs vs Spaces to more modern arguments like SQL vs NoSQL, traditional vs new tech, TDD vs shipping written code, and Trunk vs Branches and you end up with quite a review of current practices, with all the pros and cons. There will also be some more nuanced topics like Agile vs Wagile (waterfall agile) and pairing vs soloing.
From two presenters who both worked very closely in a strict pairing, trunk-based development shop and have since converged on new preferences, be ready for a roller coaster of thoughts and arguments as well as some late twists and even a bit of developer comedy. This will be a talk not to be missed.
10x your teamwork through pair programming
A roller coaster journey of how to get the most out of pair programming. Live on stage acting out highs, lows, do’s and don’ts of pair programming. Laughs and tears are guaranteed as the audience connect on the difficulties and ultimately the rewards that can be reaped through effective pairing.
Failing for the right reason - a fresh look on TDD
Real code, live demo. Get into the nitty-gritty of how to drive out functionality in a modern Rails/Reactjs based web app.
Ever had difficulty writing tests? Don’t know how to identify the unit under test? Find it hard to write tests BEFORE implementation? Join us as we take you on a journey through multilayer outside-in BDD
To scale tests and code, we will run you through the layers of integration testing that matter - from "system flow" specs through "page mechanics" specs that take an individual component through its paces, isolated component tests, API request specs, and everything in between!
10x your teamwork through pair programming
A roller coaster journey of how to get the most out of pair-programming. Live on stage acting out highs, lows, do’s and don’ts of pair-programming. Laughs and tears are guaranteed as the audience connects on the difficulties and ultimately the rewards that can be reaped through effective pairing.
The two presenters will take you on a roller coaster journey of how to get started and get the most out of pair programming. Live on stage they will switch from conversational overview straight into acting out various highs, lows, do’s and don’ts of pair-programming collaboration. Laughs and tears are guaranteed as the audience connects on the difficulties and ultimately the rewards that can be reaped from teamwork through effective pairing.
Pair-programming, 2 developers writing code collaboratively with 2 keyboards and 1 computer, might feel weird, foreign, or impossible. Pair-programming was popularised through agile methodologies like Kent Beck’s Extreme Programming and get’s a lot of lip service but many teams fail to implement it effectively and reap its rewards. Come and join us for a demonstration of what it is and how to get the most out of it. Pairing is applicable to writing better agile software or just a great life skill to have to collaborate with other humans.
A version of this talk has had great crowd responses from
* Ruby Conf Melbourne 2020 - https://www.rubyconf.org.au/2020/schedule
* React Conf Sydney 2020 - https://reactconfau.com/talks/10-x-your-teamwork-through-pair-programming
* Lock note at Melbourne DevFest 2019 Sat 9th Nov - https://www.gdgmelbourne.com/devfest-2019-schedule
* DDD by night - 10 minute version - Sep 2019 - https://www.meetup.com/DDD-Melbourne-By-Night/events/263799242/
Vi everywhere - what's your superpower
"Once you learn VI bindings, they will be stuck with you for life" and you will want to use them everywhere. This is an exploration of all the places you can use them, from the command line, rails console to your database console,
browser and program input, including ruby CLI, even ways of adding them to places they don't exist. Even if VI has always been on your TODO list, some tips on how to get started in learning VI bindings from someone who is pragmatic and does NOT use VIM as their editor, just VI bindings in every place you would least expect.
A presentation with a fair bit of story line of my own experiences, concise live coding with key combinations shown, slides to re-iterate key combinations and how they can be useful, an approach to learn VI bindings in less then 10 minutes a day, all the places to use VI bindings
* writing a simple game for my kids required text input, how to add VI bindings
to my ruby programs
* how I got into programming and could not touch type, setting my command line
to VI mode allowed me to keep up with people who can touch type
* how to keep up with touch typists in a database console using VI shortcuts,
also allowing iterative query exploration through building up queries without
needing a third party tool
* a story around how I could bring a lot of "console" and/or "REPL" into VI
mode by accidentally mashing keys
* how to learn these bindings in 10 minutes a day and the useful combinations
you should learn
* all the places I could use VI bindings
* rails console
* ruby pry
* REPL - ruby, python, clojure, more
* the browser
* all the places I could not use VI bindings
* why no VI bindings put me off learning elixir
* use of `rlwrap` to get around no VI bindings
* `rlwrap` allows me to have VI bindings in: elixir, mongodb, etc
* taking VI bindings too far - writing a whole program in the command line
* wrap up of the core concepts - keep learning
A version of this talk has been presented in an entertaining talk with lots of
real-world stories at a Ruby Meetup in Melbourne Australia 2018 as well as a
Python Meetup
* Ruby Meetup video - https://www.youtube.com/watch?v=l6dwu6cCfkM
* Ruby Meetup slides - in VI of course GitHub talk.md
NDC Melbourne 2025 Sessionize Event Upcoming
DDD Melbourne 2024 Sessionize Event
NDC Sydney 2024 Sessionize Event
Oπe\n Conf - 2023 Sessionize Event
Copenhagen Developers Festival 2023 Sessionize Event
Programmable 2023 - Sydney Sessionize Event
Programmable 2023 - Melbourne Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top