Reducing Stress as Product Engineer & running smooth operations
Published: 2020-06-14 02:34:35

As a product engineer, and playing part in different capacities and lifecycle of a product myself I understand how the work we do enhance the level anxiety & stress at times, that takes over and effect our day to day lives. Be it the fear of new releases or deployments, be it an exception or user error coming up on production environment or be it the deadly production servers not responding or my personal pet peeve any issues regarding user payments, these fears and pressures are somehow part and parcel of being a product developer/engineer. When I say that these things are somehow part of every developer’s life, we can somehow find ways to mitigate them and make our lives less stressful than what it normally tends to be.
For this very reasons I have few observations that I found quite useful as I have been using them for quite some time now, and they certainly have made a positive impact on the business as well.

## Test Driven Development
Where the concept of test driven development has been taking rounds in the arena for a while now, I still find developers not keen to adopt it (sometimes due to tight timelines for deliverables). I would say it is a life saver for sure, as it eliminates lot of edge cases which normally as humans we tend to miss out while developing. The phenomenon is all about developing strong test cases first, based on the business logic, then building the application code around it.
## On-demand Cloud Infrastructure
From managing scale up/down polices to raising alerts under load conditions, this phenomenon gives you and your business a sigh of relief. The idea revolves around the concept of pay as you go and it has been a super saver for businesses with dynamic needs and ever changing ecosystem.
## Observability & Monitoring
Gaining prime insights of any system is becoming crucial every passing day, it has never been as important to collect and analyze matrices and logs from a system than in today’s age. Thus giving birth to the concept of observability. Due to ever increasing and ever changing customer demands the operational visibility and the ability to monitor a system at any point in time has been of prime importance for IT and DevOps engineers.
### Error monitoring tool
This is why tools that enable us to track all errors and exceptions of any system comes in handy for a smooth operation of any product. These tools enable engineers to remain one step ahead of any disastrous situation that may occur due to any unforeseen exception or error during the normal operation of a business.
### Performance monitoring tool
Getting insights to the physical parameters of any system also comes under the umbrella of observability and this also provides an edge for the business operation team. Engineers must be constantly aware of infrastructure utilization of their product, in order to be a step ahead and take relevant actions.
## CI/CD
There is nothing that makes me happier these days than a reliable and robust implementation of continuous integration & continuous delivery mechanism. Tools like Jenkins certainly gives you more power as a DevOps engineer, and has greatly reduced the amount of efforts used to deploy and test any new feature, without the worry of systems and normal operations coming to a halt. Rolling out new features with zero downtime is a dream come try for any business.
## Adapting to changes & constant upgrades
I personally cannot stress more to this final point, as this is of utmost importance for the smooth execution of any operation. There has to be a will originating from the business owner to keep the systems up to date at any given point in time. New tools and technologies if applied at an early stage save developers from the later catastrophe of migrating them when the system you are using is completely obsolete.