136 karma · joined June 6, 2024
This is all kind of just your opinion that you are stating as hard fact
I've used the FROM SCRATCH strat with nix:
https://mitchellh.com/writing/nix-with-dockerfiles
Is that how you implemented it?
Some of that is probably unavoidable as Nix is used by users aiming to solve fundamentally complex problems
Yes it is annoying to maintain 2 separate environments, but it's also not my end goal. A perfect solution for me would be a spec that is IDE agnostic, but also works as a VSCode dev container, all from a common source.
Maybe it's an unrealistic goal. But I've actually enjoyed trying and failing with nix so far, so it hasn't been too much of a burden.
A form of this which mixes devcontainer and nix might be the holy grail
https://www.youtube.com/watch?v=kpBXrsVg83Y&t=941s
Positives
- You lean on the power of dev containers while still using a portable spec
- You get access to nixpkgs which is arguably the most exhaustive package library
- You get the "true reproducibility" of nix over docker
Negatives
- Docker remains the king for ephemeral databases, more convoluted to manage with nix
That usually means using similar technologies, or otherwise popular, and well backed technologies. Go has that in abundance over Elixir.
For any personal project I'd take Elixir the vast majority of the time.
I think being a hard worker regardless of reward is an honorable trait, but keeping that up for decades is difficult. Naturally I am very loyal and agreeable. I like to solve raw engineering problems, but also social ones. I find a way to adapt to pretty much anything and anyone.
This almost always ends with my employer exploiting me.
Recently I've switched it up. I focus for a solid 2-4 hours a day on my tasks, and I use the remaining time for learning. It keeps my mind moving and keeps burnout at bay. Even average engineers like myself can optimize their workflow endlessly. You have a few choices at that point. You can give your surplus labor back to your employer in exchange for raises, bonuses, promotions etc. You can take back those hours to improve your WLB. You can reinvest those hours into learning that benefits your current employer, but more importantly, makes you more attractive in the job market.
Right now I find myself consistently choosing the third option. Not because I'm focused on maximizing my earnings, but because it is the most fulfilling and enjoyable option for me.
There's tons of pros to each. I guess I will continue to have fun with both!