IBM Watson Senior Software Engineer, APIs | Littleton, MA | Full-Time | Onsite
Join IBM Watson and help build the leading cognitive API platform! We’re looking for a Software Engineer or Researcher to help define and standardize the public REST APIs for the Watson Developer Cloud platform.
Are you passionate about creating usable developer experiences? Are you interested in combining your software engineering expertise with user research to improve API usability and consistency?
Responsibilities:
Work with service teams to help define new REST and SDK APIs and updates to existing APIs in the Watson Developer Cloud.
Join IBM Watson and help build the leading cognitive API platform! We’re looking for a software engineer or researcher to help define and standardize the public REST APIs for the Watson Developer Cloud platform.
Are you passionate about creating usable developer experiences? Are you interested in combining your software engineering expertise with user research to improve API usability and consistency?
Responsibilities:
You will work with service teams to help define new REST and SDK APIs and updates to existing APIs in the Watson Developer Cloud.
You will identify and prioritize usability and consistency issues with the current APIs to be fixed in future versions.
Requirements:
You have solid communication skills.
You have expert software engineering knowledge.
You have experience creating public APIs or researching developer usability.
5+ years experience as a software engineer or PhD candidate
Willingness to relocate to Littleton, MA (ideally) or NYC.
Next steps:
Send your resume to jsstylos@us.ibm.com with the subject “API expert candidate”. For bonus points include a cover letter with an assessment of the current Watson Developer Cloud REST and SDK APIs (http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercl...).
Hi, sorry you didn't have a good experience with the API and documentation. I'd love to get some more details on what the stumbling blocks were. Thanks, jsstylos@us.ibm.com
In addition to filing bugs, I'd love to get suggestions about how we could improve the documentation. Did you find the API reference material lacking, was the problem in the procedural documentation, (or was it both)? Is the problem with our service docs or figuring out Bluemix? As @jsstylos pointed out, the forum is the way to let us know what you think - not just bugs, but thoughts on what's missing and how to improve things. We'd really like you to be successful ;-)
Yes, the API credentials for the service are different from the Bluemix login. To get the API credentials, you have to create a service through Bluemix, bind it to a Bluemix application and get the credentials from the VCAP_SERVICES of that Bluemix app. There's a getting started page describing these steps at http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercl... (We hope to make this process simpler in the future!)
All of the Watson services are free in beta. (Bluemix, through which the services are accessed, requires a credit card after 30 days, but doesn't charge you for use of the beta Watson services.)
We wanted to get the services into peoples hands early, even though we're still working on them, rather than wait until we had a perfect product. There's a tradeoff here, but we figure that we can improve the services faster and better with public usage and feedback than we could in private isolation.
Since they're free, hopefully people will be able to have some fun playing around with the services, also!
1. This is good feedback, thanks. 2. The rest API docs are at https://www.ibm.com/smarterplanet/us/en/ibmwatson/developerc... You can call the service directly, though the samples show using an http webapp as a proxy to avoid exposing private service credentials. We're still working on the documentation, so feedback is helpful here. What other service REST API docs do you like, just out of curiosity? What are the features that makes that documentation useful?
I'm on the Watson team and we're interested in learning from developers to make our APIs and documentation easier to use. Have feedback? We'd love to hear it. jsstylos@us.ibm.com Twitter: @jsstylos
The APIs can be used for all of the types of apps you mention -- there's nothing limited to, or even targeted to advertising. Here's an idea for an app: Imagine that you're a non-native English speaker, and you want to communicate with English-speaking friends on Facebook or Twitter. Language identification can detected your language, machine translation and translate it to English, concept expansion can automatically generate potential synonyms, message resonance can select the synonyms that best capture your message, and user modeling can tell you what kind of emotions your message is communicating. This technology can and will be used to bring people together, but ultimately it comes down to what types of apps people make.
For the jobid example, the stringify is necessary because the jobid returned by the server includes a # symbol. Try the code you suggested and you get the result: "Error: ContextExpansion Error: jobid is in incorrect format."
This is a perfect example of why I don't like to take silly shortcuts based on tenuous assumptions like the GP suggests.
Assumptions, more often than not, (1) change, (2) are understood differently by others, and/or (3) (as in this case) are flat-out wrong. Code that takes "advantage" of such silly assumptions usually (1) are poor examples to coders new to the project, (2) complicate reviewing the code for correctness, and (3) waste brain-time figuring out when they can (and can't) be applied.
Just escape everything that should be, whether you think you know what it is/where it came from or not.
Join IBM Watson and help build the leading cognitive API platform! We’re looking for a Software Engineer or Researcher to help define and standardize the public REST APIs for the Watson Developer Cloud platform.
Are you passionate about creating usable developer experiences? Are you interested in combining your software engineering expertise with user research to improve API usability and consistency?
Responsibilities:
Work with service teams to help define new REST and SDK APIs and updates to existing APIs in the Watson Developer Cloud.
Work with teams to revise and drive alignment around a set of API guidelines (https://github.com/watson-developer-cloud/api-guidelines).
Willingness to relocate to Littleton, MA.
Identify and prioritize usability and consistency issues with the current APIs to be fixed in future versions.
Next Steps:
Apply at: https://krb-sjobs.brassring.com/TGnewUI/Search/Home/Home?par...
Email jsstylos@us.ibm.com with an assessment of the current Watson Developer Cloud REST and SDK APIs for bonus points.