joeyrosztoczy1
For peers, far apart estimates might indicate differences in understanding of the problem/solution.
For a team, if they are wildly diverging or low-certainty it can indicate the right next step is experimentation or exploration, rather than committing on delivering something to production.
For an organization, they can provide a barometer for investment decisions, such as what the appetite to solve a given problem space is, or how to evaluate sunken costs.
I particularly like a progressive framework on estimates, i.e. 10% certainty when a project is just taking shape, 20% when scope gets tightened up, 50%+ after spikes / rfc drafting / design etc.
Often they are used for rote accountability, which can be detrimental and/or naive - they should be a stake in the ground to have discussions around risks, assumptions, and trade-offs!
- Declarative + functional programming - Highly productive (great frameworks for embedded + web, developer ergonomics, etc) - Great exposure to Actor Model concurrency - Great generic performance (no stop the world gc, strong multicore use via Erlang scheduler + processes, and lots of optimizations based on vm immutability) - Lots and lots of exposure to systems stuff + strong devops tools (built for distribution*, Erlang runtime tools, observer, great logging and telemetry libraries, etc) - Lots of built in services/tools (can use ETS instead of redis for things like auth-checking throughput)
You can have both ^^ (and every tradeoff whichever extreme you feel more comfortable veering towards).
One important comment I want to make is that even well managed, life is a journey with peaks and valleys. Its part of being human to struggle with this (and occasionally conquer it).
Current habits / beliefs:
1. I've been practicing MBSR (mindfulness meditation) for 40 - 60 minutes 5 days a week for almost 2 years. I cannot stress how powerful I believe the impact of this practice has been for me, nor how challenging it is to develop this habit. The investment is absolutely worth it.
2. I cycle in and out of a ketogenic diet (2 - 3 months on , 2 -3 months off). I lost 40 pounds and got to a very healthy weight in the very first cycle, haven't needed to lose weight since but I believe the diet + the weight have a profound impact on my mood stability and self perception respectively.
3. Connect with people. I'm not sure if its because I enjoy writing software so much or have any natural tendencies toward introversion, but I've gone through periods where I don't do this and there's a good correlation there with my mental health. I'll prioritize activities with friends and families at the same "strict" level as meditation. They can add perspective and meaning to life in ways nothing else can.
Edit: Also in the worst of times I'll turn to "Feeling Good" by David Burns, and finally the plug for if things are really rough professional help is the way to go.
It takes the cognitive overhead off of the programming language completely and focus on design principles in a really modern learning style.