Scott Wierschem

Founder: Keep Calm & Refactor Project

Scott Wierschem has been coding for 35 years now. He loves nothing more than to dig into an old, crufty ball of mud codebase and refactor it to be more flexible and robust.

His Keep Calm and Refactor project is created to help developers get their unruly code under control so they can work on fun and rewarding projects.

Presentations

This talk introduces Approval Tests, specifically in their ability to facilitate adding tests to otherwise untestable code.

It also introduces some safe refactorings to introduce seams and allow characterization tests to be written on existing code

Technical skills are fundamental to success in IT, but developers have a well-deserved reputation for having poor social skills. We all know the guy who is really great once you get to know him. But that's rarely the guy who moves ahead. To succeed in a technical career, we need to be able to communicate effectively with co-workers, managers, potential employers and customers.

This session will give some guidelines and helpful techniques that make it easier to express yourself confidently and clearly, and also to listen carefully so you can advance in your career.

When trying to track down a bug, the first thing we usually do is jump into the debugger and start stepping through the code. Then we settle in for a long, tedious slog stepping through the code. This session will discuss some great new techniques and tools you can use to streamline your debugging sessions.

We will be borrowing liberally from the new book “Troublshooting Java” by Laurențiu Spilcă.

We spend far and away more time reading code than we do writing it, but we spend far more time and money learning how to write it better. We are all familiar with the feeling of looking at a piece of code and having no idea what it does. Trying to debug it is a real chore! What if you could confidently approach unfamiliar code knowing that you can find what you need to in short order?

This session will show you some tools and techniques to be able to read and comprehend unfamiliar code more quickly. We will also go over some debugging techniques to help find bugs more quickly in unfamiliar code.

Refactoring is an essential skill for working with legacy code. Knowing code smells and how to correct them through refactoring is essential for maintaining an existing code base. But what are we refactoring to? We don't want to refactor just for the sake of it. This is where design patterns really shine. When we refactor to a proper design pattern, we are putting together a real solution to the problem rather than just moving code around to make it a little more readable.

This session will show you how to use your full developer toolbox so you can go from code smell to refactoring recipe to design pattern to solution.

Athletes and artists practice a lot before they go on stage and perform. It's impossible to practice and learn new skills while we are performing our day job. We have workouts for our bodies.

This talk will introduce some workouts for our minds to sharpen the skills we use daily and help us to learn new skills.

Most developers think the work they do daily is enough to carry them through their careers. But NFJS attendees want to stretch and learn more. You want to really get in shape! But how do you exercise for computer work?

This presentation will provide resources and exercises, and a plan for doing them regularly, so anyone can improve their skills working with legacy code. I will show you how to find and use katas, some helpful techniques to practice, some great references to use for more information, and some helpful tools and techniques to turn this kind of practice into a regular habit. Let's get ripped! (technically)