An Article

The ABCs of Software Development

Nick Walsh By Nick Walsh // 11.17.2022

Software developers lean on pattern matching. It’s handy for building good stuff, sure, but we’re not good at turning it off in other contexts — like writing about software. Between our articles here and industry-related conversations, that pattern matching has surfaced a bunch of words and phrases in heavy rotation. This post aims to poke some (lighthearted) fun at them.

Let’s get right to it. Development terms we call on frequently for each letter of the alphabet:

A is for Application

Naming things is software’s hardest problem, even when writing about it — saying software over and over again lacks variety. Application is a pretty good changeup, even if it flies a bit close to app and its App Store connotations.

Honorable mentions: accessibility, agile, algorithm, analysis, animation, augment.

B is for Budget

Software budgets come with a reputation for not sticking to the script. Setting a price ceiling and honoring it are highly-valued arts.

Honorable mentions: back-end, backlog, ballpark, blueprint, build, buzzwords.

C is for Communicate

It sounds simple, but it’s an area where many teams slip: Communication dictates whether or not the right things are built the right way. Custom applications lean on a steady stream of good conversation.

Honorable mentions: change, code, collaborate, commit, community, component, concurrent, consult, critical, cruft, custom.

D is for Domain Expertise

New and novel projects start with some outside expertise. Within your specialized domain, which processes can be automated or scaled?

Honorable mentions: everyone’s services (discover, design, develop), data, dependencies, digital, documentation.

E is for Estimates

Budget made an appearance already, so I’ll highlight the other prediction-based hurdle: time. Estimating how long a software change will take — and providing accurate status updates along the way — is difficult, even for seasoned developers.

Honorable mentions: Envy Labs (shameless plug), edtech, efficient, enterprise, ethics, events, experience, expertise.

F is for Friction

Feature was the pick here for a while, but it’s well-represented in spirit elsewhere. Instead, we’ll veer into experience with friction. An application’s interface is like a network of roads: in some areas, you’ll want as much speed as possible; in others, you’ll want users to slow down or stop.

Honorable mentions: feedback, fix, flow chart, fractional, framework, front-end.

G is for Goal

What’ll make this a success? Goal-setting is key, both for measurement and to make sure decisions made along the way agree with set targets.

Honorable mentions: gamification, GDPR, generalist, growth, guidance.

H is for How

Software asks two questions up front: what and how? For the latter, a heap of decision trees and pros/cons lists litter the room. Finding consensus helps out with some of the terms we’ve hit already, too (budget, communicate, estimates, etc).

Honorable mentions: handoff, headphones, history.

I is for Investment

Putting a product out in the world is an investment. There’s the building it part, sure, but the todos keep coming after launch — maintenance, sales, marketing, roadmaps, and new feature development pick up the torch.

Honorable mentions: idea, impact, insight, interactive, interface, internationalization.

J is for Just

Platform changes can be tricky, and statements like “just make this tweak real quick” are pretty reductive of the work behind software updates.

Honorable mentions: jargon, jazz (it up), justify.

K is for Kickoff

Every application starts somewhere. Kickoff meetings are a great way to pull stakeholders and contributors together for an exercise-completin’, question-answerin’ session that brings everyone up to speed.

Honorable mentions: key, know-how.

L is for Language

I’d be remiss not to bring up something code-related, and language (think JavaScript, Ruby, Elixir, and the like) fits the bill. Everyone has a favorite or two, but there’s good news: Leading languages are all viable and in contention.

Honorable mentions: launch, legacy, library, licensing, link, local.

M is for Machine Learning

Step one: Build a product with data collection. Step two: Toss that data at machine learning (imagine someone tossing glitter in the air here) and use the resulting model to improve the product. It’s the favored roadmap of startups everywhere for the last few years.

Honorable mentions: maintenance, make (it pop), minimum, mobile, motion.

N is for NDA

As we cross the halfway mark, our alphabet has demonstrated that there’s a lot to software beyond the idea. Non-disclosure agreements are still en vogue, though, for certain industries and founders seeking peace of mind.

Honorable mentions: native, need, network, new, notes, notification.

O is for Overengineering

Version one can be a lot like a band’s first album — there’s a whole lifetime of ideas and excitement going into a single release. All of that energy makes overengineering a clear and present danger.

Honorable mentions: O(n), objective, onboarding, open source, opportunity, optimize.

P is for Platform

Following on with A is for Application, the letter P is loaded with semantic stand-ins for software: platform, product, and project all fill in nicely. Keeping with this article’s theme, we’ll let platform claim the prize, coming in first alphabetically.

Honorable mentions: phase, plugin, policy, polish, product, production, project, prototype, punt, PWA.

Q is for Quality Assurance

Success puts pressure on a platform to get bigger and add more complexity. As the changes roll in, quality assurance relies on process and policy (that everyone follows).

Honorable mentions: questions, quote.

R is for RFP

A request for proposal makes sense on paper, especially for buyers. The promise of shifting risk towards bidding firms is appealing, and it’s a hard requirement for many organizations. As a tool, though, do RFPs hold up and find the best partner?

Honorable mentions: recommend, redesign, refresh, remove, reproduce, requirements, research, responsive, risk.

S is for Senior

It’s tough to find experienced talent, and senior-level developers are in especially high demand. They write good code quickly, sure, but their value comes from marrying strategy and implementation as a project progresses.

Honorable mentions: SaaS, scale, science, script, security, service, SLA, source, speciality, specification, spectrum, stack, staging, success, support, system. (S is stacked.)

T is for Technical Debt

Just keeping an application up to date is a tall task. Technical debt adds a spin-up cost to changes big and small, especially in the many legacy codebases out there.

Honorable mentions: team, temporary, tests, third-party, timeline, train, transform, translations, trend.

U is for User

As Edward Tufte put forward in The Social Dilemma, “There are only two industries that refer to their customers as ‘users’: illegal drugs and software.” It’s not quite that cut-and-dry, but user is definitely a prominent part of our vocabulary.

Honorable mentions: unique, unknowns, update.

V is for Visualizations

Data’s tough to decipher on its own. Visualizations aggregate, highlight, inform, and (sometimes) add interactivity to pull out relevant insights. As with machine learning, the fabled executive dashboard is a popular version two target.

Honorable mentions: value, vendor, version, vetting.

W is for Wireframes

Wireframes visualize scope rapidly and (relatively) inexpensively. What’s not to love about software’s best communication tool?

Honorable mentions: waterfall, web, weigh, what.

X is for XML

Word choice is definitely becoming thin as we wrap up. Going with the X part of UX seems like cheating, so I’ll invoke XML instead (even though it stands for eXtensible Markup Language). Modern applications read and write data from a variety of sources, and those integrations owe a lot to XML’s trailblazing.

Honorable mentions: gettin’ real sparse down here.

Y is for You

It’s really difficult to talk in absolute terms when it comes to custom software. As a result, marketing invokes the word you a lot: “You need a hand in narrowing down and making technical decisions. You have expertise that can be automated and scaled,” and so on. Probable pain points instead of specific features.

Honorable mentions: YAML? Yonks is an interesting informal British term for a very long time.

Z is for Zsh

My (poor) macOS Terminal knowledge was/is Bash-based, so I’m still struggling with the 2019 switch to a Z shell default. Yep, we’re wrapping this list up on a jargon-y note.

Honorable mentions: zealot, Zoom.

What’s Missing?

Welp, that’s the full collection. Unintentionally, this post also became a glossary of sorts for our articles. What’s missing? Are there other words out there starting with X, Y, or Z? Let me know what’s worth adding to my personal list of overused words, and thanks for playing along.


Next Up

Congratulations, You’re a Technology Company Now

Nick Walsh By Nick Walsh // 10.31.2022

The thrill of starting a tech company is often quashed by the realities of building that company. Find out more about using a CTO as a service for startups.