International Programmers’ Day is on Saturday, September 12, 2020. Now, you may be saying “Wait a minute – I’m sure International Programmer’s Day was on September 13 last year – what’s going on?”
It’s no mistake – International Programmers’ Day (IPD) isn’t tied to the date of the year; it’s set to be the 256th day of the year. So, on leap years like 2020, it’s on September 12th instead of the 13th. And what’s so special about that number? 256 (or 28) is the number of distinct values that can be represented in a “byte” of data, so it holds a special place in some programmers’ hearts.
The origins of IPD are a bit fuzzy, but the most common narrative says that it was first conceived in 2002, when two Russian programmers submitted a petition to the government proposing a special day to recognize the contributions of software developers. It took seven years, but the Russian Ministry of Mass Media and Communications finally approved the petition, and Russian President Dmitry Medvedev made it official in 2009. Since then, dozens of other countries – including Canada and the United States – have followed suit in acknowledging September 12/13.
But now that we know the date and the background… why should programmers get their own day? And how should we celebrate?
By and large, programmers are creative, detail-oriented people who love solving problems and creating solutions that help others. And whether you call them programmers, coders, or software engineers/developers/architects, individuals in this trade have truly shaped the modern world. Virtually everything you experience these days involved a programmer (or, more likely, teams of them): from media to transportation, education to finance, medicine to research, telecommunications to manufacturing. The Internet and the rest of our digital world was built by programmers or the tools of their efforts.
The dedication of programmers is critical for the efficiency of our modern systems and processes and, increasingly, just as important in the defense of those systems from cyber attack. Bugs, gaps, or vulnerabilities in software design create the opportunities for hackers (often criminal programmers themselves) to breach our financial and personal information. Beyond just designing software systems that operate our virtual world, programmers must also strive to maintain a last line of defense in their applications.
Doesn’t that sound like a profession worth celebrating? So, after saying “Happy Programmers’ Day!”, here are a few ideas on how to meaningfully recognize those special programmers in your life.
Programming is a Team Effort
If you’re an end user, business analyst, or management type looking for a new product, feature, or functionality, spend a little extra time reflecting on and discussing what you want before asking for it. Programmers love challenges and solving problems, but little is more disheartening than working for a week on a set of specs, only to find out that you really meant x instead of y, or this instead of that. Too often people will refuse to commit time up front to software that they are going to be using every day further down the track. Collaborate: an early investment of effort can pay huge dividends in quality and user experience.
Watch out for Scope Creep
Programmers love when the users are engaged and excited about the product they’re working on. But when you see “version 1” and suddenly have ideas for an awesome version 2 and 3 and 4, understand that these may in fact may be new projects requiring design and scheduling and coding and testing – in short, more time and resources. Just because a programmer is working on a project, you don’t have free rein you rule their lives indefinitely, and new ideas may have scheduling and resource implications. Understand and respect this.
Who’s Calling the Shots?
Also vexing for programmers is having multiple decision makers. Nothing is worse than building a red box at the top left of the screen, having another user demanding it get changed to a blue box at the top right of the screen, then that person’s manager deciding they want a green circle on the middle instead… before the president asks for the red box to be reinstated. Have those discussions in advance, settle on who has the final say, then bring the design to the programmer. Doing it once is always faster than doing it four times, so everyone wins. Of course there will be changes along the way, but they shouldn’t be the result of a poor decision-making process.
A Healthy Programmer is a Happy Programmer
Programmers can fall victim to stress brought on by tight deadlines or shifting requirements. And often they can bring it on themselves – motivated developers will get into a groove and will work long nights and weekends, focused on the task at hand instead of their well-being. Medium has an excellent series of suggestions and tips to help make sure your programmer stays at the top of their game.
Helpful Cybersecurity Resources
As outlined, programmers are under constant pressure to develop secure solutions and to use their “worst-case” imagination on how their code might be attacked or breached. There are resources out there to help give your programmers more confidence that their defenses are solid. Ethical penetration tests (internal and external) are often helpful to get fresh eyes to look at applications and websites before they go live. And the Carnegie-Mellon University recently compiled an in-depth list and analysis of the top ten tools to use for software stress testing. Your programmer will thank you for the reference material to help test and verify their pre-production code, and you’ll be more cyber secure.
The Muse has a thoughtful list of additional strategies and approaches that will make software developers’ lives a little easier.
Give them a laugh
· There are only 10 types of people in the world: those who understand binary, and those who don’t.
· Why do programmers always mix up Halloween and Christmas? Because OCT 31 equals DEC 25.
· How many programmers does it take to change a light bulb? None – that’s a hardware problem.
The Last Word
What else would make a programmer’s day? Well, since it’s on a Saturday this year… why not give them the day off! After all, in addition to it being International Programmers’ Day, September 12 is also Chocolate Milkshake Day, National Video Games Day, and Drive Your Studebaker Day.