I started a new job at a major tech company last month. One of the reasons, as has been the case all other times for a job change, was so I could expose myself to technologies and problems I've never before encountered. You'd think, after the 5th time changing companies (not counting pre-tech life), I'd get used to onboarding and not feeling overwhelmed. You'd think! Granted, many factors play into that feeling, including the specific environment, the amount of support I get via people (live or via chat) and documentation, the scope of my team's ownership, my familiarity with some of the technologies and concepts going in, and the particular responsibilities for my role.
Anyway, after a month and a half, I thought it would be interesting to document all the non-confidential jargon I am getting familiar with. I'll try to update this as time goes on.
Finagle is an extensible RPC system for the JVM, used to construct high-concurrency servers. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency. Most of Finagle’s code is protocol agnostic, simplifying the implementation of new protocols.
Finagle is written in Scala, but provides both Scala and Java idiomatic APIs.
Finatra is a lightweight framework for building fast, testable Scala applications on top of TwitterServer and Finagle. Finatra provides an easy-to-use API for creating and testing Finagle servers and apps as well as powerful JSON support, modern logging via SLF4J, Finagle client utilities, and more.
Before this company, I had only worked with Finatra Jackson, Finatra's JSON solution (which we called Finatra Jackson at the time).
A golden test is an
IOaction that writes its result to a file. To pass the test, this output file should be identical to the corresponding golden file, which contains the correct result for the test.
Machine Learning concepts
Model Training vs. Model Inference
Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts when specified conditions are observed.
The features that distinguish Prometheus from other metrics and monitoring systems are:
- A multi-dimensional data model (time series defined by metric name and set of key/value dimensions)
- PromQL, a powerful and flexible query language to leverage this dimensionality
- No dependency on distributed storage; single server nodes are autonomous
- An HTTP pull model for time series collection
- Pushing time series is supported via an intermediary gateway for batch jobs
- Targets are discovered via service discovery or static configuration
- Multiple modes of graphing and dashboarding support
- Support for hierarchical and horizontal federation
At other companies, I've used a combination of Datadog and Splunk.
See link above.