brokebook
interface Ok<T> { kind: "ok"; value: T; }
interface Err { kind: "err"; error: string; }
type Result<T> = Ok<T> | Err
const maybeNumbers: Result<number>[] = [
{ kind: "ok", value: 10 },
{ kind: "err", error: 'some error' },
{ kind: "ok", value: 9 },
];
function isOk<T>(thing: Result<T>): thing is Ok<T> {
return thing.kind === "ok";
}
const okNumbers: Ok<number>[] = maybeNumbers.filter(isOk);Kubernetes came around exactly at the time when people tried to start using it for something serious and things like overlay networking, service discovery, orchestration, configuration became issues. For us, k8s, already in it's early (public) days, was a godsend.
Also, i can confirm: the k8s development process is incredibly open. for a project of this scale, being able to discuss even low-level technical details at length and seeing your wishes being reflected in the code is pretty extraordinary. It will be interesting to learn how well this model will scale in terms of developer participation eventually, i figure the amount of mgmt overhead (issue triaging, code reviews) is pretty staggering already.
also, working with k8s will probably spoil you, it's pretty annoying to "go back" to other environments, where you're confronted with problems which would be effortlessly solvable in kubernetes.
While the job market seems to be in favor of job seekers these days (it seems to be practically impossible to recruit developers for small/medium shops, you get pinged by recruiters all the time) the salary does not really reflect this. it's rising but pretty moderately. you get offered $100k jobs once a while, mostly in finance.
Also the air gets pretty thin in germany when you actually want to do technically interesting and challenging things. Most jobs on the market are quite dull and involve enterprisey and/or legacy things. Most developers I worked with, however, do not seem to mind the backwardsness, are happily married to their languages and tools, and tend not to be overly passionate about their work (which might just be the right attitude).