James Edward Gray II

@JEG2@genserver.social
920 Followers
94 Following
203 Posts
Author of Designing Elixir Systems with OTP. Always interested in new ways to teach programming.
pronounshe/him
old bloghttp://graysoftinc.com/
locationEdmond, OK

I’m closing out, for now, my series on questions at the heart of development with an analysis of when we need more abstraction. For example, taking the advice from @germsvel about architecting more accurate models can reduce future bugs.

https://programmersstone.blog/posts/why-is-this-hard/

#Elixir

Why is this hard?

This article is part of the series JEG2's Questions. In a previous article of this series I talked about how we must remain ever vigilant against what is making it into our code. I talked about the need to always analyze the cost of everything we are agreeing to carry forward. But there are two sides to every coin. Now we need to talk about when you need to fight to add more code, process, and infrastructure. This is the second concern that I always try to keep in my thoughts.

The Programmer's Stone

This talk by Giovanni Francischelli on handling #LiveView reconnects is a great blend of fun and educational!

https://www.youtube.com/watch?v=AnbWtyB3pcQ

#Elixir

Phoenix LiveView: Mastering Reconnects for a Seamless User Experience -Giovanni Francischelli

YouTube

In this third article of my questions series, I’m coming for your dependencies! I do my best to add a fifth cost to the cost of YAGNI laid out by @mfowler. You can also find out what my favorite programming book is.

https://programmersstone.blog/posts/what-will-it-cost-to-carry-and-remove-this-dependancy/

#TechDebt #YAGNI #dependencies

What will it cost to carry and remove this dependency?

This article is part of the series JEG2's Questions. I've built a lot of applications with a lot of teams. I've seen a lot of the problems with software development. There are two problems that I've seen so often that I believe they are worth looking out for at all times. The first of those is the accumulation of high cost dependencies.

The Programmer's Stone

In my second post of key questions for developers, we dig through the insights from multiple @mononcqc posts to determine how products evolve and the environments that facilitate that process.

https://programmersstone.blog/posts/what-are-we-afraid-of/

#ProductDevelopment #PsychologicalSafety

What are we afraid of?

This article is part of the series JEG2's Questions. One of the lessons I learned during my time in management is that it was far more important for me to worry about creating environments where good work could get done than it was to spend my effort directly doing the work. As one person, the maximum I could contribute was whatever my upper capacity was. However, if I could improve the work environment to give the team a boost, their future efforts would be increased relative to the size of the team. They could accomplish more than I could ever hope to. Which leaves just one question: what is the ideal work environment?

The Programmer's Stone

The first article in the series is about all of the great things that can be learned from my favorite @jessitron presentation and how developers work best in a Product Dev team:

https://programmersstone.blog/posts/how-will-we-know-it-works/

How will we know it works?

This article is part of the series JEG2's Questions. As programmers, our primary function is to achieve Product's roadmap. We will into existence the features Product believes will move the product forward. However, how we do that matters. It can be easy to fall into the trap of just blindly grinding through as many tickets as possible, but that's not truly as helpful to the business as it might seem at first glance.

The Programmer's Stone

I’m publishing a new series of articles on my blog this week. It’s my attempt to condense and share what I’ve learned in over 20 years of #ElixirLang / #Phoenix / #LiveView and #Ruby / #Rails development. I hope you find it helpful.

https://programmersstone.blog/posts/jeg2s-questions/

#MyElixirStatus

JEG2's Questions

My System by Aron Nimzowitsch was one of the early chess books that had a big impact on me. The first part of the book, called The Elements, is where Nimzowitsch lays out the specific criteria he is monitoring to evaluate chess games. Do I have any open files? Have I created any passed pawns? Am I pressing the attack on the back ranks? This tells Nimzowitsch and his readers that a chess game where they have managed to create a passed pawn on an open file that they control and push it to the seventh rank is probably going pretty well for them. That's chess. Let's talk about programming…

The Programmer's Stone
I’m reading a classic programming paper tonight. Can you name it from the following quote? “If you think good architecture is expensive, try bad architecture.”
Back to back.
The true weight of knowledge.

💬 Saw this conversation prompt in a local tech Slack:

"What makes you optimistic about [the tech] industry?"

Oof.

My optimism has been in freefall for years, but I welcome people trying to balance the scales of my mind.

Got any good things to share?