Coraline Ada Ehmke is a speaker, writer, teacher, open source advocate and technologist with 20 years of experience in developing apps for the web. As the founder of OS4W.org and contributor-covenant.org, she works diligently to promote diversity and inclusivity in the tech industry. Her current interests include refactoring, code analytics and artificial intelligence.
What happens when a successful and visible software developer announces to the world that they plan to transition from male to female?
In August of 2013 I stood with friends on the stage at a Ruby conference and told the world that I am transgender. I began the long process of my personal, social, professional, and physical transition from male to female.
I would like to share the lessons I’m learning, the perspective I’m gaining, and the inspiration I’m finding through the experience of living and working in two genders. How is this change impacting my career as a developer? Interactions with my peers? My relationship with the development community? Is it influencing how I create and appreciate code? My hope is to spark conversations and create opportunities for shared learning and growth by exploring the intersection of gender and technology.
There are dozens of code metrics tools available to Rubyists, all eager to judge our codebases and tell us things that we probably already know. But when technical debt is piled high and feature friction really sets in, we need more than to know that our User class has a “D” grade. How can we use tools and tests to help us formulate a refactoring plan that amounts to more than just rearranging bricks in a crumbling building? Let’s explore some of the more interesting code analysis tools, take a look at our testing techniques, and find novel ways to combine them into a meaningful refactoring strategy.
Symmetry. Simplicity. Elegance. Patterns.
Much of how we understand, describe, and value code is based on subjective criteria that are easy for us to grasp intuitively but almost impossible to define or communicate objectively.
Can advances in applied aesthetics and theoretical neurology provide insights into the advantages and disadvantages of relying on such elusive criteria? Do mathematical and evolutionary theories indicate that our code evolves aesthetically to enhance its survivability, durability, and success?
This talk will explore the role that concepts such as beauty, sublimity, completeness and simplicity play in the way that we model reality in software, relate to our own and other people's code, and ultimately measure the value of our work as professionals.
Our profession borrows ideas from engineering, architecture, and other sciences, adopting language that influences and constrains our thinking. But there are rich sources of metaphors from other areas of human knowledge. Metaphysical systems, for example, embody hundreds of years of investigating and modeling the world, our minds, and our interactions with the universe around us. This talk will explore some of these systems, uncovering gems that may change the way we think about our craft and our selves.
Inspired by the medieval guild-and-apprentice system, the increasing popularity of bootcamps and apprenticeship programs in software development has great promise but may also bring with it some serious negative side effects. Let's explore the benefits of applying 12th century best practices to the challenge of preparing a new generation of developers, and discuss ways to avoid the mistakes of the past: technologically conservative monocultures comprising and serving a privileged few.