There are three fundamental tiers of team-based work within organizations; while this article will be focused on improving software engineering teams specifically, many of the thoughts contained within are broadly applicable across industries. The first tier of team-based work happens within single teams, and is limited to the people that make up that team (and how they work together). The second tier occurs as teams inevitably collide - learning to work cross-functionally, perhaps, or with h...| www.jamessimone.net
It's common when discussing software engineering to encounter the phrase 'decoupling.' I've talked about it in over ten articles on this site alone 😅. Decoupling itself is really a nod to one of the SOLID principles -- namely, dependency inversion or the idea that objects shouldn't be 'strongly coupled,' instead relying on 'loose coupling' where objects take in dependencies that are as abstract as possible. Why does this matter? Why should we consider how strong or loosely coupled the obje...| www.jamessimone.net
I was reflecting on a week filled with deploys last night and thought there was an interesting takeaway about two different instances of scope creep - and the two _very_ different outcomes we as a team ended up with in two of our applications. It's a story where you as the reader get to decide at the end of the day what the takeway is. I'll be interested to hear if you end up with the same takeaway that I did.| www.jamessimone.net
At the end of 2020, I decided to take 2 weeks off of work at the end of the year. I was very fortunate to be able to do so, and I found myself in the position of wanting to give back. I'd had to replace DLRS within the org for the consulting company I was working for several months previously, and the idea of creating a more performant rollup engine was an alluring way to do so. The simple `RollupCalculator` class I'd made seemed just a _few_ lines away from a much simpler implementation than...| www.jamessimone.net
We owe our ability to understand abstractions in programming to philosophy; much as we owe a debt to mathematics for putting the theorems responsible for our code -- and computers -- to work into words. Consider the immortal words present in the Tao: A well-shut door will stay closed without a latch. Skillful fastening will stay tied without knots. One does not simply (walk into Mordor) build a door that works well. A factory for doors cannot provide you with the quality of worksmanship and p...| www.jamessimone.net