Author: jamison

  • Who Needs an Office?

    I want to compare and contrast two different scenarios for you. Let’s make up an actor, named Jeff, who is a software developer. Jeff lives in Smallville (not a real town) and works in Largecity (also not a real town, go figure). Jeff loves his job, but it’s almost 40 miles away and takes him over an hour to get there in traffic.

    Scenario 1: Jeff wakes up at 8:30AM, drinks his coffee, eats his peanut-butter-slathered bagel while reading HN, then has to begin getting ready for work. He showers, shaves, brushes his teeth, dresses, and packs his bag. He’s not out of the house until 9:15-9:30. He’s not at the office until 10:00 earliest. He’s not productive until 11:00.

    That’s an important detail, so let’s make it a metric. We’ll call it TTP (Time to Productivity). Remember that for later.

    Scenario 2: Jeff wakes up at 8:30AM. He sees a Slack from his boss that says that he doesn’t have to come into the office today because the A/C is broken. Jeff still performs his usual morning routine, except he skips the part where he gets dressed to go out and also skips his entire commute. He may also skip the part where he showers and shaves because he knows he’s not going out (don’t be gross, Jeff). He sits down at his company-issued laptop which he brings home every day and he’s productive by, say, 9:30AM.

    What’s his TTP? In this scenario, it’s 60 minutes. In the previous scenario? It’s almost triple that. There’s a lot of time spent in Scenario 1 that has to be spent, because Jeff can’t teleport, but that’s time no one can get back. Time that could be spent fixing bugs.

    The problem is, there are more costs than most people realize to commuting to an office that’s far away from the developer’s home. Time loss is just one. Wear-and-tear on a vehicle is another. There are environmental tolls from driving emissions–Jeff doesn’t drive a Tesla–and there are mental tolls from fighting traffic and other drivers. So what’s the point? Why bother with all the wasted time?

    The answer is: because face-time is important. When I’m in a meeting with my manager, his facial cues tell me things his voice doesn’t and vice-versa. His body language. Being able to point at one another’s screens. Being able to round the corner and knock on his door. Just being available.

    Except, it’s 2019. Online communication platforms like Slack, video chatting programs like Skype, and document collaboration platforms like Google Drive Enterprise are better than ever, so all Jeff (or you, or me) really needs to do his job is a solid Internet connection and access to a terminal.

    Tools are what companies should be investing in, not traditions. I write some of my best code at my own computer, snacking on popcorn, with my triple monitors, and my obnoxiously-loud mechanical keyboard. It’s always been that way, and it always will be.

    So don’t take developers out of their natural habitats. Managers, allow remote work and watch your TTP shrink and your productivity grow.

    Related links:

  • Better Time Estimates with Relative Weights

    This past weekend I was working on my side project (which is a secret, sorry!) and I was trying to find a good way to organize the issues in priority order. I came across a fantastic article on the Atlassian Agile Coach which presents a system for estimation using issue weights ranging from 0 to 100.

    The special thing about this range is that it’s comprised of numbers roughly adhering to a Fibonacci sequence, like so:

    0, 0.5, 1, 2, 3, 5, 8, 12*, 20, 40, 100

    *In the article this value is 13, but I changed it to 12 because that’s a workday-and-a-half and made more sense.

    So it’s not too far of a leap to translate these weights to man-hours of effort. In other words, I realized that an issue with a weight of 8 should take me one full work-day to complete.

    I liked that paradigm, so I made a bunch more:

    So what do we do with this data? Well, besides providing a decent time estimate for the issue, issues can be sorted by weight and organized into sprints. We can also make burndown charts, which are super cool:

    So here we can see the project is on progress, with some slight deviations in ticket times around days 6-8. This kind of information is valuable to managers to see where bottlenecks are.

  • Why I Quit College

    One of the first things I tell recruiters when they reach out to me is that I don’t have a college degree, since so many postings these days require one. I don’t want to waste my time or theirs discussing a position that I will eventually lose due to my academic status. For the enterprising few that want to know why I quit college, the answer is for three simple reasons:

    Reason #1: I suck at physics.

    I love physics. I find its concepts and applications fascinating. However, when it comes to the mathematics, modeling, and comprehension of its infinite details I’ve always fallen short of the mark. I have, on my bookshelf next to me, no less than 8 physics texts chock-full of fully-worked physics problems and their solutions, each purchased in more desperation than the last to pass Physics II at my beloved Montgomery College. Through hard work and dedication, I managed to eke out a B, but I knew that my physics career was over at that point in time. And you can’t be an engineer without a solid understanding of physics.

    Reason #2: Weed-out classes are for the birds.

    Engineering is a hard major, often compared to medical or law school in terms of difficulty and cost. Everyone knows this, and so no one should be surprised at having to work hard for a degree of the caliber. However, in my experience this concept seemed to be stretched too far past reality. Classes that I took were built to fail kids out, not just by grades but by stress and drama. Tests with passing scores of 36. Students betraying and backstabbing one another for the professor’s favor. TA’s vying with one another to see who could answer the least number of questions in study hall. I made that last one up, but in what way are these things conducive to learning? I couldn’t think properly from all the noise, and the charm of being an overworked engineering student wore off fast.

    Reason #3: College is too expensive.

    I don’t need to rehash the omnipresent issue of college debt, as it is an issue of massive importance to today’s voting crowd. Students can’t pay it because a degree isn’t worth the paper it’s printed on anymore. Parents are pulling at the collars and wiping away sweat because they cosigned all of these loans that Junior took out to go to business school (not to mention his beaming younger sister with dreams just as ambitious). And to make matters even worse, for-profit colleges are taking advantage of kids by promising them their dreams and billing them in advance, without disclosing the uselessness of their degrees after they “graduate”. The college debt crisis is coming soon, and I refuse to make matters worse for myself than they already are.

    “So, are you ever going back?”

    I very, very much hope so. I LOVE learning, in fact my personal motto is Never Stop Learning. One day when I have enough financial stability and time to return to academia, you can bet I’ll be the first in line at the registrar’s office. It saddened me greatly to have to pull the plug on my first set of college years, but I couldn’t invest any more money or time into something that wasn’t showing results.

    Let’s end on a happy note: how awesome am I gonna be when I finally do go back?? Years and years of industry experience?! Heck yes!!

    I’ll leave you with this awesome quote:

    “We learn from failure, not from success!” 

    Bram Stoker, Dracula
  • The Journey Begins

    Welcome to Serious Semicolons. This blog used to be named “Semi-Serious Semicolons”, but it was determined that that was too many “semi”s. I set this up to go live with my new website at https://jamison.bryant.ai, which I programmed myself. I was going to implement a blog module for myself, but I figured blogs have already been implemented 1,000 different ways, so what’s the point in writing code that’s already been written.

    Stay tuned for articles about code, web development, technology, standards, and much more. Looking forward to your readership.

    • JRB