-1
archive,paged,author,author-scottwb,author-3,paged-2,author-paged-2,stockholm-core-2.4.4,select-child-theme-ver-1.1.3,select-theme-ver-9.12,ajax_fade,page_not_loaded,,qode_menu_,wpb-js-composer js-comp-ver-7.9,vc_responsive
Title Image

Author: Scott W. Bradley

iceberg

Technical Debt: When Ignorance Isn’t Bliss

Software Developer Productivity Killer #3: Tech Debt

Ahoy, dear reader! We’ve spoken about ‘useless meetings‘ and the perils of the ‘open-plan office‘. Today, we embark on a voyage beneath the surface to unveil a silent killer, lurking in the deep, dark abyss of codebases everywhere – Technical Debt.

For the uninitiated, technical debt might sound like the overdraft fees on a credit card statement, but trust us, the costs can be even more perilous if not managed. But fret not! We’re here to unveil the mysteries of this productivity assassin and guide you to safer shores.

🌊 Understanding The Iceberg That’s Technical Debt

  1. The Tip of the Iceberg: On the surface, everything seems fine. Your software is running. New features get deployed. But underneath lies layers of rushed code, shortcuts, and bandaids that, much like the bulk of an iceberg, remain invisible to the untrained eye.
  2. The Silent Accumulator: Technical debt accrues silently. It’s the byproduct of fast decisions, expedited features, and temporary fixes. While a quick workaround might speed things up today, it will slow everything down tomorrow.
  3. Feature Slowdown: Ever wondered why the latest ‘simple feature’ took thrice as long as you hoped? Beneath the water, your dev team might be battling tentacles of ancient code and patchwork solutions. The deeper they swim, the harder it gets.

📉 The Business Cost of Ignoring Technical Debt

  1. Lost Time and Money: The longer technical debt remains, the more expensive (in both time and resources) it becomes to address. Your devs aren’t magicians; they’re navigators trying to avoid crashing into that looming iceberg. Code reviews take longer, more bugs appear and are harder to fix the right way, and overall code quality suffers.
  2. Reduced Morale: A team constantly battling the deep-sea monsters of messy code can quickly lose enthusiasm. And a demotivated team isn’t a productive one.
  3. Innovation Stagnation: With so much energy going into managing existing chaos, there’s little left for innovation and growth. Do you really want to be stuck sailing in circles?

🚢 Navigating Away from The Iceberg

  1. Post-Mortem’s Critical Role: Taking shortcuts during an emergency or to expedite a release can be an acceptable strategy. But it’s like borrowing against tomorrow – you must repay it, preferably sooner rather than later. After such incidents or rapid releases, conduct a post-mortem. Assess and catalog the quick fixes and patches applied. This isn’t about finger-pointing but about understanding the new debt that’s been taken on. Prioritize paying down the heaviest debt even before diving back into your feature roadmap. The short-term gain is only beneficial if you’re strategic about the long-term repercussions.
  2. Track Technical Debt: Just as businesses track financial obligations, technical debt should be recorded and monitored. Consider tools or platforms designed for this. If you can’t measure it, you can’t manage it.
  3. Allocate Regular Paydown Time: Embrace that a portion of your dev team’s time needs to be dedicated to addressing and reducing technical debt. Think of it as regular maintenance on a ship to ensure smooth sailing.
  4. Educate and Involve Everyone: Tech debt isn’t just a ‘dev issue’. Business stakeholders should be educated on its implications. When everyone’s on board (pun intended), it’s easier to navigate treacherous waters.

💡 In Conclusion

Technical debt, if left unchecked, becomes that giant iceberg threatening to sink your ship. But with intentionality, regular check-ins, and an understanding that it’s as real as any financial debt, you can sail through smoother waters. After all, in business, as in sailing, forewarned is forearmed.

And if you’re already feeling a bit seasick from tech debt, consider chatting with an expert (hint: us) to help navigate. Why DIY when you have a seasoned captain just a call away?

✋ Keen on avoiding more developer productivity pitfalls? Dive into our discussions on ‘useless meetings’ and the ‘open-plan office’. Stay tuned; we have more voyages planned in this series to guide you through the turbulent seas of productivity.

0
caveman coder

Why Your Dev Wants To Live In a Cave

Software Developer Productivity Killer #2: Open Plan Offices

Ah, the modern open-plan office: a utopia of collaboration, communication, and… countless distractions? If you found yourself nodding (or even chuckling) at our series’ opener on the ever-ubiquitous ‘useless meetings’, strap in! We’re about to tackle another biggie on the list. Say hello to productivity killer #2: Open Plan Offices.

But before we set off on this whimsical journey, if you missed the maiden voyage into the land of ‘why-so-many-meetings’, you can catch up right here. But for now, back to Bob and his dream of becoming a modern-day caveman.

👹 Why Open-Plan is the Freddy Krueger of Productivity Dreams

  1. The Illusion of Togetherness: Open plans were designed to foster collaboration. Yet, they often become a cacophony of ringtones, chatter, chewing sounds, and the unmistakable sound of Bob’s bad ass mechanical keyboard fury. Yes, you’re together, but is any real work happening?
  2. Focus? What Focus? Bob was in The Zone. Remember that? But wait, Jane just remembered a hilarious cat video she simply MUST share with everyone. And there it goes – Bob’s concentration, like a fragile soap bubble, bursts.
  3. The Inadvertent Eavesdropper: Developers, often in their quest for a bug, mutter incantations. In an open plan, Bob isn’t just coding. He’s also inadvertently tuned into three different project updates, a recipe exchange, and someone’s weekend plans.
  4. The Quick Question Conundrum: It’s tempting, oh-so-tempting, to swivel your chair and ask Bob a quick question. Yes, you might get your answer in 30 seconds, saving you a 15-minute search. But here’s the rub: you’ve just dragged Bob out of his flow state. While you saved 15 minutes, it’s costing him 15-30 minutes to get back into the groove. Do the math, and the net productivity just took a nosedive.

🤫 Defeating The Open-Plan Demon

  1. Introduce Quiet Zones: Dedicate spaces where silence is golden. Think of it as a library: a sanctuary where devs like Bob can code in peace, without fearing the next viral video ambush. This should be the developers’ main working area, not some prison cell down the hall without all of their monitors and such.
  2. Partition Magic: No, not a throwback to 90s software – actual physical partitions. Use bookshelves, plants, or even trendy modular walls. Anything that gives Bob his own mini-cave.
  3. Headphones: The Universal ‘Do Not Disturb’ Sign: Encourage a culture where wearing headphones signifies, “I’m deep diving, disturb at your own peril.” And respect it.
  4. Flexible Working Arrangements: Some people thrive in open plans; some, like Bob, contemplate desert islands. Allow for remote working days or flexible hours to cater to all productivity rhythms. Let’s be honest: after the pandemic, this is likely the new norm anyway. (And for exactly these reasons.)
  5. Private Offices and Real Cubicles: The Shields of Solitude: Let’s face it, those half-height cubicles aren’t fooling anyone. They’re like wearing a hat and thinking you’re invisible. Real, full-height cubicles or private offices offer more than just “don’t look at me” privacy. They safeguard devs from the myriad of visual distractions – be it the tantalizing glint of a passing donut or colleagues unleashing their inner mime artists. Visual serenity can be just as crucial as silence for deep focus.

🎁 Wrapping It Up

Open-plan offices aren’t inherently evil. Like a mischievous pixie, they can be tamed with a bit of thoughtful strategy. Respect individual work rhythms, and always be on the lookout for signs of a distressed Bob.

✋ Missed the first productivity killer? The siren song of ‘useless meetings’ awaits you here. And stay tuned because productivity killer #3 is lurking just around the corner.

0
2023 08 11 16 49 57

Why Your Dev Just Bought a Magic 8-Ball

This is the first post in a series on software developer productivity DOs and DON’Ts. Check back often for upcoming posts…

Software Developer Productivity Killer #1: Useless Meetings

Picture this: your software developer, let’s call him Bob, is at the peak of his creative genius. He’s coding at the speed of light, the characters dancing on his screen in a coordinated ballet. Just then, the dreaded ping – yet another meeting request. Bob’s heart sinks, his momentum wanes, and he wonders if he should swap his laptop for a typewriter to dodge digital meeting invites.

Alright, now before you brandish pitchforks my way, let me clarify – not all meetings are evil. Some can be life-affirming soul-searching odysseys. But many, oh-so-many, are like that extra sprig of parsley on your dish. Looks nice, but no one knows why it’s there.

😱 Why Developers Loathe The Meeting Monster

  1. The Zone Disturbance: Every time a developer is yanked out of “The Zone”, it takes a good 15-30 minutes to get back into it. The Zone is that magical realm where developers wield their wizardry. You know what doesn’t exist in The Zone? Meetings about whether to use Oxford commas in comments.
  2. The Mismatch of Tongues: Developers speak in code; managers often in spreadsheets. It’s like expecting a cat and a goldfish to discuss the merits of wet vs. dry food. Spoiler: the goldfish doesn’t care as long as it’s wet.
  3. The “This Could Have Been An Email” Syndrome: 85% of what’s discussed in meetings (okay, maybe a cheeky estimate) could have been summed up in a well-crafted email. And the other 15%? Probably could have been a Slack message.

⚔️ How To Slay The Useless Meeting Dragon

  1. Agenda is a Must: If you can’t write down what the meeting is about, chances are it doesn’t need to happen. An agenda makes the difference between a focused huddle and an aimless gossip fest. Some even go farther – consider adopting the ‘Amazon 6-Pager’ method where dense topics are distilled into a concise 6-page narrative; it encourages clarity and deep thinking…and provides a higher bar to requiring a meeting.
  2. Time is Money; Cap It: Unless you’re solving the mysteries of the universe, most meetings shouldn’t exceed 30 minutes. Set a timer if you must! And if anyone starts with, “This might be off-topic, but…” – it’s a trap!
  3. Ask “Who Really Needs to be Here?” If Bob’s expertise is in back-end development, he probably doesn’t need to opine on logo colors. Send Bob back to his magical coding realm. He’ll thank you. So would your CFO if he could calculate the ROI of the salaries in the room vs the outcomes of the meeting.
  4. Post-Meeting Homework: Summarize. Distribute. Action. If there are no clear next steps after a meeting, then what was it all for?

💡 Conclusion

Meetings aren’t the enemy. It’s aimless, purposeless, could’ve-been-an-email meetings that developers detest. Think before you ping. Remember, every time you pull a developer into a needless meeting, somewhere in the world, a Magic 8-Ball gets a question like, “Should I attend this meeting?” And the answer is, more often than not, “Outlook not so good.”

Next time you’re tempted to drag your tech team into a meeting, ask yourself: “Do I really want to be the parsley on Bob’s plate?” If the answer is no, rethink that invite.

Now, if you’re struggling to optimize team productivity and communication, remember there are experts (like yours truly) who can help. Because, let’s face it – you could do it, but why would you when there’s a cheeky genius available for hire? 😉

0
RubyMotion

Wake Surfing With RubyMotion

This article is a re-post written by Facet Digital cofounder, Scott W. Bradley from his personal blog.

A couple weeks ago, our first Facet Digital client project to go public in 2014 was launched in the Apple App Store: Supra Boats Swell Surf System.

This is a multimedia catalog app designed for reps and resellers on the boat show floor, allowing them to show off their Swell System for wake surfing. It features an interactive look at some of the unique features of this system, such as the ability to change the shape of the wave and even which side of the boat the wave is on! I’m no professional wake surfer, but just watching some of the videos embedded in this app make me anxious for summer to arrive…and to participate in some of these fun photo shoots with the great folks at Supra Boats for next year’s app.

READ MORE