Kevlin is an independent consultant, trainer, speaker and writer. His development interests and work with companies covers programming, practice and people. He has contributed to open- and closed-source codebases, been a columnist for a number of magazines and sites and has been on far too many committees (it has been said that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"). He is co-author of two volumes in the Pattern-Oriented Software Architecture series, editor of 97 Things Every Programmer Should Know and co-editor of 97 Things Every Java Programmer Should Know.
Java programmers have a lot on their minds. The codebase, the JDK, Java, JavaScript, build and deploy scripts, code in other JVM languages, frameworks, unit tests, testing approaches, programming techniques, IDEs, tools, development process, deadlines, meetings, software architecture, design patterns, team dynamics, code, requirements, bugs, code quality... and more. A lot.
The 97 Things Every Java Programmer Should Know project has collected together the wisdom of the crowd to offer a distilled snapshot of what every Java programmer should know, from code to people, from Java to other JVM languages, from inside the JVM to the outside world. Presented by the two editors of the book, this talk draws from this collection to present some highlights and useful advice.
"Why, sometimes I've believed as many as six impossible things before breakfast," the Queen told Alice on her adventures through the looking glass. Only six? In software development we believe impossible things all the time, no matter the time of day! In this talk, however, we are going to take a look at six specific impossible things that shape the limits of what we can develop, all the way from the smallest detail of integer representation to the minefield of task estimation and prioritisation, via the uncertainty of distributed systems and the limits of computability. Once we know our limits, we can work within them to create solutions rather than problems.
Software development can't all be fun and games, but how much fun do we not have by assuming that fun is something that happens in the future, after we've finished a task, a sprint, a major release...? How much joy is absent from out future work by the decisions we take today? How much is already absent from decisions made by others? It is a cliché that the journey matters more than the destination, but the deeper truth is that the journey is the destination. Software is never truly done, one release is followed by work on the next, and so on. How do we enjoy what we do and what we have on a daily basis?
This keynote will take a look at our passions, our frustrations, our myths, our realities and our relationship with our tech and our practices with a view to creating a more enjoyable here and now.
Searching for speaker images...