0

I have seen many organizations looking for developers who have good command over Facebook, Google and other API's. Now I am a bit confused about it. I have developed Facebook fanpages, embedded facebook buttons to websites and used google maps API too but the thing is that these API's are very large to completely master.

How much exactly do a good command over an API mean?

4
  • 6
    "Exact" is one thing it probably isn't. I'd guess, however, that the general idea is that you have sufficient awareness of the API that if you're given a particular problem, you can at least sketch out a reasonable idea of how to solve the problem with that API, without having to spend a lot of time "wandering around" and experimenting to figure out how it works and how to get things done. OTOH, it probably does not mean that they expect you to have memorized every parameter to even the most obscure functions and such. Apr 10, 2012 at 15:54
  • @Jerry Coffin: Your comment should have been posted as an answer. :)
    – Bernard
    Apr 10, 2012 at 17:22
  • @Bernard: Yeah, I guess. Oh well. :-) Apr 10, 2012 at 17:26
  • possible duplicate: Is it a really required skill to program without API documentation?
    – gnat
    Apr 10, 2012 at 18:14

3 Answers 3

2

An understanding of how the practices that the API is built on (does it require a key, web server, json, rest, authentication, get lists 1st, whatever). Do some trivial, and then non-trivial samples for yourself. Finally, build a good understanding of how the api documentation is laid out, so you can find items quickly.

That would be enough for me.

2
  • I might build a simple app that utilizes it -- pretty much what Paul is advising, but just to amplify -- I'd try to have thought about it/worked with it/built something interesting using it/etc.; played with it "from a developer perspective," as it were Apr 10, 2012 at 16:04
  • @Paul: get lists 1st? What do you mean by that?
    – user4124
    Apr 10, 2012 at 16:39
2

To me, mastering an API generally means an ability to code to that API without having to trace deeper than one level through the documentation, and implies good command of your programming language.

Consider .NET FTP client API as an example. Mastering it does not mean that you should be able to code to it without looking at the documentation at all (although such ability does imply mastery of the API). However, given a task that you want to accomplish, you should be able to locate a method that you need to call, and code a call to that method without visiting other pages in the documentation. For example, if downloading a file requires setting up an asynchronous callback, you should know what that means, and code it without reading additional documentation on asynchronous callbacks.

0

Definitely, you need to know how to build a simple app that uses it, or even, depending on the API, a not-so-simple more useful app. You should be able to find answers easily in the documentation, of course, for the bigger APIs, you do not have to know the whole thing. Basically you should have an understanding of the API and be able to build application utilizing the API.