Interview with Colin Breck: “I Still Don’t Know What I Want to Do When I Grow Up.”
Ahead of the upcoming Reactive Summit, we sit down with Tesla software engineer Colin Breck as he talks fast-data systems, Reactive, and machine learning.
Join the DZone community and get the full member experience.Join For Free
Colin Breck does not need much introduction. With two decades of experience in developing fast-data infrastructures for the monitoring and control of industrial applications, Colin is currently with Tesla working on distributed systems for the monitoring, aggregation, and control of distributed, renewable-energy assets.
At Reactive Summit in Montreal, Colin is doing a talk “From Fast-Data to a Key Operational Technology for the Enterprise” on October 24th. We’re barely containing our excitement for Colin’s talk, so we asked him a few questions about his professional journey, the challenges companies deploying Reactive face and the solution to these challenges.
What’s your background and what sparked your interest in fast data?
In graduate school, I evaluated various techniques for using multivariate statistical analysis of time-series measurements for preemptively detecting faults in industrial systems, what today would be called machine learning for condition-based maintenance. Developing these models, along with simulations of complex, industrial processes, sparked my interest in programming. When starting my professional career, I looked for an opportunity to refine my programming skills, while continuing to work on systems for time-series analysis and process control. I have been working on software systems for industrial automation and control ever since. Fast-data has always been at the core of these systems.
What problems do you solve as a part of your day-to-day job?
My focus is on building services for the monitoring, aggregation, optimization, and control of renewable-energy assets. These are systems that demand low-latency messaging and reliable data-processing, at scale. The applications that these systems support are used in operational settings, as well as in consumer-facing applications, and they must be highly-available and reliable. Beyond my engineering work, I also manage a couple of teams. Growing high-performing teams and mentoring people are things that I really enjoy.
Reactive is a new hype term even for traditional developers. What is your prediction for its importance in application development for the next couple of years?
Reactive might be a hyped term, and an often misunderstood term, but it does not diminish the fact that the principles of Reactive Systems are fundamental to building systems that are robust, reliable, and scalable. I think, over time, the term will fade away and there will be no distinction: these principles will just be the way that people design and develop software systems. Most platforms, services, and frameworks will evolve to naturally encourage developing and operating systems with these principles at their core.
What is the biggest challenge companies deploying distributed Reactive systems are facing?
Many people lack education and experience in building these systems. This is exacerbated by the expedient, short-term thinking that is prevalent in so many organizations. Too often, embracing the principles of Reactive Systems comes from learning these lessons the hard way.
I think organizations also struggle with technology decisions. Many of the components that are at the core of these systems continue to evolve and people are faced with a range of technology choices and architectural patterns. At the end of the day, Reactive Systems don’t emerge from one technology choice or another, they are the result of embracing systems-thinking with a focus on the quality of the systems that we are building.
What is the best solution for this challenge?
I believe it is important to mature software development as an engineering discipline, taking a systems-approach to designing, developing, and operating systems, focusing on quality, resilience, elasticity, security, and responsiveness.
As the infrastructural and platform components of these systems mature and become more ubiquitous, it should encourage people to make good architectural decisions. I think we already see this happening as people adopt Platform-as-a-Service components from the major cloud-providers, Functions-as-a-Service, service orchestration, actor-model programming in frameworks designed for distributed computing, and Reactive Streams APIs. There is still a significant learning curve, but these technologies tend to constrain choices to ones that are compatible with building high-quality systems.
What is your most ambitious professional dream that you hope to achieve one day?
I like working on problems that involve the interaction of systems: software systems, engineering design, teams, organizational issues, even understanding why people behave the way they do. That said, I still don’t know what I want to do when I grow up.
Who should attend your talk and what will they learn?
My talk is a food-for-thought talk. It is targeted at engineers and engineering leaders. It is intended to provide an overview of the issues that must be considered in order to elevate fast-data to an operational technology, critical for the reliable, real-time operation of your business.
Whom would you like to connect with at the conference?
I am looking forward to catching up with friends and colleagues, as well as meeting new people and learning about the challenges they are working on, particularly around how they are operating Reactive Systems, at scale, in production environments.
Don’t miss Colin Breck and his talk “From Fast-Data to a Key Operational Technology for the Enterprise” at Reactive Summit in Montreal. There are only a few tickets left so do not miss out and book yours now.
Published at DZone with permission of Kathleen Hayes. See the original article here.
Opinions expressed by DZone contributors are their own.