The best time to talk with speakers and attendees
This talk is about Agile. What it was, what it is, and what it will be. This is a back-to-basics talk that covers the history of Agile, what motivated it, and what has happened to it since. The talk covers the basic practices of Agile, and compares and contrasts those practices with the current menagerie of Agile processes.
Robert C. Martin Owner, Uncle Bob Consulting LLC
Robert C. Martin (Uncle Bob) has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, a Chicago based Software Consulting firm. Co-founder of cleancoders.com , offering on-line video training for software developers. And founder of Uncle Bob Consulting LLC, offering software consulting, training, and skill development services to major corporations worldwide.
Mr. Martin has published dozens of articles in various trade journals, and is a regular speaker at international conferences and trade shows. He is also the creator of the acclaimed educational video series at cleancoders.com.
Mr. Martin has authored and edited many books including:
Designing Object Oriented C++ Applications using the Booch Method Patterns Langauages of Program Design 3 More C++ Gems Extreme Programming in Practice Agile Software Development: Principles, Patterns, and Practices. UML for Java Programmers Clean Code The Clean Coder.
A leader in the industry of software development, Mr. Martin served three years as the editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance.
Purpose comes in all sizes, big and small. My small purpose is to get through delivering this talk without embarrassing myself. My big purpose is to help as many people as I can in small ways every day. Notice I said small ways. Why small ways? Because the biggest moments in life tend to happen on the way to your plans. Think about the most significant moments in your life. The pivotal points that changed everything. If you’ve ever fallen in love, there’s a good chance that you never planned for it to happen on the day it did. And later… if it didn’t work out, I bet you didn’t plan that either. This is not to discount plans or goals. I firmly believe in having a plan and setting a destination before you embark on your journey. Goals are necessary. Sort of like the bread on a sandwich. The goals hold it all together but the best parts are of the the middle.
Ish Shabazz iOS Developer
Ish has been an independent iOS App Developer since 2010. He works full time as a network engineer and spends practically every moment outside of that developing apps or working on something app-related. His apps have been featured by Apple, Starbucks, App Advice, iMore, and Daring Fireball. Ish’s story was featured in the documentary App: The Human Story. He is currently working on Capsicum, a daily planner and notebook.
Take your static design to the next level and build real apps with the simplicity of a prototyping tool. The best way for beginners to learn code, and the most efficient way for developers to learn design. This workshop is made for designers and developers who are passionate about collaborating and building real apps for iOS and macOS. It’s beginner-friendly, but it’s also packed with design tricks and efficient workflows for building great user interfaces and animated interactions.
Meng To Founder, Design+Code
Meng To is the author of Design+Code. Meng started off his career as a self-taught designer from Montreal and eventually traveled around the world for 2 years as his US VISA was denied. During his travels, he wrote a book which now has 40,000 readers. Today, he focuses on helping designers and developers master design and coding via design-focused video tutorials, articles, talks, and workshops.
Did you ever notice that there’s no “fun” in Object-Oriented or Protocol-Oriented programming but that functional programming starts with “fun”? In this fast-paced talk we don’t emphasize functional programming because it’s good for you - we look at games and puzzles that go back nearly one hundred years to the invention of combinators. Don’t worry, we’ll get to the useful application part at the end - but let’s begin by just playing.
Daniel Steinberg Storyteller, Dim Sum Thinking
Daniel presents iPhone, Cocoa, and Swift training and consults through his company Dim Sum Thinking. He has written apps for the iPhone and the iPad since the SDKs first appeared and has written programs for the Mac all the way back to System 7. You can also find his best-selling books “A Swift Kickstart” and “Dear Elena” on the Editors Cut website. When he’s not coding or talking about coding for the Mac, the iPhone, and the iPad he’s probably cooking or hanging out with friends.
Machine learning models don’t deliver value on their own. They need to be integrated into a product to improve user experience and fulfill a business need. Fortunately, this is a particularly exciting time to include ML in your mobile apps, thanks to a wealth of new libraries and technologies in this space.
We will also walk through an end-to-end app example, demonstrating how Skafos ties it all together to enable enterprise-grade delivery and integration.
Miriam Friedel Head of Data Science, Skafos.ai
Dr. Miriam Friedel has spent over fifteen years in scientific and technical fields spanning theoretical physics, software engineering, transportation, neuroscience, and machine learning. She currently leads the data science team at Skafos, a start up in Charlottesville, VA. Skafos.ai is the ML platform for iOS developers, offering push-button deployment to the edge. Prior to her current role, Miriam was a Director and Senior Scientist at Elder Research, where she lead the commercial business unit and helped clients in a range of industries achieve ROI from machine learning. Her unique background helps her bridge the gap from technical details to strategic insights, increasing collaboration across disparate functional teams.
Miriam received her ScB in physics from Brown University and her PhD in Physics from the University of California, Santa Barbara. She is a co-author on over fifteen peer reviewed articles, and outside of work, spends as much time as possible practicing yoga and being with her two daughters.
After almost five years of working with ReactiveCocoa and RxSwift, I still felt like reactive (Rx) programming had limited use in my work. But with Swift and RxSwift maturing, I was looking for a way to try it more. This spring, a colleague and I decided to use it whole-heartedly on a project. We established some guidelines that led us to an extremely clean Model-View-ViewModel implementation with a declarative ViewController and stateless ViewModel. And when Apple announced Combine at WWDC this year, we were glad we did because this code will convert to SwiftUI/Combine more easily.
To start, I’ll cover the basic ideas of Rx (RxSwift and Combine). But this talk is less about Rx operators and more about how to use Rx to build a reactive architecture. I’ll show some code from two apps—Trello (RxSwift) and a new workout app I’m working on (Combine). If you have no Rx experience, in this session I hope to show you some motivating examples that might convince you to give it a try. If you’re using Rx, I want to show you some techniques for using it to make MVVM structures that are more testable and easier to maintain.
Code Golfing is a fun type of recreational programming where “players” strive to achieve the shortest possible source code that implements certain functionality. Using Swift to Code Golf is fun in itself, but there is a lot we can learn from this exercise. Join me in exploring practical takeaways from thinking about each line of Swift code we write!
Jason Zurita iOS Software Engineer, Warby Parker
Jason Zurita is a self-taught software engineer working on internal and external iOS apps at Warby Parker. Having begun his career as an Electrical Engineer, he understands the challenge in changing careers, which is what drives him to try and give back to the tech community (contributing to open source, teaching, blogging, giving talks, etc.).
He enjoys learning different tech stacks and how they can be put together to create new and interesting projects, the Swift language, tinkering with electronic projects, and going for a walk with his wife, son, and dog.
Have you ever seen a code comment saying “this should never happen”? Have you ever wondered what would happen if it did? Swift has a diverse set of error-handling capabilities, from using
throw to send errors up the stack to using a
Result to handle errors in asynchronous methods. In this talk, we’ll look at the landscape of handling errors in Swift, create new ways of expressing and handling them, and show how even the most impossible code-level situations can have 100% test coverage.
Jeff Kelley is a developer at Detroit Labs, where he builds apps in Swift but still has a soft spot for Objective-C. Author of Developing Apps for Apple Watch and Learn Cocoa Touch for iOS, he’s been working with iOS since its infancy in 2008. Jeff is passionate about building usable apps, the open-source community around Apple platforms, and will talk your ear off about electric cars and clean energy. Jeff loves raising his two kids and two dogs, Detroit, and organizing the Motor City CocoaHeads group.
NFC has been around for a while and we use it every day in things like Apple Pay but how does it work and what features are actually available for developers to use? Until recently NFC was pretty limited on iOS and devs used to struggle to find use cases they could implement in their apps. NFC itself has plenty of applications but we were not able to take full advantage of them because of these limitations but now that Apple has announced tag writing support, the game completely changes. Some of your Android friends might tell you: “Well we have had that for a long time!” and yeah it’s true, but without Apple opening their APIs it was hard for companies to find a compelling case to build apps where only one platform was going to be supported.
In this talk, you will learn the basics of Near Field Communication such as tagging, different technologies, and specifications. We will also take a peak to these new features and implement some of them in a quick example and other possible applications.
Join me to see why I think learning about the new Core NFC features are important and the long-lasting implications they will have around the world.
Nelida Velazquez Senior iOS Engineer, Detroit Labs
Nelida Velazquez is an Application developer at Detroit Labs who has a passion for tacos and reading code. She’s been a mobile developer for over 10 years, working with major brands both in the United States and in her home country of Mexico. When not coding, she likes to travel and attend conferences around the world.
Perfectionism. Fear. Guilt. Self-Doubt. These tricky demons can shatter our productivity, silence our best ideas, and block us from our greatest potential. Take back the reins and discover what you’re really capable of. In this talk, you’ll learn the basics of mindfulness through true stories of reptilian cults, imprisoned stalkers, and a very unusual dinner guest.
Jackson MacKenzie Analyst, Akamai Technologies
Jackson MacKenzie is an analyst at Akamai and author with Penguin Random House. With half a million followers on social media, his books have sold hundreds of thousands of copies worldwide in thirteen languages. He is passionate about exploring human psychology and releasing the things that hold us back.
Testing is critical, but can be difficult. In this talk we will explore using Swift’s protocol oriented programming for User Interface testing to create light-weight interfaces that are composed of user behavior and application state. We will discuss the pro’s and con’s of writing tests this way. We will also discuss options for further development of the technique. This talk isn’t just for testers. This talk is also for product managers, designers, developers, and customers! As a use case, will will walk through logging into and using a movie rating app. We will build up a protocol that allows tests to be read as a set of instructions for an actual user. When we are done, we will have a better understanding of behavior driven development, UI testing, and protocol oriented programming in Swift.
Cavelle Benjamin Director, Technical Risk, GE
Lover of technology. Busy bee at a large company. Husband . Father. Coder. Engineer by degree, but learned to code while in undergrad. Leveraged coding to get my job done in almost all of my roles Released first iOS app in 2012 (Babble Ball, sold it) Active in open source (command-line utilities, APIs) Currently working on more iOS apps.
Follow me on a journey of peril and intrigue as I walk you through the most difficult bug of my career. The many frameworks of Cocoa Touch are the cornerstone of modern iOS apps. But what happens when the building blocks start to work against you? I’ll take you through the lifecycle of a bug we encountered at Tinder on the eve of the launch of iOS 12. To this day, it is one of the most puzzling and challenging issues I’ve encountered. The solution to which has wide-ranging implications in any app that utilizes NSUserDefaults. At the end of this session, you will learn steps you can take to avoid a devastating pitfall in Foundation. This issue was discovered in Tinder and I will walk you through a possible solution should you encounter it in your own apps as well.
Attendees should expect to walk away with an understanding of the deeper workings of UserDefaults and unexpected, yet commonly experienced, issues with the defaults system.
Sam Marshall Senior iOS Engineer, Tinder
Sam has over 6 years experience as a professional iOS software developer and has been working at Tinder for 2 years. He is passionate about all things Swift, iOS and writing clean code. Sam co-founded the app Rapchat straight out of college and was the Lead Developer on the project. The app achieved viral success that resulted in over 400,000 downloads in a period of only a few months with no funding whatsoever. Since Rapchat, Sam worked on a 3 man iOS team at Whisper, an app that boasted over 30 million active users. During his time at Tinder, he’s been the sole developer responsible for ads on the iOS platform. Driving millions of dollars in revenue each month.
They said Swift is “protocol oriented,” so you wrote protocols. But you wanted them to be generic, so you added associated types. But your collections broke, so you added type-erasers. But your “as”-casts broke, so you switched to Any. But then everything broke, so you read about Mirror. And the tears began. Why did it have to be so hard to make an array?
It doesn’t have to be so hard. But it’s very easy to use the wrong tools to solve the wrong problems. In this session I’ll help you reevaluate what it means to write generic Swift and how to choose the right tools for the job. Whether your goal is reusable view controllers, flexible networking, data-driven UI, effective unit testing, or just the joy of elegant data structures, you’ll learn how to work with Swift and not fight the compiler.
This talk assumes familiarity with Swift syntax for generics, protocols, extensions, enums, and first-class functions (such as completion handlers), as well as the basic differences between Swift structs and classes. More advanced topics, including protocols with associated types, enums with associated data, closures, and functions as return types, will be introduced and explained.
Rob is co-author of iOS Programming Pushing the Limits, and maintainer of the RNCryptor encryption format. Before coming to Cocoa, he made his living sneaking into Chinese facilities in broad daylight. Today, he shapes music over Bluetooth for Logitech, explores old ideas in new languages, and tries to figure out how all of this applies to Swift.
The ecosystem of the Swift programming language is at an interesting inflection point. David will talk about his take on some ways forward, as well as how to embrace the opportunity it has to push Swift’s footprint on the software development world into the stratosphere.
Tinder’s famous LikesYou feature has a golden pill view that shows the number of swipe rights a particular user receives while using the app. Inspired by Robinhood’s stock ticker, Tinder has recently upgraded their pill view to have similar sweet scrolling animation. However, since the pill view had letters along with digits, it faced different set of problems. The session will explain how this unique ticker view has been implemented.Through this talk, you will be able to understand what it takes to implement a tickerView like the one from Robinhood and how Tinder has solved the unique set of challenges due to implementing scrolling digits and letters in a single view.
Thomas Yoon iOS Engineer, Tinder
Thomas has worked as an iOS Engineer at Tinder past 3 years. His recent projects include SuperBoost and upgrading Tinder Gold experiences. He is a core member of Tinder’s revenue team that achieved top grossing app in the app store, driving millions of dollars each month. Previously, he has worked on Tinder Places with many location tracking technologies and beautiful animations, introduced Tinder Feed, revamped chat experience, and incorporated Spotify to Tinder profiles. He is passionate about creating the most aesthetically pleasing user experiences and building tools for the team members.
In a world obsessed with user experience, how much are we thinking about the experience we provide for our visually impaired users? I’ve always strived to make my apps accessible, but merely providing access isn’t enough. We should be aspiring to provide an exceptional experience for everyone. I wanted to understand what makes for truly great accessible design, so I turned VoiceOver on for a week…
In this talk, I’ll share the findings of my experiment. We’ll discover the good and bad patterns in commonly-used apps, see what separates the fantastic from the frustrating, and learn about what you can do today to bridge some of the common UX gaps.
Leena Mansour Engineering Manager, PagerDuty
Leena has been building iOS apps for 8 years and is now an Engineering Manager at Pagerduty where she does a lot more talking than development. She’s passionate about inclusion, accessibility and helping people grow. When she’s not at work, she’s probably playing Call of Duty, playing dodgeball or playing with her dogs.
ARKit has shown how AR can be integrated into apps to make them more engaging and fun. Although AR has mainly been introduced by games such as Pokémon Go!, it has many practical applications. If you are thinking about using ARKit in your app, this talk is for you. Last year I co-authored the ARKit by Tutorials book, and developed a couple of ARKit apps. This talk covers challenges I experienced building these apps such as ensuring good app performance, handling problematic scenarios and improving plane detection. Learn how to use ARKit to its full potential, keep your AR apps performant and deliver a polished end-user experience.
Namrata Bandekar iOS Software Engineer, Ray Wenderlich
Namrata has been building mobile apps for seven years. She is a member of the Ray Wenderlich Tutorial Team and the co-author of ARKit by Tutorials. Apart from making apps, she is passionate about travelling, scuba diving and hiking with her dog.
Ever wonder what’s actually going on inside JSONEncoder and JSONDecoder? Why doesn’t JSONEncoder conform to the Encoder protocol? What’s a CodingKey, and what are all of those “containers” for? This talk will be a deep dive into encoding and decoding in Swift: what all of the related protocols are, how they fit together, and how to use them. You will come away from this talk ready to customize how your Swift types are encoded and decoded, and with the knowledge necessary to start writing encoders and decoders of your own.
Kaitlin Mahar Software Engineer, MongoDB
Kaitlin is a software engineer living in NYC. She works at MongoDB, where she leads development of the official MongoDB driver for Swift. Outside of work she enjoys doing crossword puzzles, playing with her cats, and trying all of the amazing food and drinks NYC has to offer.
Extensions allow you to add functionality to a previously existing class, structure, enumeration, or protocol. This gives you the power to add new behavior to your own code, third-party libraries, and even Apple frameworks. While this sounds simple, extensions allow you to up your Swift game and amplify your code in so many ways! In this talk, we will explore using extensions to have cleaner code, conform to protocols, add new initializers, extend protocols, and so much more. We’ll also show off some extensions that you didn’t even know that you wanted. Fall in love with extensions today!
Neem Serra is a mobile developer at Slalom in St. Louis. She teaches and mentors at a variety of non-profit organizations such as Software Carpentry. As the lead of the Google Women Techmakers group in St. Louis, she started the St. Louis Techies Project to highlight the diversity of technical people in St. Louis. Neem loves to bake, read comics, and host craft nights.
ML Kit is a mobile SDK that brings Google’s machine learning expertise to Android and iOS apps in a powerful yet easy-to-use package. Whether you’re new or experienced in machine learning, you can easily implement the functionality you need in just a few lines of code. There’s no need to have deep knowledge of neural networks or model optimization to get started. In this codelab we will build a sample app using Firebase MLKit for iOS.
Todd Burner is a Developer Advocate on the Firebase team. He previously worked on other teams in Google Cloud Platform, at Twitter, and a few mobile-first startups. He spends his time helping developers get up and running with open source and Google projects on GitHub and Stack Overflow, as well as meeting developers in person across the world.
Let’s go together on a journey to not just create accessible apps, but awesome experiences that absolutely all your users will be able to use and love. How to deal with Dynamic Types and Auto Layout so your UI adapts to any font size the user may prefer; What happens with those hidden actions, which are unveiled with a gesture, when using the app with VoiceOver; What to do when the user wants inverted colors, or reduce motion, or reduce transparency…? Do you know what the Rotor is and what it is used for? And we’ll have to test all this! Let’s find out how.
It is time to bring the accessibility levels of your app up to eleven!
Dani Devesa Mobile Software Engineer, Skyscanner
I am an iOS developer since I had the chance to, when I had to choose the topic for my Master’s Thesis. I enjoyed the experience so much that that’s what I’ve been doing for a living ever since. It’s been more than seven years now and I am lucky I’ve been able to learn from a great variety of experiences including working for the BBC helping to build the News and BBC+ apps. Now I am having a great time as a Mobile Software Engineer at Skyscanner, helping millions of users to plan and book their trips with their iOS devices.
When does a
UIView need a
UIViewController? The most common answer is to keep one VC per-screen, but the benefits of a ViewController can be felt by any view of any size. In this talk we will take a look at how and why to use Container View Controllers in your apps and discuss best practices and tips for keeping things manageable no matter how many ViewControllers are on screen.
Calvin Chestnut Senior iOS Engineer, WeedMaps
Calvin is an Apple enthusiast turned engineer who has been developing iOS apps in the Boston area for five years. After his college start-up was acquired he launched Drink Keeper, a HealthKit app for calculating Blood Alcohol Content. Today he is a Senior Software Engineer with WeedMaps, manages a Vapor and Swift backed server stack, and hosts the CastKit podcast on iOS Development and related tech topics. When not developing he can be found skateboarding to a meetup around Boston, playing Dungeons & Dragons with his college friends, or watching scary movies with his wife and cat at their home in Salem.
This talk will introduce the new SwiftUI framework and will provide an overview of how it is used to declaratively build user interfaces across all of the Apple platforms. Emphasis will be given on how user-interface code can be shared between platforms, from the smallest watchOS, through iPhoneOS/iPadOS, and up to macOS & tvOS.
The attendees will have enough knowledge to start developing apps using the SwiftUI framework.
Marc Prud'hommeaux Principal Developer, Glimpse I/O
Marc Prud’hommeaux is the founder and principal developer at Glimpse I/O, which makes database and data visualization apps for the Mac, iPhone, and iPad. He has been a professional software developer for over two decades and has been developing for iOS since 2008, when he released the first ebook reader “Stanza” on the opening day of the Apple App Store. Since then, Marc has worked on various world-class apps such as Amazon Kindle and New York Times Cooking, as well as his own line of macOS and iOS apps. In his spare time he enjoys teaching his daughter Beatrix to fly small airplanes.
With a set of few simple tools and a bit of enthusiasm, mobile app binary can be read like an open book. My presentation describes practical attack on an iOS app. Realizing how easy the attack can be, is the first step to improve security of your apps.
Kamil Borzym Senior Software Engineer, Allegro.pl
Kamil is an iOS software developer. He has been into mobile development long before iOS (can you remember Java ME?). Now he is working at Allegro - the biggest e-commerce company in his home country (Poland). Kamil is very curious of how things work internally, so he likes to decompile frameworks and apps. Currently he is planing to decompile an engine of his mx5.
It takes more than good internet to be connected to your team when you’re working remotely. When you don’t share a physical space with your colleagues, you miss out on interpersonal connections which otherwise come for free. This session will cover why these connections are important, and how you and your organization can work to build them.
Kathleen Chung iOS Engineer, MetaLab
I’m an iOS engineer based in Toronto, building beautiful interfaces working remotely for MetaLab. I have a special interest in developing effective teams through improving process and building relationships. Outside of workf32, I’m usually consuming cooking- and cosmetics-related content, or climbing (mostly) plastic rocks.
App development is inherently hard at scale. On one side, app developers have to create new features that users can use, which in turn helps the business make money. On the other side, app developers need to keep apps fast, consistent, fluid, fun, modular and everything users expect any app to be. A small app team can do both at once, but as the team scales, keeping focus on these two things equally in a connected way is actually hard, especially at Wayfair with over a hundred app developers and multiple apps across iOS and Android and business areas. Come listen to our journey so you can learn from how we organized app teams to scale to new heights in order to deliver successful “appy” apps!
Arnaud Lucas Engineering Director, Wayfair
Arnaud Lucas is an engineering director at Wayfair. He received his MS in computer science from Université de Technologie de Compiègne in France. After graduating from university and completing his mandatory military service, he lived in Houston, TX working for early startups in web security and e-commerce. He then moved to Boston twelve years ago. With 20 years of software development experience, Arnaud now focuses on scaling the native app organization and two new initiatives at Wayfair: Design Services and Home Services. He is also helping create the first physical permanent store of Wayfair. All of them are amazing challenges that he enjoys working on every day. Wayfair is the largest online home retailer in the US, growing at over 40% YoY, and its native app usage is growing even faster. When not working, he likes traveling with his two kids, gardening, and making beer (currently a Barley Wine.) Arnaud is always looking for strong Software Engineers and Leaders that can partner with him in scaling up his engineering teams, web, iOS and Android.
ARKit itself seems to have very limited functionalities. However, I extended what ARKit can do with CoreML when I developed my first AR app, Notable Me(https://itunes.apple.com/kr/app/notable-me/id1453810473?l=en&mt=8). It got featured on ProductHunt(https://www.producthunt.com/posts/notable-me). I will share how I developed this AR app, so other iOS developers can also come up with creative ideas to use ARKit and CoreML. Also, I will share how a mobile developer, who doesn’t know how to use Tensorflow, can create custom ML models using Turi Create, Apple’s open source library to easily create mlmodels.
Soojin Ro iOS developer, WEBTOON
Soojin is an iOS developer based in South Korea, building a comics app WEBTOON for 55M+ global users. He is passionate about Swift and ARKit, and believes AR glasses will one day replace smartphones. Once a business major in university, he learned to code in his spare time, and the first iOS app he crafted was awarded Best of 2015, 2016, and 2017(Yes, three years in a row!) Top Paid Apps in South Korea. He writes about Swift, programming, and mobile apps in his Korean blog.
When you turn on your phone’s screen, there’s only one thing that’s always there every time, reassuring you that everything is in order: the time. But how does your phone know what time it is?
Through the ages, the question of ““what time is it”” has gone from inconceivable to mildly interesting to extremely difficult to trivial. Let’s look at how it got here and how it works today. We’ll cover how anyone knows what time it is, how computers think about time, and how your phone stays up to date(/time).
You’ll learn about an important but oft-overlooked technology, timekeeping. Plus you won’t look at your lock screen the same way again.
We developers love building fully featured apps and we build them the best way we know; but sometimes this leads us to toil for too long on apps that could have succeeded just as well, with insanely less effort and time.
For the next 25 minutes we ask: do apps need server backends to deliver content? How can apps succeed while missing important features? In this non-coding, product and customer oriented session, learn about the decision-making philosophy for the WeCroak app; an app that cut development corners, while still delivering a compelling user experience. The App uses an on-device content architecture that eschews a backend and lacked seemingly important features at launch. After the App went viral, how did this architecture and lack of features hold up?
Ian Thomas Lead Developer, WeCroak
Ian Thomas is the developer of the WeCroak app, a mindfulness product that was covered in the Atlantic and New York Times and reached a peak rating of #1 in Health and Fitness apps.
He co-founded his first app startup in 2009 and created one of the first 3000 iPad apps. Working in the mobile health sector since 2010, his flagship healthcare app, FH Diagnosis, was acquired in 2017. He works on the iOS team at Visva, a social media company in Cupertino CA.
He has a BA in Political Science from Middlebury College and a Master’s in Innovation Management and Entrepreneurship from Brown University.
What makes something “testable”? What does it even mean for something to be “testable”? There is a dizzying amount of patterns, architectures, and practices that claim their superiority due to their impact your application’s testability, but almost always is the definition of testable omitted from the discussion. Worse, people believe that “testable” is a fuzzy word, and as an idea is immeasurable!
This session will provide you a concrete definition of testability that is easy to communicate and will show you how testability can be measured empirically. Along the way we’ll go through some automated testing theory, and relate how techniques like dependency injection, centralized state, unidirectional data flow, and interface segregation impact our testability metrics. We’ll also see why the claims that certain architectures are more testable isn’t always true.
After this session, you will be able to improve the testability of any of your modules in a controlled, repeatable, and effective manner. You’ll have a firm theoretical grasp on many automated testing concepts, you will be able to decompose your app’s architecture into a collection of patterns and techniques that reflect its overall testability, and you will sleep better at night knowing that you can write more testable code.
Sean Olszewski Engineering Practice Lead, Pivotal
Sean Olszewski is the author of Muter, a mutation testing tool for Swift code. Currently an engineering practice lead at Pivotal, he focuses on the practice of test driven development and the design of effective test suites in his day-to-day work. Previously, he has worked on code bases for intelligent hydroponic gardens, connected vehicles, and audio synthesizers. He can be found at meet ups in the Boston area, or organizing his meetup Learn Swift Boston.
After 18 years of ups and downs in the tech industry, Diana Rodriguez has seen good, bad and ugly. Leading worldwide community organisation for a non-profit has been an interesting experience where she found herself advocating for the exact same things she had to stand up for 18 years ago. In a sincere and honest talk about diversity, inclusion and evolution in the tech ecosystem, this isn’t a SJW rant. It’s an account of the mishaps of a woman in tech who decided to make a difference. (what do you reckon?)
Diana Rodriguez Chief DevOps Architect, VoiceThread
Diana Rodriguez is a Full Stack Developer/DevOps & Google Developer Expert. With 18 years’ experience and a strong background in back end and infrastructure, Diana likes to bring together the best of both worlds, spreading DevOps culture. She’s super enthusiastic about everything to encourage people to start a career in development and a fan of female devs and DevOps. In her spare time she likes to play videogames, also a huge fan of sports, Diana is a rugby player and taekwondo black belt.
More speakers coming soon!
More speakers coming soon!
Each workshop is at least 90 minutes
Each workshop is at least 90 minutes
No talk or workshop in this time slot.
Welcome to SwiftFest! Start the day with a few opening remarks and announcements and an overview of the vision and motivations of SwiftFest.
Giorgio Natili Engineering Lead, Amazon Kindle
On paper, I am an engineering lead at Amazon where I work with the layout team of the Kindle organization solving the problem of pre-processing, delivering and rendering the content of millions of books on billions of devices on every supported language.
In a parallel universe, I foster my vision of an inclusive and diverse community where great training is affordable to everyone. To achieve this goal, I run several conferences (Droidcon Boston and SwiftFest), participate in many meetups in Boston, Seattle, and New York, and speak at conferences covering my favorite topics: Android, Angular, Machine Learning, Swift and TDD.
I have the honor of being part of the Google Developer Experts program.