I'm proud to help announce and to be a part of the Rackspace Developer Relations Group as a Developer Advocate. The group has been around for a little while now and I only joined them a few of months ago but we've had our heads down building Software Development Kits (SDKs). Well now we've got a killer Java SDK and PHP SDK for the Rackspace open cloud ready to go and we'd like to let the world know. We've been introduced on the official Rackspace blog but I wanted to throw my 2 cents in here too.
What is an SDK?
The documentation for our SDKs begins with this Introduction, that page does a great job of defining Software Development Kits so I'm just going to highlight a numbers of things here. An SDK consists of the following components:
- A set of language bindings that provide a language-level API for accessing cloud services (as opposed to forcing developers to use the REST/HTTP APIs directly) in a manner consistent with language standards
- A Getting Started document that shows how to use the API to access the Rackspace public cloud
- A detailed API reference document
- Tested sample code that you can use as a "starter kit" for your own cloud applications
In effect we take a lot of the grunt work out of using the OpenStack and Rackspace APIs. Developers can get down to business in the language of their choice without having to worry about writing all of the "plumbing" code to access the REST/HTTP APIs directly. Our sample code and documentation accelerate their understanding of how to best utilize the SDKs so they can get up to speed quickly. The cloud is still relatively new and people need all the help they can get.
For the official announcement checkout Rackspace Announces Open Cloud SDKs.
What is a Developer Advocate?
This is still a relatively new role in the software industry and people often ask me this question. My current answer is that I build and promote tools to make it easier for developers to create software on OpenStack and the Rackspace open cloud. I also ensure third-party developers have a Fanatical advocate within Rackspace.
The meaning of "Developer" is two-fold. First of all, I myself am a developer. Right now I'm building SDKs, writing sample code, and producing documentation that use the OpenStack API to communicate with the Rackspace open cloud. Being a developer and cutting code is essential to the role. The open source world is a meritocracy (rightfully so) and code and documentation speak louder than just flapping your gums. The second meaning refers to third-party developers creating software on OpenStack and the Rackspace cloud. And that brings us to...
The meaning of "Advocate", which is also two-fold. Most importantly I'm an advocate within Rackspace for those third-party developers building solutions on OpenStack and the Rackspace cloud. This too is essential as those developers need a voice within Rackspace. Customers are at the heart of everything Rackspace does and this is just a natural extension of that. The second meaning refers to the fact that I also advocate for the tools I've built and OpenStack and the Rackspace open cloud too. Like any other developer, I want my software to be used and get feedback on how to improve it.
I love both the breadth and depth of this job. It covers a lot of ground. Here's a sample of what we do:
- design work
- writing code
- debugging HTTP layer issues
- presenting at conferences
- promoting our ecosystem
- talking with developers
- and the list goes on.
We also get the opportunity to dive deep into technical or customer issues. And sometimes it all happens on the same day.
What does the Developer Relations Group do?
The introduction on the Rackspace blog does a fine job of answering this so I'll just highlight a few things here.
- Lower developers’ barriers to entry
- Help developers succeed
- Increase developers’ ROI
We'll achieve this through producing SDKs and Developer Advocacy. While doing so we need to be humble and helpful to the open source community at large. It's not always easy balancing a businesses needs with those of an open source project but, if done in an open and transparent way, in the end it's worthwhile. You'll have a project/product that's more featureful, has better adoption, and is more resilient to changes in the market.
Clearly I'm excited to be a part of this new group at Rackspace. There's still a lot more work to do but I'm looking forward to it and that makes the mountain that much more fun to climb. Please give our SDKs a try and let us know what you think at developer.rackspace.com/support/.