Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
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. –  Jerry Coffin Apr 10 '12 at 15:54
    
@Jerry Coffin: Your comment should have been posted as an answer. :) –  Bernard Apr 10 '12 at 17:22
    
@Bernard: Yeah, I guess. Oh well. :-) –  Jerry Coffin Apr 10 '12 at 17:26
    
possible duplicate: Is it a really required skill to program without API documentation? –  gnat Apr 10 '12 at 18:14

3 Answers 3

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
    
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 –  Joseph Weissman Apr 10 '12 at 16:04
    
@Paul: get lists 1st? What do you mean by that? –  Fahad Uddin Apr 10 '12 at 16:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.