Hi all, welcome to the first engineering newsletter! We know it can be hectic around here—between email, slack, and meetings, it's easy to miss cool ideas or important updates. This newsletter aims to capture many of the noteworthy things that have come up over (roughly) the past month.
If you like this newsletter and find it valuable, please let us know! If you'd like to help keep it going, please come talk with us in #newsletter. You can also help out by using the :newsletter: (newsletter) react on interesting posts and comments—this helps us find useful content!
The July all hands slide deck is available here.
Self Serve Vault is live! You can now check your secret configurations and add non-DB secrets. Please talk to #jarvis for any questions or feedback.
For compliance, engineers will be required to confirm each quarter that, to their knowledge, our compliance-related policies have been followed. These include policies relating to change management (all changes get reviewed), deployments (go through TeamCity), how security incidents are handled, etc. For more information, see the all hands slides or talk to @smacisaac.
@tdixon introduced a high-level architecture and roadmap for the M4 (multi-cloud, multi-region, multi-service, multi-tenant) Platform. As a pilot, we're aiming to create a solution that delivers custom Live API-like indexes to support a review generation solution for Hibu to be built by Consulting. If this is successful, the platform will be productionized for use in helping to build and support Reviews Live API, Pages generation, Answers indexing, and Listings delivery. [Slides]
For many of our current products, our customers need to do very little administration to keep their e.g. listings up to date. The Answers-Ready Platform (Knowledge Graph + Answers + Self-Serve Pages), however, will require much more active administration. Yext could do this for our customers as we do today, but that would involve a lot of internal support and effort.
Another approach is to make this self-serve. In particular, we want to focus on optimizing self-serve for "Yext Administrators"—people who are excited to use the Yext platform and have, or can develop, enough technical ability to configure and use our platform as a power user. This model, popularized by Salesforce, would enable Yext to create an ecosystem around using and integrating with our product—which would then hopefully make our platform easier and more popular to use. [Slides]
We hosted our first Tour of Engineering, where new engineers got to hear about our systems and teams! There's plenty of good content, even if you've been around for a while. You can find all of the presentations and videos here.
Tired of asking questions in #bazel only to discover that they've been answered in #intellij? Ask instead in #engineeringhelp, intended to be the go-to place for widely applicable engineering questions.
bazel build, especially if you have targets that aren't built in your
Collectors2, such as
toImmutableList(), are now deprecated! Please use the corresponding methods in
ImmutableSet, etc. instead. [Thread]
edward start yea!
<details>to make collapsible markdown sections!
TagLoggerallows you to easily add tags to your Sentry errors!
Do you find yourself needing to use production-like data in your tests? @mdunn's lightning talk discussed how you can use dependency injection and replicated data to easily and safely configure your application's tests. [Slides]
Need to do something more complex with RabbitMQ? Check out this discussion for ideas, such as using a priority queue, using multi-queues to bucket by user type, the "shunter" pattern, and designing for multiple consumers.
We love feedback and want to make this newsletter as valuable as we can. Please join us in #newsletter to offer feedback, suggestions, or to help with future newsletter issues!
This month's newsletter editors are @jdelerme and @vple.