Tips for running services at scale with minimal toil
Lessons learned from running services at scale: 1
Tips for running services at scale with minimal toil
Technical Leadership, Engineering Management, and Software Engineering
Tips for running services at scale with minimal toil
A couple of months ago, I needed to create backups of a database dump on one of my VMs. I initially thought it would be a difficult task but was pleasantly surprised to find it easier than I thought. Despite the excellent documentation; I still needed to do some research to get my automated pipeline … Continue reading How to backup files to Azure Blob Storage from VMs using managed identities
Some engineers believe they have to go to great lengths to eliminate every single piece of technical debt in their codebase. This focus on perfection ignores the cost of fixing debt, the risk of introducing new bugs and contagion (the chances of debt spreading).
These are a few strategies I employ to be more efficient at work.
Habits die hard It is hard to focus in a fast-paced work environment: there can be live-site incidents out of the blue; bugs to fix and meetings to attend. I have always struggled with coping with incessant demands and distractions; the urge to drop whatever I am doing and hop on the next fire is hard … Continue reading Less Work, More Impact
Do you want to sleep well at night?
Software services need a solid foundation that guarantees near 100% uptime. The work needed to establish such a base is termed devops, infrastructure or platform. About 18 months ago, my team got a new charter: launching a brand new service. I was involved in the setup of new platform resources as part of that effort. … Continue reading Essential Pillars for running a service at scale
My foremost goal while building software is to build stable self-healing systems with deterministic behaviour. I want to ensure my code continues to work even when unexpected events occur. In the event of unknown unknowns, the expectation is a graceful degradation in the worst case.
The JSON parse function takes in a string (invalidย JSON will cause a SyntaxError exception). If parsing succeeds, JSON.parse returns the corresponding value or object.
I recently had to reduce the size of an Angular Web app for performance reasons. A quick run through the webpack bundle analyzerย identified MomentJS and Lodash as the main culprits. Consequently, I had to eliminate both libraries and implement replacements in pure ES6.
One of the most challenging aspects of software development is staging changes without breaking the service. Releasing new features always comes with a risk - bugs might be introduced and existing failure points might become more prone to failure.
Software engineers, technical leads and managers all share one goal - shipping high-quality software on time. Ambiguous requirements, strict deadlines and technical debt exert conflicting tugs on a software team's priorities. Software quality has to be great otherwise bugs inundate the team; further slowing down delivery speed.
What if I told you JavaScript had a limited form of the infamousย goto statement? Surprised? Read on.
Have you ever wondered why someย applications always look and feel similar? Why for example does Apple have a unified experience across devices? Why are Google products starting to adopt the material experience?
A couple of things to validate before you press the 'go-live' button on that wonderful web application of yours.
Now that we know the basics, this post covers the JavaScript methods for setting and modifying object property descriptors.
If you are thinking of choosing between Angular 1 or Angular 2, I'll say go for Angular 2; it's totally worth it.
You are building a web application and need the application to pauseย whenever the user stops interacting with the page;ย
Your wonderful one-of-a-kind web application just had a successful launch and your user base is rapidly growing. To keep your customers satisfied, you have to know what issues they face and address those as fast as possible.
I used to work for a team whereย whenever an engineer said he was done, the next question would invariably be are you 'done done'?
Looking back, I have learnt a couple of lessons the hard way and wanted to share some of these so that other engineers know what to avoid.
If you write unit tests, then you likelyย use a testing framework and might have come across spies. If you don't write unit tests, please take a quick pause and promise yourself to always write tests.
Tutorial on the chrome dev tools focusing on the network tab
Deep dive into features of the Sources tool in Chrome
The console is one of favorite places. The REPL environment is a quick way to validate JavaScript expressions. However, there is a lot more it can do. Read on. 1. $0 - $4 selectors The last inspected element is always available in the console as $0. $1 points to the next most-recently element and so … Continue reading Chrome dev tools deep dive : Console