One of the greatest drivers of professional development is learning through doing. 2018 marks the fourth year of O’Reilly’s Software Architecture Conference, a software engineering event focused on providing hands-on training experiences for technologists at all levels of an organization—from experienced developers up through CTOs. As the latest installment of this conference approaches, here’s a brief roadmap of the trends, sessions, and tutorials to explore as you write your own story of transformation.
Building evolutionary software architecture
For a variety of reasons, parts of software systems resist change, becoming more brittle and intractable over time. However, the world we inhabit has exactly the opposite characteristic: the software development ecosystem exists in a state of dynamic equilibrium. New tools, techniques, approaches, and frameworks constantly impact this equilibrium in unanticipated ways.
While this creates a headache for fragile systems, it also provides the ultimate solution. Over the last few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as they evolve. An evolutionary architecture supports building systems that allow architects and developers to make sweeping changes to the most important parts of their systems with confidence. The move toward microservices has no doubt helped to usher in this architectural movement.
Get going on the road to migrating to evolutionary architecture by exploring these hand-picked sessions and tutorials:
- Continuous delivery in an ephemeral world
- Incremental architecture
- Continuous delivery patterns for contemporary architecture
Becoming an engineering leader
Success as a senior developer, software architect, or tech lead comes from more than technical expertise and solid ideas. These are leadership roles that require effective communication to succeed, a challenge which is made more difficult by the ecosystem that technologists work in. Communication involves much more than simply documenting and diagramming. Engineering leaders need to get input from and communicate their thoughts to a wide range of stakeholders, including business representatives, project managers, development team members, and designers.
In addition to communication, engineering leaders need to understand how to analyze new technologies, effectively capture architectural decisions, and manage personal productivity. Soft skills such as these help you work well within a larger corporate structure, and ensure that technology is a first-level concern at your company.
Here are a few sessions and tutorials that will appeal to everyone who wants to take charge of learning organizational and soft skills:
- Shaping and communicating architectural decisions
- The architect as strategist
- Thinking architecturally
Understanding new technologies in practice
Software has grown ever-more complex as it has become more mission-critical and far-reaching. What’s more, as new technology and architectural paradigms surface, there’s often a major gulf in understanding between the theory necessary to learn the technology or paradigm in question and practical implementation within real-world systems. And many times the only way to bridge these chasms is to experiment and grok a problem on an iterative basis, drinking success and setback in equal doses. But most organizations don’t have the time (or resources) to devote to R&D projects. Sometimes the best way to figure out if a new technology or paradigm will be a good fit for your company is to discover how other organizations made a similar shift.
Check out the below sessions to gain clear insights into how leading companies are designing complex distributed systems:
- Why Netflix built an evolutionary architecture
- How Shutterstock built a component-based 12-factor application
- Evolving a modern end-to-end data infrastructure at Comcast
The trends, sessions, and tutorials mentioned in this post are meant to serve as starting points for writing your own story of transformation. There are many other paths to consider, although adopting a well-rounded approach that cuts across developing technical proficiency alongside tried-and-true soft skills is most recommended. Taking the time to construct a balanced plan of attack will enhance your breadth of knowledge while equipping you to stand anchored in the waves of digital transformation. You’ll also become a more dynamic technology leader—and you’ll be a beacon of hope for the rest of your organization.