Laziness. Is that really a good habit for developers?
Search the internet for advice on the virtues of successful developers, and you’ll find a wealth of observations, not all of which exactly square with one another. The differences shouldn’t be surprising. People vary, and successful people will vary in how they go about achieving success.
Beneath these variations, though, there are common, road-tested practices — habits — for addressing the challenges of producing excellent software — whether integrations or new applications — day after day, under tight deadlines, and in the face of shifting technical requirements and business conditions.
Why pay attention to habits? Because they greatly influence the quality and results of your work.
The Duke of Wellington referred to habits as “10 times nature.” In other words, habits outweigh the influence of natural gifts by a factor of 10.
To 10X your effectiveness as an integration developer, consider the following ruminations on five habits for effective developers.
Habit #1: Laziness as a Skill
Let’s start with with the “L” word. Is laziness really a virtue for developers? It is according to Larry Wall, creator of the Perl programming language. Other virtues on Wall’s list: impatience and hubris.
Laziness, impatience, and hubris might sound like qualities that would land you in hot water with your boss, but Wall explains their usefulness this way:
- Laziness compels developers to create a little bit of software that gets a lot done — a kind of efficiency that’s akin to the idea of elegance in mathematics.
- Impatience compels developers to create software that anticipates the needs of end users.
- Hubris compels developers to create software of such a high quality that it withstands even the most eagle-eyed scrutiny from peers
Habit #2: Create Reusable Software — Most of the Time
Building on Wall’s idea of laziness, Aaron Morris, blogging at Creative Bloq, advises developers to produce the least amount of code possible. How to do this? Write reusable code that can be applied in multiple situations.
Look for opportunities to create a general-purpose module that can be customized to suit individual situations. At the same time, don’t worry about highly unusual situations or “edge cases.” They can be accommodated more efficiently with a single piece of custom code.
Even if you’re using a graphical interface to create software, rather than writing code, this habit is useful. Strive to create reusable modules that serve as building blocks in multiple integrations or applications.
Habit #3: Create Readable Code
Of course, if you’re using a low-code software platform with a graphical interface, you can often create self-documenting code using the objects in the design panel. In fact, we know of executive teams who were able to gain an instant understanding of new workflows simply by looking at a visual interface.
Habit #4: Build Robustness into Your Software
Hope for the best, plan for the worst.
Try to imagine what could go wrong in an integration, workflow, or other process being handled by code. Build retries and error-handling into the software, and enable the software to generate helpful error messages and reports.
Habit #5: Engage in Continuous Learning
Many suggestions for developers include getting into the habit of continuous learning — a habit that Stephen Covey, in his best-selling book “The 7 Habits of Highly Effective People,” called “sharpening the saw.”
Read, watch tutorials, try out new projects, keep a journal noting your successes and failures. Developers should continually apply themselves to honing their skills.