WhatsApp is a household name, but for software engineers, it’s a legendary tale of massive scaling with a remarkably small team. At its peak, WhatsApp supported 900 million users with just 50 engineers. How did they achieve this incredible feat? The answer lies in a series of smart, and sometimes...
[Read More]
Prompt Engineering Basics for Software Developers
Prompt engineering is a critical skill for software developers working with AI models like GPT. It involves crafting effective prompts to guide AI systems in generating accurate and relevant responses. Whether you’re building features, automating tasks, or exploring AI capabilities, understanding prompt engineering can significantly enhance your results.
[Read More]
Git Command Line Basics: Essential Commands for Software Developers
Git is an indispensable tool for software developers, enabling version control, collaboration, and efficient workflows. While many developers rely on GUI tools, the command line offers unparalleled flexibility, speed, and control. In this post, we’ll explore the basics of Git command-line usage, essential commands, and why you should consider using...
[Read More]
Taming Pipeline Chaos: How I Used GitLab APIs and GPT to Analyze Thousands of Failures and Boost Stability
Imagine this: It’s 9 AM, your nightly scheduled CI/CD pipeline has failed again, and you’re scrolling through endless log files, hunting for that one elusive error message. Sound familiar? In my last assignment, this was our almost daily nightmare. With hundreds of pipelines running weekly, manual debugging was sucking the...
[Read More]
How to Exclude a Single Module from `sbt test` in a Multi-Module Scala Project
When working with multi-module Scala projects, there are scenarios where you need to exclude specific modules from the sbt test command. This could be due to long-running integration tests, modules with external dependencies, or simply modules that aren’t ready for automated testing yet.
[Read More]
Github Actions for Android
CI/CD is a development practice that delivers software to the end user with speed and reliability. This is important for any kind of app be it web, mobile, console or desktop. In this post we will discuss how we can setup CI/CD for an Android Application using Github Actions.
[Read More]
Pairing matrix for agile teams
I work in an agile team which follows extreme programming practices like pairing programming. But with pair programming comes the problem of switching pairs. Sometimes in big teams we do see that the individuals are not able to make the decision of with whom they should pair next. To overcome...
[Read More]