CA Technologies makes software for businesses that are development-driven because they believe what we also believe: those who build the apps will own the future. (The New Kingmakers is a book we often refer people to). This belief means they spend a great deal of time and effort being around their customers. Listening, helping, getting feedback from and generally trying to work out how to allow their customers to write better applications.
In my mind, however, I’ve always thought of CA as a company that makes software that other people would use. People who maybe wear suits, and have things called "schedules" and "office hours" and other crazy concepts that seem to defy the laws of nature, not to mention rational thinking.
I couldn’t have been more wrong.
Service Virtualization and SWAT teams
Koustubh runs a team of Service Virtualization experts that are the SWAT team for their technical team dealing with customers. He’s also the Product Manager for CA Service Virtualization and it’s the Service Virtualization product that had initially got me curious (especially the free Community Edition. I like free).
If you’ve ever written code that uses a webservice (and if you haven’t then you’re a rare breed) then you know that testing it is a hassle. If you have to write the service as well as the client accessing the service then do you write the service before you write the client? Will that leave the client code team twiddling their thumbs? What if you need to write code to access a service but you’re working offline (on a plane, at a beach, in Australia trying to get your shiny new NBN connection to actually work). It’s painful. Service Virtualization mocks up a service that you can then call from your client code as if it were the real deal. It’s brilliant.
The man behind it all
Chris: First off: What is your background and how did this lead you to CA Technologies?
Koustubh: I did my masters 19 years back in New York. I joined CA Technologies straight out of college as an intern in 1999. I was then offered a full time position and I’ve been there ever since.
Chris: You obviously must enjoy it. Actually, that’s not always the case. Do you enjoy your job?
Koustubh: Absolutely. It’s a fantastic place to work and I love what I do.
Chris: You’re the Product Manager for CA Service Virtualization. Just to set the scene, what exactly is a Product Manager in a company such as CA Technologies?
Koustubh: My overall job is to ensure the product I’m responsible for (Service Virtualization) is the best it can be for our customers. I do a lot of market research into what our customers need, what our competitors are doing (and not doing), and ensure the specs, timelines and third party integration are what our customers need, and ensure the pricing is competitive (and sensible) and then define our product strategy. It’s a mix of extremely technical work with the creative aspects of marketing. You really need to understand the product, what it does, what it needs to do and what your competitors are doing.
Chris: So the Product Manager is the connection between the developers writing the code and the customers using the final product of that code?
Koustubh: Exactly. There’s a lot of customer interaction. I’ve worked with so many customers and personalities and it’s fascinating. Working with so many different people, experiences and stories is very different from a developer who sits in his cube for 8hrs writing code but talking to no one.
Chris Do you get to actually code?
Koustubh: I can if I need to but in my current role there’s not as much call for it. For the last few months I’ve been code free. However, if I get the chance to demo Service Virtualization’s CodeSV then I definitely get to code while explaining and demonstrating the features to a client.
Chris: What’s your day to day workday like?
Koustubh: It’s important for me to understand our competitors and what’s already available. We’re on par and in many places ahead of our competitors. Understanding what others are building and doing, and finding out what our customers really need fills my day. Our customers have so many great ideas and so my role is also to go through a ton of wonderful ideas and push to get the best ones into the product. I have a lot of say in the shape of the product and the direction it will go.
Chris: Describe what it’s like inside CA. Lots of grey suits? Bean bags and chocolate fountains? Man-buns and suspenders? Or lots of normal girls and guys pouring braincells into large monitors and producing some pretty awesome code?
Koustubh: There’s a misconception as to what CA Technologies is like. We have a lot of tenured professionals, but we’ve also grown through acquisitions so there’s lots of pockets of entrepreneurs.
Until around 2011 we were very focused on post production – the stuff that happens after you release software. In 2011 CA acquired ITKO for their Service Virtualization product and this introduced a whole new frontier of testing and development – a pre-production focus – to our organization. We then acquired Layer 7 Technologies (API management and security), and then Rally (Agile development software and services), Nolio and Atomic (release automation), Grid tools (test data management and requirements design tools), Blazemeter (performance testing in the cloud) and Veracode (security testing).
So the environment changed into a very DevOps focused organization made up of multiple teams. Within the office of the CTO we have our CA Accelerator program that acts almost like an independent VC funding. We take product owners and managers that have a venture capital investment idea and put them into a special program (within CA). They go through funding rounds, committees, interviews - the full VC experience – and are then left on their own to organically grow and have the feel of a startup.
You’re left alone to build your product with your small team, but you have a huge safety net under you and a big shoulder to lean on when you need help. You’re not shackled, and you get resources and a client base provided out of the box. It’s an amazing (and safe) environment for those who have an entrepreneurial spirit.
As an aside we were also voted the most ethical company for Software and Services for 2018 by Ethisphere.
Chris: Why Service Virtualization? What drew you to that?
Koustubh: CA Technologies acquired the company ITKO in Aug 2011 and I was asked to dive in and understand this new product (Service Virtualization). I was part of the SWAT team, a very technical role where I helped with tech assistance, implementation, installation, troubleshooting and sent feedback back to the team so they could act on it. Because of my experience, technical ability and my customer support skills I was then offered the role of Service Virtualization Product Manager.
Chris: And that’s for the Enterprise and Free community version of Service Virtualization?
Koustubh: Yes. I’m responsible for CA’s complete Service Virtualization portfolio, including Enterprise, Community Edition and CodeSV. Community edition was created only last year. Developers are shifting towards open source, and there were some products out there that claimed they could do what we could do, but it was clear they couldn’t. We could solve the simple scenarios many open source products could solve all the way up to the most complex problems.
However, not everyone needs all the bells and whistles in the full-blown (Enterprise) edition, so we decided to provide a free product that suited people who didn’t need the full product at first. When they grow and their needs grow there is an enterprise ready version they can move up to, seamlessly. All of the resources created in one can be used in the others.
Chris: I’m going to be the Devil’s Advocate here. Service Virtualization mocks up a service that you can then call from your client code as if it were the real deal, but why do I need it? Why would I download an application, install it, configure it, try and work out how to use it, define the service contracts, possibly make some burned offerings to it, when I can just mock up a little bit of code and have it pretend to be a service and I’m done?
Koustubh: Great question – let me answer it from the perspective of CA Service Virtualization Community Edition. It’s as simple as downloading the installer, running it, and in under 5 mins max you’re done. You have a service your code can call and get sensible results.
This is critical to us; developers need to get things running quickly. There’s no configuration for Service Virtualization Community Edition. You open the UI, decide what endpoint you want to virtualize, train it and it’s done.
For example: suppose you want to replicate a weather service API. After installing the Service Virtualization application, you point the UI to the weather service and make a few representative calls to the service. The Service Virtualization application listens, categories the requests and responses and stores the transactions. It then pretends to be the service it just watched and you have your mocked-up weather service. It’s that easy, and that quick.
Chris: You also lead the SWAT team for technical support. This makes me think of a bunch of burly guys parachuting in, kicking in a door, tackling a desktop and firmly but gently pressing the reboot button to fix 95% of a client’s problems. Tickertape parades then follow.
Outside of my possibly unrealistic imagination, what does this actually involve?
Koustubh: We have a mix of the banal and the difficult. The customer is always right, and they know more than you, and you have to accept that. Sometimes they have simply forgotten to do something or didn’t realize that there’s an extra step (e.g. restarting a service for a change to take place).
Sometimes we have knowledge we need to impart. We may need to teach them some basics or we may need to go in deep to help them get the most out of it.
Sometimes it’s a product bug or missing feature. We send the team the use case and work to get the feature completed. Or maybe we have a bug. The report will go to the devs and we’ll get a patch, that will then be delivered to the client. We make sure the patch gets installed and the customer is OK.
Whatever it takes to ensure the customer is happy and they can use our tools.
It gives us a lot of insight into what our customers are doing, how they use our products, and what we need to do to ensure we’re continuing to help them build great software.
Chris: Can you give us a quick rundown of what you're working on now?
Koustubh: Right now we’re working on the integration and migration between the Community edition and the Enterprise version. There’s migration available right now but we’re working on making it super obvious, automated and easy.
Chris: Back to you. What technical challenges do you most enjoy?
Koustubh: People always wonder if they need an IDE to write code, or just Notepad. When I was coding I would always use Notepad. I grew up with C++ and Java and maybe I’m old-school and maybe devs would disagree, but I enjoy the basic challenge of coding raw without an IDE.
Chris: And least enjoy?
Koustubh: When you don’t have resources at your disposal. Suppose I want to start virtualization on Solaris, and for that you need a specific version of Solaris, and for this you had to download dozens of packages. And each of these have dependencies. That drives me crazy.
Chris: Final question: What piece of advice would you give to someone looking to become a software developer?
Koustubh: You need to have the mind for it. That’s the most important aspect. You need to be able to analyze and break everything down to smaller pieces. If you think you’re on that path then do an internship at a tech company in the field you’re interested in. That will definitely give you a feel for whether it’s for you. You also need hard work and talent.