At CloudBees, we have a lot of seriously talented developers. They work hard behind the scenes to keep the CloudBees Platform as a Service (PaaS) and our on-premise Jenkins solutions up-to-date with all the latest and greatest technologies, gizmos and overall stuff that makes it easy for you to develop amazing software.
« Vivek enjoying the serenity of his home garden.
Vivek Pandey has fifteen years of experience working with key web technologies. Prior to CloudBees, he spent ten years at Sun Microsystems as the dynamic language lead for Glassfish, ensuring enterprise-grade deployment and scalability of languages and frameworks such as Ruby/Rails, Groovy/Grails, Python/Django, Scala or Lift on Glassfish.
Vivek was a lead engineer in Sun’s GlassFish team. At Sun he worked at various middleware projects related to web services technologies. Being an OSS fanatic, he was lead developer and committer on various open source projects. Vivek lives in the San Francisco Bay area with his wife, two daughters and a dog. Vivek is based in the CloudBees Los Altos office.
You can follow Vivek on Twitter.
Vivek, what is your role at CloudBees?
I am an engineer and architect at CloudBees. I work on various platform pieces - GrandCentral, the services platform, security services, integration systems and services. I also lead partner engineering, which involves on-boarding partner services as integrated CloudBees services. I also get to work on Jenkins and DEV@cloud engineering and hack RUN@cloud whenever I get the chance.
« At the top of Mission Peak, in California
In my spare time, I like photography, hiking, movies, reading books and, of course, hacking - in reverse order. I am not much into workouts or outdoor activities except occasional hikes to Mission Peak or a trip to the movie theater. :)
What are some of your best tips for developing or testing apps?
I start my development projects by first doing a high level spec to define various abstractions and their relationships. Then I continue further, breaking down each component. Most of the breaking down happens while writing code for high level abstractions. It lets me think in terms of how each software component interacts with other components. Often this cycle gets repeated to optimize my design. The thing is, once abstractions are defined well, the rest of the pieces fall into place easily. Also writing good and comprehensive tests is very important to avoid expensive regressions, but it’s a challenge to balance delivering code with good code coverage and delivery timelines.
Above all, continuous integration and continuous delivery are the key. Simply put - use Jenkins!
What has been the best thing you have worked on since joining CloudBees?
Recently I worked on new ways to represent collaborative distributed REST resources. We have named this work Cloud Resources. At CloudBees almost everything is defined as a REST resource or some kind of HTTP service accessible via API. These resources have the potential to integrate, interact and collaborate with each other in a secure way. Cloud Resource defines such contract where each of these resources expose themselves as publicly accessible HTTP URLs, define their capabilities, their types in a consistent and secured way. There is a central registry for all Cloud Resource providers, making them discoverable. We envision all of our APIs will be Cloud Resources and we are making them so they collaborate with other Cloud Resources running anywhere on the Internet.
What is your favorite form of social media and why?
None in particular. I am more a passive user of Twitter and some Facebook.
If you could eat only one meal for the rest of your life, what would it be?
« Some hot and spicy dosa, waiting to be devoured