// backend engineer, IBM Cloud, Austin TX

hi, i'm salman.

By day, I build alerting and automation for the engineers who run IBM Cloud. On the side, I build AI projects that run on my own machine, like an email assistant and a research prototype for early Parkinson's screening.

/about

Portrait of Salman Solanki

I'm a US citizen based in Austin and I'm a backend engineer working at IBM since 2024. Most of what I've built there is for the site reliability engineers who run IBM Cloud's infrastructure: alerting, dashboards and automation that deal with failures they used to find by hand.

The part of the job I like best is explaining why something was built the way it was, to engineers, to managers and to the people who use it. I want a role where that is most of the work.

I'm planning to relocate to the UAE and I'm open to remote roles in the US as well.

/work

Backend Engineer, IBM Cloud · May 2024 to present

ETL Health Monitoring Microservice

IBM Client and Partner Success Award, June 2025 · OpenTelemetry, Grafana

BEFOREEngineers checked collector health by opening a UI and reading one percentage. There were no alerts and no detail by region, zone or cluster.
AFTERA service tracks 50+ ETL collectors, sends timely alerts and shows status per region, with metrics visualized in Grafana.

Collector health dropped below the 92% threshold about twice a week on average, so each drop used to depend on someone happening to look. Alerting reduced undetected pipeline failures.

decisions made

One health number or per-region status

CHOSEPer-region and per-cluster status, with alerts.

WHYA single percentage says that something is wrong, not where. Engineers needed the where.

OpenTelemetryGrafanaalertingobservability

Decision Engine pre-production

Event-driven automation with RAG on a Granite LLM · I built the engine component

The engine takes multi-source inputs such as ServiceNow incidents, Slack messages and anomaly detection, standardizes them, chooses a strategy based on severity and category, and runs actions: health checks, notifications and root cause suggestions.

In pre-production, one flow ran end to end: a NodeNotReady alert from the anomaly detection tool triggered the self-healing system, which remediated the node.

decisions made

One collector or several

CHOSESeveral.

WHYA single collector is a single point of failure. I argued for this in the design discussion, then implemented it.

Kafka or RabbitMQ

CHOSENeither, for now.

WHYPre-production load didn't justify running another piece of infrastructure. It stays in the backlog.

event-drivenRAGGraniteServiceNow

Self-Healing System

Ansible · ServiceNow · Slack · 10+ playbooks

Ansible playbooks for the incidents that come up most often. They run when an alert fires instead of waiting for someone to pick the incident up and they can also be started from Slack and through APIs. The system is integrated with ServiceNow.

The automation cut toil and mean time to repair by 50%. In the Decision Engine's pre-production run, the Decision Engine used this system as a remediation tool to fix the node.

AnsibleautomationServiceNowSlack

More at IBM

  • Developed Python, FastAPI and TypeScript microservices that connect ServiceNow, Slack and internal REST APIs to improve incident triage.
  • Led a cross-team review of alert coverage across 20+ VPC services against the golden signals (latency, errors, saturation, traffic) to standardize alerting.
  • Maintained a shared Grafana platform used by compute, network, storage and control plane teams, including upgrades and onboarding.
  • Containerized and deployed 100+ services with Docker, Kubernetes (IKS) and Jenkins.

/skills

Languages

PythonJavaScriptTypeScriptNode.js

AI and LLM

RAGGranite LLMLangChainOllamaMLOpsGenAI assistants

Cloud and containers

IBM Cloud (VPC)AzureAWSDockerKubernetes (IKS)

Automation and CI/CD

TerraformAnsibleJenkinsGitGitHubJIRAArtifactory

Observability and data

OpenTelemetryGrafanaPrometheusServiceNowRabbitMQMongoDB

CertificationsHashiCorp Certified Terraform Associate (003) · ChatGPT Prompt Engineering for Developers (DeepLearning.AI) · Google Cloud Generative AI Leader (in progress)

/try it

A server fails. Watch how an automated system notices, decides and responds. Everything here is made up and scripted. It shows the idea, not the real system.

    why more than one intake point?

    Alerts reach the system through intake points (engineers call them collectors). Break one and compare the two designs.

    /projects

    Agentic email assistant

    Watches a Gmail inbox, classifies new mail and drafts replies with a local model, so nothing leaves the machine. Includes an analytics dashboard.

    PythonFastAPIOllamaReact

    CerebralAI

    A research prototype that looks at motor and voice signals for early Parkinson's screening, using a scikit-learn model behind a Flask app. Research use only.

    PythonFlaskscikit-learn