Modern developers are under ever increasing pressure to deliver software applications to the business in record time. This means shorter development cycles and a push to have code production ready as early as possible. In addition, many development teams no longer throw the code over the metaphorical wall to be handled by operations and production support teams, but rather oftentimes own the entire end to end delivery chain.
They say that procrastination is the thief of time. In the world of software development, there are some additional “time thieves” that prevent our teams from developing new features or slow them down as they attempt to fix issues. As software engineers or R&D managers, we take it for granted that our teams spend a lot of their time waiting for compiling, testing, and deploying.
I’ve built web applications for 15 years. Some have succeeded and flourished, others have crashed and burned. But I’ve learned some hard-won lessons along the way: techniques that correlate with maintainable code and long-term success. Maybe they can help you.
Develop fast, release, learn, repeat. That’s essentially the (not-so-secret) innovation formula, right? Most of us spend our time enhancing the products we have already released. We want to be innovative, releasing new features with the velocity of an unencumbered startup. Yet, we also have customers with quality expectations we need to meet. Guidance on shortening release cycles often centers on adopting agile (or similar) development methodologies. But most companies are already there.
Troubleshooting production issues in Lambda environments is often challenging. CloudWatch requires developers to comb through logs, search for relevant terms that they may not always know of and has hard-to-consume stack traces. For obvious reasons, we recommend using Sentry to instrument your Lambda Functions code in order to report error stack traces and associated debugging context. Here’s a walk through on how to instrument a Node function.
Over the recent years, software development organizations have seen a major shift in where they build and run their applications. Teams have transitioned from building applications that run exclusively on-prem to microservices applications that are built to run natively in the cloud. This shift gives businesses more flexibility as well as quick and easy access to enterprise services without the need to host costly applications and infrastructure.