Recently I’ve found IBM Coder, a place where any developer can train itself in different subjects using IBM Cloud. There you can find several challenges to solve using IBM’s cloud technologies. Every completed challenge will give you points that fill up your profile. Gamifications techniques like badges and scoreboards gets you engadget with the program.
Good to know that any resource in IBM’s cloud to solve the challenges are always in the free tier, so it won’t cost you a buck.
I’ve made all the challenges in two subjects: Applied AI and OpenAPI Experience. The first will be covered in following posts, this one is dedicated entirely to OpenAPI.
OpenAPI aims for an stadarization on how REST APIs are described. It defines a standard, programming language-agnostic interface description for REST APIs.
Being a standard allows the creation of an ecosystem of tools and applications for us the developers to work seamlessly with the APIs. For instance, you can find tools for building a documentation site for the API with testing functionality, or tools for creating clients for that API in your favorite languages.
Furthermore, being a standard sets a common language for all the APIs, minimizing the learning curve for a new project, as many others benefits.
OpenAPI and the Coder experience
Currently, as December 2018, there are 6 challenges in the OpenAPI Experience Program, where only 5 are strictly OpenAPI related, being the first one an introductory challenge for settle down with the rest of the challenges.
But don’t give up yet, the remaining 5 challenges are good enough to give you an initial vision of what is OpenAPI and some of its possibilities through a couple of tools.
Is this path worth exploring
It’s totally worth exploring, the challenges only scratches the surface of OpenAPI, though they aren’t trivial, they force you to, at least, dig into the spec documentation.
But they don’t cover, at least currently, some non-basic features of the specification like common parameters, common responses, etc.
What should someone know before this path
But, to be honest, SOA knowledge must be mandatory for a developer who aims to work with an API, while REST knowledge must be mandatory for a developer who aims to work with HTTP APIs. So these requierements are implicit already.
What can you expect to learn
Currently you can learn what OpenAPI is about, scratch a little bit in the specficiation, and the use of a couple of tools. This is a very good starting point, giving you the roots of the domain. For some developers this might be too little, so they expect to learn at least a little more about the spec (like the basics for a production-ready API definition) and some tools.
If I was to define and build additional challenges, I would definetely define challeneges that dig depper into the specification, as well as challenges that takes advantages of the spec. So, there would be a challenge about building a server from an OpenAPI definition using automatic tools.
The IBM Coder program is a good resource for traing yourself in different technologies using IBM Cloud. The OpenAPI Experience gives yourself a good starting point for working with OpenAPI in the IBM Cloud, at least at a basic level. What’s is more important, it gives you the roots and foundation for embracing yourself in the OpenAPI environment.
For sure, there are enhancements opportunities for make a compelling experience. Let’s wait what the folks at IBM are working at.