Skip to content

Damini Satya Kammakomati

Salesforce

Damini Satya is a Software Engineer at Salesforce building next generation CI/CD systems for cloud scale deployments. She is an ardent open source contributor, mentor, traveller, who loves to paint.

Inteview image for Damini Satya Kammakomati

What led you to become a developer?

When I was a kid, I was always obsessed with the computer game called “Dangerous Dave”. It was a magical experience and I really loved the game, but hardly ever thought of how it was working!

Being from the 90s, I have seen the evolution of computers and the internet. It always felt fascinating and exciting to see new things coming home every day. Eventually, I started to get curious about how these devices were functioning. The more I learned about them and their evolution, the more it fascinated me, the more I fell in love with computers. The fascination for computers and curiosity to learn, put me on the path to become a software developer.

As a software developer, I can build creative solutions to solve complex technical problems while also adding value for societal good. All I need is a well-configured laptop with proper internet to work from anywhere.

What’s your setup and development environment?

I'm a big fan of Linux and open-source software. I have a desktop running Ubuntu with two big monitors - to hide myself from others (just kidding, it's good to keep distractions away). Along with the desktop setup, I have a 15-inch MacBook Pro with a troubled keypad (have to get it fixed!).

Here are some tools which I love to have in my dev environment.

  • TMUX, iTerm2 for multiple terminals so that I can work on different things on one single screen instead of switching between terminal tabs.
  • I use Visual Studio Code and Vim (yes, sorry emacs fans :) I love dark colored themes and frequently change themes to keep it different and exciting.

  • I love to play around with my git configurations. My git logs look beautiful because of this - github.com/joelnet/development-environment#pretty-format-logs

I sometimes like to get my hands dirty by trying some stuff from the following sites/repos.

Apart from my developer setup, I have some really nice spots in Salesforce, where people frequently find me sitting and working.

What’s your favorite stack to work with?

-I have dabbled from front-end development to writing software for managing Infrastructure at cloud scale. So the stack varies based on the nature of work.

-I love the JavaScript stack - ReactJS, React Native, MeteorJS/ NodeJS, MongoDB is my preferred way to quickly get started with a simple web dev application.

Some boilerplate which I bank on
-github.com/sahat/hackathon-starter
-github.com/kriasoft/nodejs-api-starter
-github.com/madhums/node-express-mongoose
-github.com/icebob/vue-express-mongo-boilerplate

-Sometimes I love to have a python backend like Django or Flask.

-Docker and Kubernetes have made development so much easier for me, as I can run the exact same stack on my laptop as in production.

What are your top 5 go-to repos?

Kubernetes - github.com/kubernetes

ReactJS - github.com/reactjs

Docker - github.com/docker

Kapitan -github.com/deepmind/kapitan

Bazel - github.com/bazelbuild/bazel

What technologies are you most excited about now?

Kubernetes - The key behind Google’s (and other Internet companies) success is their ability to build and run software at large scale in a fully automated fashion. A lot of the tools they use are open-sourced which resulted in a huge ecosystem of DevOps. Kubernetes is one such open-source system for automating deployment, scaling, and management of containerized applications

When it comes to cloud-scale, the delivery pipeline (often neglected) can be as much critical in the success of the company as the actual software. These are exciting times for the whole industry as the way software is managed is changing at a rapid pace.

What does your ideal workflow look like, from messing around to production?

There is no single workflow that works perfectly, it completely depends on the team I am working with, their practices and the state of the project.

When starting a project from scratch, my ideal workflow involves spending time to design the architecture for a given problem. This includes envisioning how the users using the specific software or tool interact with it and then design accordingly. I start with trying to figure out the design patterns necessary and trying to find out open-source libraries that could be useful with slight modifications or directly.

I then break the work into smaller pieces that I can independently implement and test the modules that way the code remains slightly more maintainable. I then follow the first module’s commit up with setting up the necessary CI pipelines and CD as necessary so that it becomes a part of the workflow.

However, in projects that I work on with teams, we generally take help from a program manager to help decide the sprint and the tasks to be solved in the given sprint. For each of the tasks/bugs/features I fix or implement, we test it across the CI system and then peer-review the code before merging it into the master branch and push them out as incremental releases at the end of each sprint.

What are you currently learning?

Public Clouds and Software-defined datacenter, has created a huge ecosystem of tools to build and manage software life cycle - from development to production. Currently, I am learning systems from this ecosystem like - Kubernetes, Containerization, Kapitan, etc.

I am also learning the philosophy and principles behind these tools as they have disrupted the existing practices.

What project are you most proud of?

I started working on a conversational agent called Elsa, which aims at improving women’s mental health. This project is very close to my heart where I aim to give mental health therapy for free (Cognitive Behavioural Therapy) .

Mental health among women is crucial, yet often ignored and their symptoms are highly misunderstood. There are various treatments available but are generally very expensive and cannot be afforded by everyone. On the contrary, the number of people actually taking professional help for depression and other mental health problems is extremely low in both developed and developing countries. To know more about Elsa do watch my talk on it which I presented at React Conf 2018 - youtube.com/watch?v=eSwm1WZk7uA

Loklak is another project which is very dear to me because it is the first open-source project to which I contributed. Loklak is a Distributed Open Source twitter and social media message search server that anonymously collects, shares, dumps and indexes data. The community is very welcoming and encouraging, I was definitely proud of the contributions I made to the code base with all the encouragement I received.

Link to codebase - github.com/loklak

What tech challenges are you facing at your company?

Building and running large scale infrastructure in an extremely dynamic industry.

Anything you want to promote or plug?

I would give a huge shout out to the entire Open Source community. The Open Source community gave me an opportunity to learn, grow and prove myself. Not only that they offer access to the best tools, emerging technologies, incredible mentors without any prejudice and barriers.

Interview image for Thomas Ezan
Thomas Ezan

Lyft

Thomas is a French Android Engineer. For the past 4 years, he has been in Lyft’s Growth team. He is currently based in Seattle, WA.

Interview image for Valera Zakharov
Valera Zakharov

Slack

Valera leads the mobile developer experience team at Slack. Prior to Slack, he worked at Google on the first few versions of Espresso (among other things). Valera likes cake and hummus, but not necessarily in that order.

Interview image for Rebecca Hill
Rebecca Hill

WeTransfer

Rebecca is a software engineer, team lead, manager and speaker. Originally from Auckland, New Zealand. She is currently herding cats (aka developers) and wrangling JavaScript at WeTransfer in Amsterdam.

Be the first to read new interviews just like this one with Gant Laborde. from top developers.