The Software Architect role at MindTouch
The Software Architects on our team are each responsible for an aspect of the application platform, and preserve the engineering quality within their area of expertise, so that we can continue to add features, preserve reliability, and maintain performance. Architects ensure that every engineer on the team knows how they should design and implement code to adhere to suitable patterns within their domain. Architects don’t (just) do research and create guidelines, but write actual production code at least 50% of their time; Establishing effective patterns and practices means doing it hands-on. Architects share their knowledge and expertise by sharing / discussing code, and through personal coaching of other engineers, rather than hoarding it and “making themselves indispensable”. A good architect is a multiplier to other members of the engineering team; not a bottleneck.
Responsibilities (in addition to the general responsibilities in role description above):
About the team
Our application infrastructure runs on AWS, and we have been improving our build- and deployment mechanisms towards full CI/CD (not quite there yet, but almost everything has been “dockerized”). We release every week, and testing is fully automated. At the same time, we’ve been swapping out proprietary solutions for AWS services where possible. We are early adopters of serverless (see https://github.com/LambdaSharp), and are always pushing ourselves to adopt new developments in technology.
The MindTouch application platform helps our customers make their internal- and customer-facing documentation easy to find.
We help customers organize and manage product- and service information across industry verticals, subsidiaries, and borders.
It is impossible to understate the importance of the search functionality for our platform. We support a seamless search experience regardless of language used, permissions of the logged in user performing the search, etc., built on top of Elasticsearch. At the same time, the millions of interactions our customers’ users have with our platform, navigating the many sites our platform hosts, updating articles, etc., throw off events that are funneled into a (Kinesis) pipeline with a variety of subscribing systems.
We use this to improve our search, run analytics to improve information architecture, and driving other valuable insights. We need a subject matter expert who will ensure our search- and event steam systems deliver value, are reliable, and high-performing.