For decades, software architects had been a privileged few. Businesses once encouraged only the best developers to rank up to this elite class, like it was a natural evolution of a developer's D&D character sheet.
Every man is the architect of his own fortune, but few developers were the architect of their own software.
As time progressed, knowledge of software architecture has been shared more and more. Blogs on the Internet have allowed cross-pollination of ideas. Sharing architecture publicly has allowed small companies to hire better and wield an outsized influence. However, many engineers still keep a poor grasp on why architecture exists, how it works, and what needs it solves.
I recently embarked on a voyage to define the software architecture of a substantial new Android project at Mozilla and reviewed many competing architectures employed at major tech companies. I evaluated the state of the industry and came up with an option that meets our needs best.
Come learn what architecture is, why it matters, who is using what solution, and how to apply this knowledge for good.
Colin is an experienced software engineer specializing in Android development. He worked for Mozilla on the Firefox for Android rewrite. He has worked for many successful companies in the past fifteen years, including Amazon, Flipgrid (acquired by Microsoft), Cray, Pearson VUE, and When I Work. He runs the Twin Cities Kotlin User Group in his spare time. He now works full-time for Meetup and enjoys traveling the world during their generous paid time off.
He has been programming since he learned BASIC on the TRS-80 computer in his parents' basement at age six. He has been writing Android apps since soon after the first Android phone launched and has done so professionally since the last space shuttle landed. In that time, he's probably been pitched every silly app idea and been offered a percent stake in the zero dollars most actually earned.