Stackify CEO Matt Watson said the #1 problem with agile development is lack of confidence in deployment. Rapid deployment, one of agile’s greatest strengths, can also be a major weakness if testing and automation are not properly developed. Moving too fast without the right processes in place can lead to errors, downtime, and poor user experience. However, companies can gain …

1. Introduction In this article, we’ll discuss a number of approaches that can be helpful for improving the performance of a Java application. We’ll start with how to define measurable performance goals and then look at different tools to measure, monitor application performance and identify bottlenecks. We’ll also look at some of the common Java code level optimizations as well …

Amongst the tribe of infinite learners, self-taught programmers, and digital nomads, there are few tools better than YouTube. What started as a simple video-sharing site is now arguably the second largest search engine in the world, rich with educational resources that puts the Library of Alexandria to shame. In fact, Google says, “more than 7 in 10 viewers use the …

Speed is the name of the game in today’s software-driven world. The best companies deploy software updates daily, sometimes more. In order to reach such epic levels of productivity, businesses need a plan for managing their software from beginning to end. That’s where application lifecycle management (ALM) comes in. ALM helps businesses make smart decisions about their software and manage …

The word polymorphism is used in various contexts and describes situations in which something occurs in several different forms. In computer science, it describes the concept that objects of different types can be accessed through the same interface. Each type can provide its own, independent implementation of this interface. It is one of the core concepts of object-oriented programming (OOP). …

There is a big trend in software development for developers to be more involved in the deployment, monitoring, and overall operations of web applications. In many companies, the DevOps movement is fostering a lot of change and collaboration between development and operations. The concept of web operations builds on top of DevOps to specifically address the deployment and monitoring of …

Every Company is a Technology Company. This a common saying in today’s tech-driven world. Every industry is fundamentally changed by technology, and business leaders are making it the focal point of their companies. At the heart of these technologies are programming languages. Never have developers been more important to progress, and programming languages are their superpower. That’s why we are …

Inheritance is one of the core concepts of object-oriented programming (OOP) languages. It is a mechanism where you can to derive a class from another class for a hierarchy of classes that share a set of attributes and methods. You can use it to declare different kinds of exceptions, add custom logic to existing frameworks, and even map your domain …

Software developers spend a lot of time chasing bugs and putting out production fires. I’ve been a software developer for over 15 years and it has always just been part of the job. Thanks to agile development, we are constantly shipping new code. By-products of constant change are constant issues with performance, software defects, and other issues that eat up …

Over the past few years, I’ve become more and more convinced that having really good production logs is critical to running a successful software deployment. Logging has always been important, however if you’re deploying a web of microservices and a business transaction might span twenty different services, then searchable centralized logging is crucial. There are plenty of great tools available …

How is DevOps going within your organization? If you need some help measuring just how well it is going, we have prepared a list of some key DevOps metrics to track. These metrics can help you understand how your team is doing over time. Define what DevOps means to your organization The word DevOps means different things to different people. …

Software Development Life Cycle (SDLC) is a broad term for a set of methodologies designed to guide a software development project. SDLC is a “process that produces software with the highest quality and lowest cost in the shortest time.” SDLC Phases There are several SDLC methodologies, but most include a version of the following phases: Identify Current Problems Plan Design Build …

Introduction to Debugging Troubleshooting a problem on a remote server, especially in production, is not an easy task. Sometimes it involves debugging the application code directly on the server. But the production servers are usually run in a strict environment, where not all convenient developer tools are available. In this article, you’ll discover how to configure a running web server …

We live in a world where nobody is willing to wait for anything. We have become accustomed to websites and mobile apps working instantly. If I click on a search result from Google and it doesn’t load within a couple seconds, I will no doubt just click on a different result. We have all been trained to expect websites to …

If you are thinking about using Azure Functions, at some point you will be confronted with the challenge of figuring out how application logging works. Logging in Azure Functions has some unique challenges due to the stateless nature of the serverless execution model. In this article, we will cover some basics about Azure Functions and provide instruction on how to …

DevOps teams have more on their plate than ever. As infrastructure needs grow, so does the time required to ensure that everything’s running smoothly. This makes automation crucial – especially in the server and network monitoring world. Server monitoring tools can save teams time by automating server management and providing real-time performance updates. As budgets reset for the New Year, …

Encapsulation is one of the fundamental concepts in object-oriented programming (OOP). It describes the idea of bundling data and methods that work on that data within one unit, e.g., a class in Java. This concept is also often used to hide the internal representation, or state, of an object from the outside. This is called information hiding. The general idea …

Application Performance Monitoring, or Application Performance Management (APM), has become the de facto standard for providing better customer experiences and applications. APM allows you to observe the performance of your application including such valuable metrics as load time, errors, logs and transactions. Mobile and web applications have similarities, but there are striking differences between the two. Mobile applications depend on …

One of the hardest parts of software development is knowing what to work on. We all love to write code and build things. Developers are also expensive and in short supply. One of the biggest challenges is making sure we are making good use of our time. The last thing we want is to ship code that our users don’t …

We are living in a golden age of programming. The language and tooling have never been better. Not a day goes by that I’m not impressed by some new programming language feature (how cool are nullable reference types in C#?); or a new technology (Live Share and Teletype are going to change the lives of remote developers); or some adaptation …