> “if you commit in 2022 to java/scala - you subscribe to heavy 20yo over-engineering legacy, whether you want it or not”
Fully committed to Java on services side and Scala for data transforms and Spark jobs.
The Java services have 500k-1MM TPS.
For a dev onboarding, setting up personal dev environment on Mac or their VM and creating personal cloud stack takes less than 10 min.
some of the services are up to 4-5 years old. couple spun up end of q3 this year. I think those are getting more like 100k TPS.
Devs are pretty happy, we have decent roadmap for next year, and operational support is totally reasonable. Zero pages all month (knock on wood).
We have high test coverage, including unit and integ tests, canaries, and full ci/cd. A couple code paths use AWS X-ray but with very low sample rate to avoid blowing up costs.
All the services are Java. The Scala I think is even simpler and more straightforward. Spark and a few other things orchestrated using Airflow. The Airflow scripts are in Python though.
Let me know more about your prediction for our over engineering. People are happy (close 1:1 feedback from people I mentor, their managers, and managers manager), and we’re making money [knock on wood].
Why is this not good enough and how can it be better?
Btw we have dedicated software engineers in test. Their tooling is also using Java in quite a few places, and their partnership with core dev teams is very strong. Haven’t gotten negative feedback from them or their leadership either.