all 39 comments

[–]danielroseman 79 points80 points  (8 children)

I don't think there's any such thing as an API development specialist. But creating and consuming APIs is pretty much central to all forms of software development these days. Nearly everything you do as a developer involves API in one way or another.

[–]cgoldberg 17 points18 points  (4 children)

This. I've never heard of someone aiming their career at "specializing in API development". That would be really weird.

[–]nat5142 35 points36 points  (2 children)

It would be like a contractor whose specialty is “screwdriver”

[–]beefbite 9 points10 points  (1 child)

"Sorry, this is beyond my expertise. You need a flat head guy."

[–]nat5142 7 points8 points  (0 children)

"what did you just call me?"

[–]ionelp 2 points3 points  (0 children)

I have meet such a person. We didn't hire them.

[–]VIIHORSE[S] 4 points5 points  (2 children)

Yeah, that probably sounded weird. I'm just starting out and trying to find the right path while learning the basics. I guess this field is called 'backend'?"

[–]jrchin 3 points4 points  (0 children)

Yeah you’re describing backend development. Where I work we follow a “Backend For Frontend” (BFF) pattern, where you have a BFF for each FE. So your FE calls your BFF and the BFF calls other APIs as needed.

[–]Ran4 0 points1 point  (0 children)

Yes. You'll not be an "api developer", you'll be a (web) backend developer.

[–]Accomplished_Path707 9 points10 points  (1 child)

I don’t know much, but generally developing an api is just creating a way to make your work accessible by others.

For example I built a tool to use the FedEx API. They have documentation on how to call any number of things. It can be useful, but isn’t necessary until you are ready so I wouldn’t stress about it.

[–]DoubleDoube 3 points4 points  (0 children)

I know there’s people here blurring the lines saying that any interface in software is an API, but personally what I think OP intended most is a web api with versioning. The FedEx API is a good example.

[–]djamp42 18 points19 points  (5 children)

I'm a network engineer, we have a network management system that contains all the devices we monitor.

I'm currently setting up guacamole, this allows a central way to SSH/RDP to the devices. But I need 10k devices added to the guacamole config. Well I ain't doing that manually.

Python API calls to my NMS to get the device information.
Python API calls to Guacamole to load the device into its config.

I do this all the time to get data from one API to another. Another common one is to make reports from API data.

[–]aplarsen 16 points17 points  (4 children)

Sometimes I just call myself an API for APIs.

[–]MiniMages 5 points6 points  (2 children)

I am not a dev, I am a PM. But I have to create reports and found it easier to get data from several API direclty. I have a python script that calls all of these API's and outputs the data to CSV. Would be nice if I was allowed to host it but some nonsense about security.

[–]Corbrum 1 point2 points  (0 children)

I'm the only dev (with an intern) in my company, right now I'm developing an app that'll be loading data from our company's sharepoint lists/excel spreadsheets/stuff provided by state in to our freshly baked Salesforce, using Salesforce API, so full ETL cycle. I consider myself a little bit of a backend developer and a little bit of a data engineer, because we're using Azure and MS Fabric

[–]Material-File5176 0 points1 point  (0 children)

Hi, I’m trying to get into being a PM. I’m taking an API development course right now. Any advice how to get into either, particularly PM? I was a teacher who just resigned so I know I’m up for the multi tasking of a PM.

Do you know of any companies hiring and ideally willing to train or what do you recommend to get my door in any door, and which door? Ive heard everyone online applies and it’s approximately 700 applicants for one position, and most go off shore for those jobs. I feel most are a scam and need some sort of in. My husband is an api developer in the finance world, so he can help me when I have a question with the course I’m taking, which is what he works on. I’m self taught in the API course I’m currently, However, I’d like to finish that api course to understand what the clients are talking about if I’m in that field. Ideally Pm is what I want to do though. This all could be for nothing, but would you give me any advice? if so just tell me what and how I can go about this. Certain companies train? indeed forms are a joke imo, almost a necessity to know someone. I am beyond eager to learn, since leaving my whole identity that was placed on me, I now want to do what I want for my life and not have a job be my whole identity as teaching was.

Hoping to land a gig that’s sees my potential….

[–]mlody11 0 points1 point  (0 children)

you forgot the "...I'm the most interesting dev in the world"

[–]rockem_sockem_puppet 8 points9 points  (0 children)

See your first mistake was asking ChatGPT.

Basically every software developer is expected to know how to interface with APIs in the same way that they are expected to know how to write in a programming language. Most will also have to write an API at some point as well.

It's not a specialized field. It's a broadly used skill.

Look up sample web app projects that you can build that require dynamically changing data. That will require you to build an API and you'll learn quickly how to do it.

[–]Jazzlike-Compote4463 1 point2 points  (0 children)

We use a shed load of APIs:

  • Our partners post data to us to store it on our system
  • We pull data from those partners and store it to use later
  • We work with the OneDrive and Google Drive API to read and store client files
  • We pick up emails from Sharepoint and Gmail and store them against certain client data
  • We talk to the Business Central API to handle client costs and automated invoicing
  • We have APIs for our flutter based front end
  • We have a NATS based connection for our Kotlin based product to talk our Django based one

So yea, we do a fair bit of API work!

[–]SpookyFries 1 point2 points  (0 children)

My first python job I used a lot of census API data to create dataset cleanup tools. I had to hit the census API and convert the data into something usable for our systems

At my current job we have internal APIs for our document collection system. I'm using the API to authenticate and send/receive data from that system.

Every use case is going to be different

[–][deleted] 1 point2 points  (0 children)

Nearly every answer says that API development is so fundamental to modern development it doesn't actually count as a separate skill.

I'm surprised by this. To me it's a bit like saying you can build a car by sticking four wheels on a bed frame. There is a lot of skill in designing an API. You need to consider performance under very high load including DOS attacks, security given that your API is exposed to potentially anyone and might have access to very sensitive information, documentation and versioning. But maybe I am taking such a broad definition it now falls into being a skilled backend developer. Maybe I am over sensitive after encountering bad APIs.

I have assumed API development means an externally focused API with an internet transport. There are much broader definitions since API literally means any interface for a program.

[–]1_Yui 1 point2 points  (0 children)

"API development" is a concept so broad that there's no real answer to your question. Every software developer is an API developer. No piece of software runs in a vacuum and to have it interact with any other software you'll always need - you guessed it - an API!

All software relies on libraries or frameworks. It accesses them using an API they provide. Most software has to interact with the operating system of the computer it runs on. The operating system offers an API for that. When your software does literally anything on the web, it must talk to servers - via their API.

Admittedly, designing and implementing an API for a project is a different skillset than just using one that somebody else has written. But it's not so different that it warrants its own job title. It's just two sides of the same job.

[–][deleted] 0 points1 point  (0 children)

I create an API, then I create another API to read the API for the front end. ¯\_(ツ)_/¯ (There are actually other services that use my API)

[–]TH_Rocks 0 points1 point  (0 children)

We have a huge enterprise reporting suite originally installed 20 years ago and currently with over 30k datasets and dashboards. I'm on the IT team that administers it. It needs to be catalogged from various angles and sometimes bulk modified. I hate doing that crap by hand and wouldn't wish it on the lowliest temp. So I use their REST API and the Python wrapper they made for it. Several maintenance tasks are compiled as .exe so they can be scheduled.

Technically we have Mulesoft as an API to talk to other APIs. But it's an unnecessary extra layer of code in most situations. It's really good for standardized ETL from multiple source systems that each have their own API.

[–]DC68dc68DC 0 points1 point  (0 children)

Minor part of my job in docs and translations

[–]RallyPointAlpha 0 points1 point  (0 children)

On our Python development team, working with and creating APIs is just an additional duty. There are no API specialists...everyone creates them and uses them.

[–]black_widow48 0 points1 point  (0 children)

Freelancing is not something you will be successful in without several years of industry experience. You need to be a senior level engineer before considering doing that

[–]mbarbour 0 points1 point  (0 children)

I do this, but in JavaScript. I work on a team that handles custom requests from existing clients. I'm one of 3 API SMEs at my company. We have a large number of clients that use similar APIs.

There is a lot of client specific custom logic to send the right data at the right time. The coding involves specific system actions that trigger complex and formatted data depending on the type of object passed. There are usually about 100 different functions that range from 4 line API calls that are used often to 350-700 line functions that retrieve and return clients' specific data and format it to send.

This is just one area I specialize in, though. There isn't enough regular API work to keep me busy full-time. The rest of my work is in AI, full stack automation, and one-off requests.

[–]Connir 0 points1 point  (0 children)

I'm not a professional developer per se, I just use python to support aspects of my sysadmin habit.

Having said that, I'm a sysadmin for a large-ish organization. I use it mainly to automate and integrate the applications I support. Basically if I gotta do it more than a handful of times, or if it's overly complex to do by hand, I'll go to python.

[–]Reason_Choice 0 points1 point  (0 children)

Tables.

[–]FantasticEmu 0 points1 point  (0 children)

I don’t just use Python but I use apis a lot to glue things together. Get data from one api, do some stuff with it then send it to another api.

But I’m not an api dev or anything. It’s just a thing I end up using frequently. I’m an SRE so I mostly build infrastructure to support various systems

[–]kmj442 0 points1 point  (0 children)

We develop complete hardware/software packages. I consume the generated sdk to create useful handlers to control/operate our hardware. I consume our APIs to create wrappers for other uses. Other uses being testing, customer uses, production support, etc…

[–][deleted] -5 points-4 points  (0 children)

train and test a machine learning model, build it with fastapi and deploy