I wrote them a cover letter that began:
- - -
When I design an API, I start with the apps. An API has no value on its own; its value comes from what you can build with it.
There may be an existing app that needs a new API feature, but I like to write a self-contained sample app for quick iteration on the API design and to include in the SDK.
An API also needs full test coverage, of course, but that comes after this initial step. Instead of test driven development, you might call it app driven development.
An SDK developer is also in a customer support role: they should write solid reference documentation and tutorials and sample apps, and interact directly with the users of the SDK. It’s not a job for someone who likes to just sit quietly and code.
One of my hobbies has always been to assist other developers in various online forums. Most recently this has been on Stack Overflow where I’ve posted over 600 quality answers. Previously I was known for my advice on the original jQuery mailing list and Windows programming forums.
- - -
I went on to list some of the APIs I've built.
The cover letter must have resonated with them, because they brought me in for interviews the next day, and made an offer the day after that.
This looked like my dream job! I love building APIs, working with the developers who use those APIs, and especially anything to do with geospatial data.
The team that hired me had been a startup that was acquired by a larger company in another state.
Things looked great at first. I was writing sample apps and imagining what APIs would make it easy to develop those apps.
And then a team of Architects from the larger company swooped in and decided that they should be the ones to design the new API.
They liked to design with UML charts of boxes and arrows, and thought the API should reflect the inner workings of their system.
I thought the API should be simple and easy to use for outside Python developers, and I tried to put myself in the shoes of those developers to understand what would make their jobs easier.
At one point my manager asked, "can't you just implement what the Architects have specified?"
I gave it my best, but by that time I was demoralized and unproductive. The company wanted me to do the exact opposite of what I was good at and what they hired me for.
I was fired after three months.