For anyone who happened to see Kate give a lightning talk at #elixirconf here’s a throwback to her first lightning talk from when she was a teenager.
https://t.co/fwrTsTqNPx
I'm watching a tv show where some dude is trying to exert force during a handshake with another dude.
Just an FYI, a candidate I once interviewed dislocated a bone in my hand doing that.
And yes, that pretty much guarantees you won't pass the interview.
Just because you're solving a problem doesn't mean you're solving the right problem.
If you found that you aren't solving the right problem, take heed. You've likely replaced a problem that is "new to you" with a problem you know how to solve. It happens subconsciously.
Many people talk a good game about incremental improvement and delivery yet it seems to cause discomfort when the increments are indeed increments and not polished.
Don't polish the incremental, it's like polishing a turd.
And this isn't just about data, moving logic around can cause the same issues. It's quite often that a few small steps get you to your destination with zero drama. The harder part with this approach is getting approvals on your prs.
A big hurdle with the messy middle is that devs can clearly see the full work isn't done. They see loose ends and they know something should be done about them. This is where leaning into the difference between "no" and "not yet" and can be very helpful.
Having imagination is key. You have to be able to imagine the distinct states the data and abstractions will go through. Many people have a hard time imagining the stepping stones. It's much easy to imagine the final state and try to jump there.
The messy middle tends to have data that isn't in well defined objects yet. It's as if you're teasing apart the data from the old abstraction and just using the data raw without any abstraction over it.
Then you're trying to push that data into the new abstraction/pattern. Dealing with 2 different abstractions at the same time in the code can be challenging. If you can move from abstraction to data to new abstraction, it can make thinking about the start, middle and end easier.
Managing the transition from an old pattern to a new pattern is greatly helped by having a good grasp of your stable stepping stones.
I often see devs struggle with how to manage that messy middle. It's almost an art to pick the right time to lean into the new pattern.
There were nuts hidden all over the place inside. Removing all the nuts fixed the problem. The only other memory of that trip was that Florida had a ton of spiders, alligators were a threat and I hated swimming with the water snakes.
When I was very small, we had friends who had rescued a baby chipmunk. It lived with them its whole life. When the husband passed (the chipmunk had passed much before) we went down to help take care of the house. My dad needed to fix the washer. When he opened it up…