One year ago last Tuesday, I joined what is now IBM Cloud Data Services. I was one of the first hires in our new Developer Advocacy team, which has since grown to eight Developer Advocates all dedicated to helping developers work with data in the cloud. So, what does a Developer Advocate at IBM do? I’ll share a bit about my experience over the past year.First, a word about IBM Cloud Data Services’ offerings. When I started, we had one primary product, IBM Cloudant, a fully-managed database-as-a-service (DBaaS). Since then Cloud Data Services has:
- made numerous improvements to Cloudant
- made significant code contributions to Apache CouchDB 2.0
- shipped Cloudant Local for on-premise deployments
- introduced IBM DataWorks (loading, cleansing, and profiling of data)
- opened up the beta of IBM Analytics for Apache Spark
- launched the dashDB Enterprise MPP service (a fully-managed cloud data warehouse)
- and acquired Compose (which brought MongoDB, Redis, Elasticsearch, and PostgreSQL to the IBM Cloud).
I’m sure I missed something in that list as the folks at IBM Cloud Data Services are always busy working to bring you the latest, well, cloud data services.
What does a developer advocate do?On the surface, it’s two basic things, which you see in my handy flowchart. I advocate externally by connecting with developers outside IBM and share what’s interesting and valuable about our products. Because we care a lot about developer experience, I advocate internally within IBM to make our products better for developers to use. This means working with our product and engineering teams to surface opportunities to improve our offerings.
What’s a typical day?
One of the things that I love about this job is that there is no typical day. I could be:
- working on infrastructure for our team to use. For example, how do we know when someone’s deployed a sample app? I worked closely with the IBM Bluemix Developer Advocacy team to build a Deployment Tracker service that shows how many times an app has been deployed. We publish that number with the app too. I’ll write more about this project soon. Of course, it uses our own services.
- developing strategy, like promoting offline-first with presentations and webinars. Cloudant’s synchronization capabilities (it synchronizes with anything in the Apache CouchDB ecosystem) make it perfect for offline-first apps. I really enjoy when my advocacy work overlaps with open source projects such as PouchDB and CouchDB.
- writing a blog post like this one, or a tutorial.
- filing bugs or enhancement requests with IBM product development teams to help improve our services.
- traveling to a conference to speak or exhibit, or preparing a presentation for a conference. As you might expect, being a Developer Advocate involves a fair amount of travel. Since joining IBM I’ve been to Raleigh, Ohio, Kansas City (both Missouri and Kansas), San Francisco (twice), Las Vegas, Austin, DC, Chicago, New York City, Portland (both the one in Oregon and the one in Maine), Wisconsin, and San Jose among a couple of other places.