Quality Scrabble

Building software quality from Day 1 using Lean Quality Assurance

In my current role, I manage a very special team of quality engineers who are responsible for setting standards and best practices for quality assurance across the entire organisation and is also responsible for developing any necessary tooling or frameworks that might help product teams reduce toil. This is not a new problem and hence I was looking for inspiration and lessons to learn from other organisations who have embedded quality at the heart of their software development process. I came across this presentation by two Quality Specialists who also happen to be Atlassian partners. Please go ahead and watch it if you haven’t already. ...

January 30, 2022 · 6 min · 1237 words
oh my bash

Customize your Mac or Linux prompt or terminal

Do you have a MacOs laptop? I am not an Apple fan. In fact, I have in the past, bought a Macbook Pro and returned it within the first fourteen days as I felt that what I got was not worth the price. However, as I have mentioned several times in the past in this blog, my career started on Linux and hence I do like and feel really comfortable navigating the command line. As part of my current role though, I am not coding on a daily basis but primarily helping create an environment where my engineers can be more productive every day. ...

January 23, 2022 · 2 min · 299 words
SRE

Site Reliability Engineering vs Devops: What are they? How do they differ?

What is SRE? SRE stands for Site Reliability Engineering. That’s just a lot of words. What does it mean though? Site Reliability engineering is what IT operations would be if it was run by software engineers. That’s an interesting take. But it was not helpful in clarifying anything about SRE just yet. Let’s try probing more. How did we go from Development to SRE? You know the part where people deploy software and then ensure things run fine in production. ...

December 4, 2021 · 14 min · 2849 words
Azure Active Directory

Azure Active Directory for Developers: What you need to know

This is a long read and I spent a pretty long time going through videos and articles compiling this into one post. Not something I would have done usually. But I do think that sometimes having it all in one place is easier to access than splitting into multiple articles. I hope the TOC helps group things. Azure AD is Microsoft’s cloud-based identity and access management service. Lots of words. But do they make sense? ...

October 23, 2021 · 12 min · 2357 words
Azure Functions

How to use complex settings in Azure Functions using Options pattern and Dependency injection

I only recently found out about this, so I had to share it immediately. I have been using the Values section in the local.settings.json in a not-recommended way for some time. Application settings in the local.settings.json has some naming restrictions which I have been ignoring as the way I used it seemed to work. The docs said: Values must be strings and not JSON objects or arrays. Setting names can't include a colon (:) or a double underline (__). ...

October 22, 2021 · 2 min · 345 words
System Design

Azure functions with Swagger and OpenAPI

What is OpenAPI specification? This is a specification for machine-readable interface files for describing, producing, consuming and visualizing RESTful web services. Apparently, this was earlier part of the Swagger framework, it became a separate project sometime in 2016 overseen by the Open API initiative, an open-source collaboration project of the Linux Foundation. I am not trying to sound clever here. That’s all taken from wikipedia as I just wanted to give you an idea of what it is without having to leave this post. ...

September 19, 2021 · 5 min · 952 words
Dev Ops Loop from Atlassian

DevOps, Continuous Integration, Delivery and Deployment

A year or so ago, I was looking into ways to improve releases at my current job. We have a whole bunch of small legacy .NET applications that until 3 years ago were manually be deployed into a server that was provided to us by a third party. After migrating things to Azure, the sky was the limit for us. It was time to take control of our releases and make it better. ...

August 29, 2021 · 14 min · 2886 words
Azure Search

Azure Cognitive Search (formerly Azure Search)

Background I have in the past, in my previous job, used ElasticSearch extensively for our internal search. When I joined my current firm, I proposed using Elastic Search for our policy search problem, which apparently was slow and inefficient. This wasn’t surprising at all to me, as they were using simple SQL to search for relevant data. This was bound to be slow. So having proposed Elastic Search, I did a little POC and showed how easy it was for me to set up Elastic search on my machine on one node and showed how searching was a breeze using RESTAPIs and other clients. This POC was sufficient enough for us to consider a wider project and develop a solution which later got ported to Azure Search as we migrated to the cloud. To this day, we haven’t regretted our decision. ...

August 27, 2021 · 7 min · 1351 words
Software Architecture

What is Software Architecture and what does a software architect do?

What is Software Architecture Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. What is a Software Architect Some people compare the role of a software architect to that of a town planner. The town planner does not care how a house in a residential block is built. The town planner is responsible for deciding where blocks of residential properties go, think about the commercial complexes, the parks and schools or institutions, how they are laid to make the town easy to navigate and also making sure that essentials like water and electricity supply gets to where it is needed in the most efficient way. They do have to think about where the place would be to keep exits to highways, and if we might need flyovers, traffic signals, roundabouts, etc in certain parts based on how the population evolves. ...

July 24, 2021 · 10 min · 2064 words
CI Pipeline

Azure Pipelines and test code coverage for Dotnet core projects

Background I am proud to say that I work in a team where we follow Test Driven Development and pair programming. This has been a life changing experience for me as for several years, I had been writing code first and only writing tests after I thought it was doing what it meant to be doing which often lead to tests that only tested the bare minimum or lead to poorly thought out code that was badly coupled. However, since the last quarter of 2020, I have been practicing TDD with my pair programming partner on every new project except for when it came to working on legacy code where it would take us, much longer to refactor and make the code testable in the first place. ...

June 29, 2021 · 7 min · 1432 words