- AWS - Postgres - Linux - Docker - Jenkins or similar - Slack - Pagerduty - Jira - Packer - Terraform - etc
If you stay on the path there will be dozens of tools, plugins, and paths to do outstanding things with minimal work. Parallelising builds for example is built in to jenkins (if you define the workflow), which will autoscale workers in a setup that takes < 1 hr to setup in aws.
If you're writing code to solve a problem that a standard tool exists for, you're the problem.
You'll probably spend at least an hour figuring out IAM permissions before you even get to deploy a VM.
Something broke ? Well, rip it up and reinstall! But what about the data ? Who cares?
Platform engineering is a term I used to use in its place to try and differentiate but it seems that's being taken over now as well.
I hear you. IMHO there's massive opportunity / unmet need here. And working on the things that interest and excite you is the surest path to (or maybe even the definition of) success. I hope you can find a way to start pursuing your ideas! Good luck!
Not Kubernetes (?) unless I missed something.
The rewarding thing for me is applying this and other sensible defaults like observing iteration speed and driving delivery..
In real world, permutation and combination are endless. Every org has peculiar problem either created by the engineers themselves or are result of certain business decisions.
Circuit breakers, bottlenecks, IOPs, load shedding, traffic behaviours can all be visualised.
I'm not sure how you would represent latency with this visualization but that's also important. It more represents throughput.
Can also be used to represent human work/tasks itself.
If your writing a script that will touch 10k servers, the operation is likely already slow. if you throw an unnecessary for loop that iterates over everything and runs something, that's going to a painfully slow script and wasteful.
The lineage of interesting or useful things I do are tied to the client and dies with that client or when I leave.
I just think of the thousands of CI/CD systems, build systems, attempts at parallelising builds, impressive optimisations, tooling, automation that have been written for each company over-and-over-again, and there's no cross polenation except when they are open sourced.
I suppose Kubernetes is part of the answer here, a distribution of practices that survives organisations and spreads between organisations and client-specific lineages of software evolution.
I want to work on interesting capabilities such as diagrammatic observability and live visualizations of systems.
I really need to make a idle cloud environment simulation game where you invest time in servers, capabilities to handle load and problems that occur randomly or on a schedule.