2013 Speakers

Craftsmen Cannot Live on Stack Overflow and Github Alone

Friday, November 8th11:00-11:30 AM

There are ways that people become true experts. "Community participation" means something different today than it has meant in the past. Some of the changes are an improvement, and some miss the boat. Do we really need 10,000 hours? Can we shorten it to 3 months? And if 10,000 hours makes us an expert, what does 40,000 make us? What do we do in those 3 months (or 5 years or 20 years) to become an expert. Is there a place for Novices? We'll attempt to answer a few of those questions, and leave you with questions that only a true expert will answer.

About Ken

Ken Auer was introduced as the father of Software Craftsmanship at the first SCNA conference. Whether or not that is merited, he has always taken pride in his craft. He was one of the early pioneers of using Object-Oriented Programming in real world, commercial applications in the mid-80s, pioneered immersion-level apprentice programs in the early 90s, as well as Patterns, XP, and studio style development when he founded RoleModel Software in 1997. He believes that Software Craftsmanship (rather than just blog and tweet about it), and lives to build high-performance teams that turn his clients concepts into reality.

Gary Bernhardt

The Birth & Death of JavaScript

Saturday, November 9th11:00-11:30 AM

This talk traces JavaScript's impact on software development tools over forty years, from 1995 until 2035. Although the language is mostly dead today, it drove the largest transformation of mainstream development tools since the creation of Unix 65 years ago.

We'll examine some key moments in JavaScript's history: its accidental rise to popularity; asm.js, allowing arbitrary software to run at native speed in browsers; the language ecosystem that grew up around asm.js, displacing JavaScript itself; the replacement of traditional Unix terminals, shells, and editors with new, higher-level equivalents running against the DOM; and finally, the inversion of the browser-OS relationship, still ongoing.

This story is told by someone who was a fervent JavaScript detractor during its rise. It was easy to see the language's numerous and glaring shortcomings, but miss the path that it laid out.

About Gary

Gary Bernhardt is a creator and destroyer of software, compelled to understand both sides of heated software debates: Vim and Emacs; Python and Ruby; Git and Mercurial. He runs Destroy All Software, which publishes advanced screencasts for serious developers covering Unix, Ruby, OO design, and TDD.

Sarah Gray

Mark by Mark: Some Reflections On Writing New Worlds

Friday, November 8th10:00-10:30 AM

Software is the result of encoding manual processes into written instruction sets that are maintained by people and executed by computers. In other words, as developers we are translating the so-called Real World into automatable processes that can run without --or alongside--people. We are also, much like Harold with his famous Purple Crayon, envisioning and creating new worlds, walking one step behind the marks we make on the page. In this talk I will share some thoughts on writing and testing the worlds we create when we turn conversation and speculations into code.

About Sarah

Sarah has been developing software for a number of startups since 2001. Prior to that she got her masters degree from ITP in NYC, where she spent a few years making projects that sat in the intersection of art and technology, waiting for the light to turn green.

She is currently a senior software engineer at Trunk Club, where she has been focused on building a set of micro-services that will enable scaling the universe of well-dressed men to massive proportion. Sarah has been nicknamed "The Voice of Reason" at just about every job she's ever had, and her passion in software is writing well-tested, clear, and maintainable code that makes people's lives easier, more successful, and more fun.

Stuart Halloway

Datomic and How We Built It

Friday, November 8th3:00-3:30 PM

Datomic is a database of flexible, time-based facts, supporting queries and joins, with elastic scalability and ACID transactions. Datomic queries run your application process, giving you both declarative and navigational access to your data. Datomic facts (datoms) are time-aware and distributed to all system peers, enabling OLTP, analytics, and detailed auditing in real time from a single system.

In this talk, I will begin with an overview of Datomic, covering the problems that it is intended to solve and how its data model, transaction model, query model, and deployment model work together to solve those problems. I will then use Datomic to illustrate more general points about designing and implementing production software, and where I believe our industry is headed.

About Stuart

Stuart Halloway is a founder and President of Cognitect and of Relevance. He is a Clojure committer, and a developer of the Datomic database. Stuart has spoken at a variety of industry events, including StrangeLoop, Clojure/conj, EuroClojure, ClojureWest, SpeakerConf, QCon, GOTO, OSCON, RailsConf, RubyConf, JavaOne, and NFJS. Stuart has written a number of books and technical articles. Of these, he is most proud of Programming Clojure.

Chet Hendrickson

Ron Jeffries

Nature of Software Development

Saturday, November 9th2:00-2:30 PM

In creating Extreme Programming, Kent Beck said his goal was to make the world safe for programmers. The Software Craftsmanship movement can trace its roots to Kent's statement. But, is that all Craftsmanship should be about? Should it server a higher purpose? Must it serve a higher purpose? In this talk, Ron and Chet will explore the state of Agile software development and how the Software Craftsmanship movement can be leveraged to make the world safe not just for programmers, but for the Whole Team.

About Chet

Chet Hendrickson has a quarter century's experience in information technology and software development. He has been active in Agile software development since its beginning, and was the team leader on the Chrysler C3 project, the first project to follow all the practices of Extreme Programming. Chet was the first signatory of the Agile Manifesto.

About Ron

Ron Jeffries is author of Extreme Programming Adventures in C#, the senior author of Extreme Programming Installed, and was the on-site XP coach for the original Extreme Programming project. Ron has been involved with Extreme Programming for over five years, presenting numerous talks and publishing papers on the topic. He is the proprietor of xprogramming.com, a well-known source of XP information. Ron was one of the creators, and a featured instructor in Object Mentor's popular XP Immersion course. He is a well-known independent consultant in XP and Agile methods.

Ron has advanced degrees in mathematics and computer science, and has been a systems developer for more years than most of you have been alive. His teams have built operating systems, compilers, relational database systems, and a large range of applications. Ron's software products have produced revenue of over half a billion dollars, and he wonders why he didn't get any of it.

Sandro Mancuso

Craftsmanship: A Few Years On

Saturday, November 9th10:00-10:30 AM

It's been 12 years since Pete McBreen's book and 5 years since the Software Craftsmanship summit. So, what is the current state of Software Craftsmanship? If there is a Software Craftsmanship movement, where is it? What is it? Is it an elitist movement? Is Software Craftsmanship becoming a religion? Does it have a narrow focus? Is Software Craftsmanship just XP rebranded? Does it fit large organisations? In this presentation, Sandro will be talking about the current state of Software Craftsmanship, explaining its values and addressing some of its biggest criticisms.

About Sandro

Sandro started coding at a very young age but just started his professional career years later, in 1996. He has worked for startups, software houses, product companies and international consultancy companies. Having worked as a consultant for the majority of his career, he had the opportunity to work in a good variety of projects, different languages, technologies and industries.

Currently he is a director and a software craftsman at UBS Investment Bank, where he writes code, looks after the quality of the applications, mentors developers and helps teams around the world to get better at delivering quality software.

Brian Marick

Programming with the Automatic Part of Your Brain

Saturday, November 9th12:00-12:30 PM

When smoothing wood with a hand plane (craftsmanship!), you should always work with the grain rather than against the grain. It's becoming increasingly clear that what we normally think of as rationality is fairly rare. Much of what we do is governed by our brain operating on autopilot. Reasoning is the expensive stop-gap our brain uses (sometimes!) when the cheaper solution isn't working right. Programming is typically seen as an occupation that requires thoughtful precision and rationality: we will work against the grain of our brain. The resulting nicks and chips are only evidence that we should try harder! What if we instead train the automatic part of the brain to do what we want - to simply react appropriately? In this talk, Brian Marick will discuss how he tries to do just that.

About Brian

Brian Marick was a Lisp and C programmer in the 80's, a testing consultant in the 90's, and an Agile consultant in the 00's. This decade he's a Clojure and Ruby programmer. He was one of the authors of the Manifesto for Agile Software Development and is the author of four books (The Craft of Software Testing, Everyday Scripting with Ruby, Programming Cocoa with Ruby, and Functional Programming for the Object-Oriented Programmer).

Robert Martin

Specification Discipline

Friday, November 8th9:00-9:30 AM

The first bullet in the "XP Developer Bill of Rights" is: "Programers have a right to know what is needed..." In other words, they have a right to know the requirements. But rights and responsibilities go hand in hand. The fact that we have the right to know what is needed means that we have the responsibility to find out what is needed. That means that programmers play a critical role in the specification of systems. We've learned, over the last few decades, that the best way to specify a system is with tests. So specification disciplines are test disciplines. What are those disciplines? What are the responsibilities that programmers have? What responsibilities do customers, product owners, business analysts, and QA have? Given that specification error is one of the primary reasons for project failure; what must craftsmen do to mitigate and eliminate such errors?

About Robert

Robert Martin (Uncle Bob) has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Development: Principles, Patterns, and Practices, and UML for Java Programmers.

Katrina Owen

Here Be Dragons

Saturday, November 9th4:00-4:30 PM

It's not your fault. Code rots. We don't hold entropy against you, but we expect you to give a damn.

This story is about code that brings new meaning to the word 'legacy'. The accidental discovery of this body of code provoked a moral crisis. I wanted to pretend I hadn't seen it, yet I couldn't justify tiptoeing quietly away.

This talk examines the dilemmas we face when balancing our choices today with their cost tomorrow.

It's not your fault. Even so, it is your responsibility.

About Katrina

Katrina ran away from the circus and found her true home in the land of computers and code. She enjoys optimizing and automating, taking busywork away from smart people and putting it into code where it belongs. She is the problem solver you want on your side. She is driven by an inexplicable urge to refactor, and has for the past 6 years volunteered as a nitpicker at the Javaranch Cattle Drive, where she attempts to brainwash others to write clean code. She appreciates a good steak, and admits to enjoying a nice stick fight.

Dave Thomas

Unknown Knowns

Friday, November 8th4:00-4:30 PM

In 2002, Secretary of Defense Donald Rumsfeld introduced us to the concepts of known knowns, known unknowns, and unknown unknowns. But he left out Unknown Knowns, things that we know without knowing it. And it turns out that these Unknown Knowns are actually the biggest category of knowledge-tacit knowledge.

As developers, we work with knowledge: knowledge of the problem domain, knowledge of our tools, knowledge of our techniques, and knowledge of each other. So getting good at accumulating tacit knowledge is important.

This talk will look at how we are poorly served by most of the current ways we are taught to be better developers. Can the craft movement do better? Only if it stops talking. Let's see why.

About Dave

Dave Thomas is a computer programmer and author/editor. He has written about Ruby. Together with Andy Hunt, he co-authored The Pragmatic Programmer and runs The Pragmatic Bookshelf publishing company. Dave Thomas lives north of Dallas, Texas. He moved to the United States from England in 1994.

Dave coined the phrases 'Code Kata' and 'DRY' (Don't Repeat Yourself). He studied computer science at Imperial College London.

Carina C. Zona

Schemas for the Real World

Friday, November 8th12:00-12:30 PM

Social app development challenges us to code for users' personal world. Users are giving push-back to ill-fitted assumptions about their own identity - name, gender, sexual orientation, important relationships, and many other attributes that are individually meaningful.

How can we balance users' realities with an app's business requirements?

Facebook, Google+, and others are struggling with these questions. Resilient approaches arise from an app's own foundation. Discover how our earliest choices influence codebase, UX, and development itself. Learn how we can use that knowledge to both inspire the people who use our apps, and to generate the data that we need as developers.

About Carina

Carina C. Zona is a developer and consultant. She has taught for Girl Develop It, Black Girls Code, RailsBridge, PyLadies, and RailsGirls. She served on RailsBridge core team and Women Who Code core team. She is also a certified sex educator. In her spare time, she engineers baked goods.