Posts

  • Published: Design Your Software Organization Using Conway's Law

    Impressionist Org Chart © 2022 James Leonardo
    Impressionist Org Chart © 2022 James Leonardo

    I just finished reading Team Topologies by Matthew Skelton and Manuel Pais. While many of its recommendations are geared towards organizations with a large software development organization, I found a lot of great insight for anyone who is part of developing software with more than one or two other people. Team Topologies relentlessly applies Conway’s Law and the “Reverse Conway Maneuver” to building an organization. Conway’s Law simply states that the systems built by an organization will reflect the way that organization communicates. The “Reverse Conway Maneuver” is an application of Conway’s Law: if you want to build a system with a certain architecture, then you need to build the organization to fit that architecture. I discuss this more in Design Your Software Organization Using Conway’s Law.

    more→
  • Playing with Copilot and introducing Hello Evolved

    Robot Coder © 2022 James Leonardo
    Robot Coder © 2022 James Leonardo

    I occasionally dabble in programming languages outside of the main few I work in. Because it may be a few years before I get back to a language, I wanted to create a few short example programs that show the basics of a language and that I could keep together in one place. The traditional “Hello World” is too trivial to be an example, so I started working on a specification for examples that is a little more elaborate. I then realized it would be a good way to introduce a new language to any experienced developer. So here we go: I call it Hello Evolved. It’s a work in progress, but you can see it on GitHub today at https://github.com/jimleonardo/hello_evolved. This little project also let me take GitHub’s Copilot, an AI driven code assistant, out for a spin. Copilot complements the concept of Hello Evolved nicely by helping an experienced developer who is working in a new language understand that language, but it isn’t even close to being ready to be a virtual programming partner.

    more→
  • On Vacation and On Writing

    On Vacation © 2022 James Leonardo
    On Vacation © 2022 James Leonardo

    I don’t have much to talk about this week as we are just back from a mini-vacation and retreat. We were in Lake Geneva, WI for about 5 days to unplug for a little bit and also so my wife could attend a work related retreat. It was nice to unplug, but unplugging meant I didn’t spend much time on https://jimsrules.com. The weather was nice and cool, the leaves were just starting to change, and there was too much nothing to do, if you know what I mean.

    more→
  • What is Art in the Age of AI?

    Blogger © 2022 James Leonardo
    Blogger © 2022 James Leonardo

    AI is making a lot of people nervous. Sometimes for the right reasons, sometimes for the wrong reasons.

    What are some right reasons to be nervous about AI? Being nervous about the ability of self-driving cars to safely handle new situations is valid since lives are at stake. Wondering if advancing AI tech will make the rich richer and the poor poorer is also something worth pondering. Will AI-generated deepfakes destroy society? Maybe it sounds alarmist, but it is also a question worth asking. Is facial recognition a tool for good or evil? There are good uses, but do we know how to use facial recognition properly?

    I will not tell you how I answer those questions in this post. I’m focusing instead on a question I think should not cause anyone to worry about anything and why some of the responses to the question are harmful. It is a philosophical question: Are AI-generated images actually art?

    more→
  • Acronym Soup

    Avocado Soup © 2022 James Leonardo
    Avocado Soup © 2022 James Leonardo

    This time around, I will be providing a little writing advice. You are probably thinking, “That’s rich, coming from you.” Annnnyyyyywaaayyy…

    We all love our acronyms and initialisms. They are part of the modern world, and we can’t escape them even if we wanted to. We even have an initialism for them: TLAs (Three Letter Acronyms). Unfortunately, they are often confusing. Did you mean Mobile Device Management (MDM), Master Data Management (MDM), Multidimensional Data Modeling (MDM), or Miniature Dwarf Mice (MDM)? This time around, I discuss some good practices for defining acronyms that will help us avoid feeling like we’re drowning in Acronym Soup.

    more→

subscribe via RSS