I like building software systems, surfing waves, and connecting with people and the world in ways that bring joy and meaning. I grew up in the Haight in San Francisco, and I later attended UCLA, where I developed a passion for building software. It turns out that SF is a great place to be if you work on software, so I moved back after college and have been here ever since!
My name is a bit unusual: I have it because my parents converted to Sikhism before I was born, so I was given a Sikh name ("Guru Bakshish Singh Khalsa") and grew up practicing the Sikh religion even though I'm not ethnically Indian. This included eating vegetarian, not cutting my hair, and wearing a turban. Although I no longer follow most of the disciplines of the religion, I am deeply thankful for the values and culture that guided my upbringing.
I'm stoked that I get to make a living by crafting systems that interact with the complexity of the modern world. It demands a sense of curiosity and vision, and provides a sense of accomplishment at nearly every level: from getting a small part of the code to work all the way up to the completion of a major project. Beyond the intrinsic pleasure of the work, I get to interact with brilliant people along the way. There are challenges in this career, of course, but it's a vocation that suits me well.
If my career is the bread, then what's the jam? Surfing. I love to surf. Surfing has elements of challenge, adventure, meditation, excitement, comfort and fun. But beyond that it nourishes me with an almost spiritual sense of meaning and deep engagement with the world. I like other activities -- kiteboarding, rock climbing, reading books, playing guitar, playing games with friends, and so on. But somehow surfing stands alone in what it means to me. And I appreciate the doctors, Pilates instructors, yoga teachers, and others who have helped me maintain my health such that I can continue to be so active. One's health is not something to be taken for granted, and I'm grateful to have mine.
I love the opportunity to learn new skills and to strengthen old ones. Learning is fun, and working on software requires a lot of learning. So, transitively, working on software is fun.
Of the roles that I can play, I feel most confident in my abilities to build and improve web applications as a software engineer. I'm especially comfortable coding on the frontend in JavaScript/TypeScript with React, as well as on the backend in Python. Over my career, though, I have come to appreciate that software is primarily about people, not just the technical challenge. It's built for people, by people, and people are often driven by desire, fear, joy, pain, and other emotions. So I strive to empathize with my team and my users, and to remember that software is not about the computer, but about us.
From a technology perspective, I believe that today's software engineers are lucky to be standing on the shoulders of giants. There is a tremendous wealth of open source software and an overflowing library of knowledge about our field shared through books and online resources. I'm grateful to the creators and maintainers of the software tools I use, because coding would be a lot less fun and effective without React, Typescript, Webpack, Jenkins, PostgreSQL, Elastic Search, and countless other software tools.
If you'd like to get in touch with me, feel free to