I've been looking ahead so much that I forget to look back and remember how I got here. Sometimes, though, the best lessons are found not in your future, but your past. When I started writing software for a living, I took for granted that I would always have the youthful energy and the joy of discovery that comes with writing. I would study and write for hours on end, never giving in to hunger or fatigue. I just wanted to finish what I was writing, to see it work and say "Cool!". Don't get me wrong, there's still some of that youthful energy, and I still find joy in discovering new things. But I've learned that it's ok to take a break for a while and enjoy life. The code will still be there in the morning.
I don't remember exactly when I looked forward to an architecture role. 8 years, 10 years of coding? Even then, I'd heard of careers that came after software development, but I never thought that I wanted to change. I guess one day, after a particularly exhausting project, I realized that software development followed the same pattern, even at the most experienced levels. I saw the same thing, day in and day out, and felt powerless to change it. Some days it was a brooding depression that things would never change, and others it was a realization that things must change, that I would find out how. No more of the endless grind of DevOps, the tinkering with minute features, the hard limits placed by a design that I had no part of. At first, I thought it must be my lack of experience. After more education and experience, I thought it must be where I was working. Then finally it dawned -- this truly is a problem that every software developer has!
So, without really knowing what I was getting into, I talked to my boss. I told him I was interested in taking on an architectural role, that I wanted to be part of designing the future. To my surprise, he agreed immediately. I was given a small task by the CIO to demonstrate what I was talking about, and went off to study Enterprise Architecture at the University of Toronto. 6 months later, I was granted the IT Architect title. It didn't take very long for me to realize that I didn't really know what I was doing. I had a vision for what I wanted to accomplish, but I had no experience in this role. And then, having gone through a few months with just a few principles in mind, I realized that I was actually doing my job well. I was looking on the frontier of technology. It wouldn't be a stretch to say I felt a little like James T. Kirk at that point, marvelling at the vast expanse of unexplored territory.
One of the things that struck me most about working as an architect was the comradery I felt with other architects. Some were slightly more experienced, the odd one way more experienced. But they all treated me the same way: a novice who they could impart wisdom to. I've always felt grateful for these meetings, and treasured the knowledge that was bestowed. I began to feel more comfortable with what I was doing. The vision turned into a plan, and little by little, the plan took shape. Sometimes events forced me to slow down, to do research, to write business cases and analyses and truly convince others that my idea would work. And other times, events forced me to work harder and faster than I ever had in my life.
Looking back now, I see one year's journey behind me, and I'm amazed at what I've accomplished. On my first day, I wasn't sure that I could accomplish anything. Now I'm seeing just how much more there is to accomplish. Little by little I adapted my training and advice from others into a vision and plan that truly fits our organization. Slowly the building blocks came together and we were a little farther ahead. I spent time adapting solutions to fit our business better, to be more robust and scalable. I collaborated with others and learned the value of planning. Long gone are the days of just diving in and writing code. Experiments must be performed, data collected, costs measured. And every day I get better at these things. One day I hope to be like the colleagues I've met, and impart some wisdom on another novice architect, to give him confidence in his own vision, and gaze out on the frontier together.
There are many roads to Enterprise Architecture. My classmates at U of T came from varied backgrounds: business analysts, project managers, software developers and network specialists. But we all had one thing in common, to look at the design from ever higher vantage points and solve problems on a larger scale. I've had the benefit of many wise and experience instructors and colleagues. And I've learned my most important lesson: you're not out here alone.