Thank You for 12 Years in Developer Evangelism

Even though it was 12 years ago, I vividly remember sitting in a musty conference room with big-name analysts from Gartner. My palms were sweaty and I was almost too terrified to speak. Macromedia had brought me into this meeting to be the customer voice for their new programming platform, Flex. I was an early adopter building a customer portal using this new technology. But I was a coder—not someone who talks publicly. Somehow the Macromedia folks thought I did a good job, and so my life took an interesting turn as I moved from engineering to evangelism.

Back then I would have never dreamed that I’d be on stage with two fortune 500 CEOs, in front of almost ten thousand people, demoing nerdy stuff. Really? Traveling to conferences around the world? That made no sense because I don’t like to be in front of people—I even have a fear of public speaking! Twelve years ago this all seemed crazy. But somehow it happened—this nerdy coder became an evangelist.

Over the past twelve years I’ve been stretched, drained, and fulfilled in ways I never imagined. I’ve been on some amazing adventures while working for some of the greatest tech companies in the world (Macromedia/Adobe, Salesforce/Heroku, and Typesafe/Lightbend). With hundreds of presentations behind me, I still get nervous before I present. Yet, I’ve realized I can do anything; as long as I’ve almost done it before. That has given me comfort on trips where I’ve presented in a different city every day of the week, surviving on only a few hours of sleep. I’ve flown around the world in five days with stops in Tokyo and Bulgaria. I’ve had engineers tell me that I helped change their careers (for the better). And along the way I’ve also been able to build some stuff that I’m pretty proud of.

For example, while at a networking conference in Vegas I stayed up all night to build the Census benchmark app which ultimately helped convince at least a few people to use Flex. Tour de Flex was probably one of the most widely used projects I’ve helped build; we had a real-time dashboard to visualize the location of developers using it, and if you left it open for only a few minutes, the globe was covered. Mixing Loom, which no one used, is still one of the most fun projects I ever worked on. At Heroku, I created the first prototypes for what has become Heroku Button and the GitHub auto-deployment. At Typesafe, I helped create Activator which has been used by tons of developers to get started with Scala, Play Framework, and Akka. One year, at Devoxx France, I created WebJars which now gets over a million downloads per month. Here at Salesforce, I’ve built some really fun stuff like the Salesforce IFTTT channel, but probably my favorite is Koober, a data pipeline sample app.

Ok, enough reminiscing… What’s next??

Today I’m thrilled to be joining the Technology & Products organization at Salesforce—they are the engineers that build the technology which powers the Salesforce platform. I will help our engineers write blogs about what they do, speak at conferences, and open source their projects. I’m incredibly excited to be heading back to my roots in engineering while taking my experience in evangelism with me. Our engineers build some amazing things and I want to help them share those accomplishments with the world. And luckily, I’ll still be able to write code because we need a bunch of tooling to help us do Open Source better. The first of these projects is our Contributor License Agreement GitHub bot, which we just open sourced! I won’t be doing much blogging here since I now have the Salesforce Engineering blog at my disposal.

I don’t want this blog to sound like a eulogy, but it is kinda the end of an era for me. So I’m going to take a minute to thank some people. I absolutely couldn’t have gone from the nervous coder to the evangelist I am today without the help of many people. (I’ll keep this list short so it doesn’t sound like an Oscar speech.)

Christophe Coenraets (still the best evangelist I know) saw something in me that I didn’t. He gave me a shot and has mentored me for 12 years. Mike Slinn has always given me exactly the advice I needed to hear. Greg Wilson encouraged and enabled me to build many of the things I’m most proud of. Dave Carroll has now twice given me a great home at Salesforce. Bruce Eckel continues to help me see things from a different angle and fight passive voice in my writing. All of you (plus many more) have not just been co-workers, you have also become friends who I’m incredibly fortunate to have in my life. So here is a huge thank you to everyone has has been part of my journey as an evangelist! I’m sure we will still cross paths on Twitter, GitHub, at conferences, and on the Salesforce Engineering blog—I just won’t be trying to market anything to you any longer. :)

Quick & Easy ETL from Salesforce to MySQL with Workflow & Heroku

While sometimes unfortunate it is often necessary to have data silos that share data. The Extract, Transform, and Load (ETL) pattern has been around for a long time to address this need and there are tons of solutions out there. If you just need a quick and easy way to copy new & updated records in Salesforce to an external data source, a simple Heroku app and Salesforce Workflow might be the quickest and easiest solution. I’ve put together a sample Node.js application for this: https://github.com/jamesward/salesforce-etl-mysql

Check out a demo:

This sample app uses a Salesforce Workflow that sends created and updated Contact records to an app on Heroku, which inserts or updates those records in a MySQL database. A simple transform JavaScript function makes it easy to customize this app for your own use case. To setup this app for your own uses, check out the instructions in the GitHub repo: https://github.com/jamesward/salesforce-etl-mysql

Let me know how it goes!

This Week: Europe JUG Tour and SAP / Adobe Nanoconference

The last few weeks my wife and I have been tromping around the Alps (and we climbed Mont Blanc!) Now it’s time to get back to work. This week I’m visiting a few Java User Groups to talk about the usual topics: Adobe AIR and Flex

Here is the schedule:
July 7 – Zurich Java User Group
July 8 – Paris Java User Group
July 9 – Amsterdam NLJUG
July 10 – Warsaw JUG
July 11 – London Java Meetup Group

Also on July 11 I will be at the Adobe RedMonk SAP Enterprisey Nanoconference with James Governor of RedMonk.

Hope to see you somewhere along the way!

Thinking in Flex Presentation from JavaPolis 2007 is Online

The Thinking in Flex keynote which Bruce Eckel, Christoph Rooms, and I did at JavaPolis 2007 has been posted! Check it out!

Let me know what you think.

BTW: Don’t you love that Parleys.com is a Flex app?!? And they also have an Adobe AIR version of their app which works pretty well on Linux. (To install the Parleys AIR app on Linux install Adobe AIR for Linux and then get the Parleys .air file.)

James Ward is a Sell-Out

I’ve gone commercial. Kinda. I just bought jamesward.com and it is now my primary domain name instead of jamesward.org. I liked the .org URL but it’s a less familiar URL to non-geeks. You say .com and everyone knows what you mean. The .org will still work – redirects right to here.

So I’m a sell-out. Gone .com. Good news is that you still won’t see any ads on my site.

Let me know if you have any problems with the new domain.

Help me fix my blog [solved]

One of the “problems” with using Flex so much is that I get used to having a simple, predictable layout mechanism. I seem to have forgotten how to do just about anything in HTML. So can someone help me fix the Digg, Reddit, and Share This stuff below? I’ve tried and tried and can’t figure out how to get the dang things to align correctly. Ideally they would align to the bottom of a div or something. Gosh it’s really embarrassing admitting publicly that I can’t do HTML anymore. But since you have already seen how bad this blog looks, you probably already guessed that. :) Oh well. Please help.

Eckel Flex eSeminar; Buni Joins java.net; Twitter Addiction

Yesterday was an exciting day! Bruce Eckel and I hosted an eSeminar about Flex & Java. We had a few technical difficulties, but overall it was very good. You can watch the recording here:
https://admin.adobe.acrobat.com/_a227210/p16565134/

Bruce and I have a few more eSeminars coming up, find out more info here:
http://www.adobe.com/cfusion/event/index.cfm?event=detail&id=462539&loc=en_us

Also yesterday the Open Source Buni Meldware Communication Suite joined the Java.net community. This is a great step forward for the project, which uses Flex for it’s Webmail client. More info from Andy Oliver:
http://blog.buni.org/blog/acoliver/meldware/2007/02/28/Meldware-joins-Java-net

And lastly, while at the Adobe Engage conference, I gained a Twitter addiction. Please help me indulge my addiction and add me as a friend:
http://twitter.com/jlward4th