(Title photo: Ophelia photos - Creative Commons)
I stumbled upon this twitter thread and corresponding Hacker News comments today: 90% of software...
For further actions, you may consider blocking this person and/or reporting abuse
I love this! I love working with data integration, and connecting different APIs and databases, and I actually think there's incredible opportunity to be artful and creative when you're "moving bits", especially once you start to get into "how do I make this configurable for future use cases?" or "what is I need to move/process a large volume in a short time on undersized hardware?"
I also want to throw out that I do still encounter a ton of "poorly documented" APIs, but they can be almost as fun as they are frustrating. I can really enjoy "black box" developing an integration sometimes, where all you can do is throw input at it and see what the get back. : )
Definitely, and you can often see why an API is "poorly documented". It takes more effort to document something well that to design it well, and as a developer you often need to take into account things that are very hard to document (performance, scaling) anyway.
What I like the most is when I can get quickly started with a starter project and easy test tokens. This often means that it will also be easy to set up tests and catch edge cases later on.
Integrating APIs is pretty fun for me, even if the APIs are not well documented or flawed. It is the next step in programming, which is the integration of different people's work with each other to create a new and better product.
Programming is a mixture between science and art: we use logic in an imaginative way to create new things.
I've always viewed programming as more art than science, and derive most pleasure from twisting it in unusual ways, or throwing together useless "toys" mainly for my own enjoyment. Sometimes these exercises yield something useful (new libraries, tools, frameworks etc.), but that's just an added bonus.
Unfortunately, this kind of intellectual play doesn't pay the bills... developmental API "plumbing" does. To me, it's mostly boring, but occasionally throws up interesting challenges. The main reason I stick with full stack is to keep it as interesting and varied as possible.
What parts of your βtoysβ do you find fulfilling, and why do you think this kind of software is not useful in a professional setting?
I must admit that I do enjoy software architecture a lot, and so choosing which API, when, for what reason, and how to introduce it is what really gets my creative mind going. Do you chose an event driven architecture or stick with plain old REST calls and a DB transaction? What if you had a big old codebase using node.js and mongodb? What if this thing needs to ship tomorrow?
The creativity is moved from the actual code to the design of the system, the compromises, the realities of running a system production (very worth it using a shitty API if the tooling is better, etcβ¦)
Moving bytes IS real engineering! Would love to know what you think of pipedream.com
I don't really have an opinion. I've had success in some cases with "click here to pipe data" tools, and also absolutely terrible experiences where doing it manually from the get go would have helped tremendously.
Did you use it? Any comments?
I am a Pipedream founder so am quite biased! But Pipedream is built specifically for developers. Check out our GitHub repo.
We do provide a UI for building integrations, but you can write any Node.js, Python, Go or Bash code within a workflow. I frequently write workflows that are a mix of pre-built actions (I don't want to write the code to send a Slack message every time) and custom code steps where I implement the logic I need for the specific automation I'm building.
Give it a try and let me know what you think! We deeply value feedback from developers. Feel free to join our community, too, if you want to chat with us via Slack / Discourse.
I think the worst API I had to use was related to that PC-NFSD COBOL thing I was referring to. In fact, the form had a βCommandβ field, and there were about 600 commands all labeled with seemingly random strings like CFUATUU or DOFTTNI. I had 600 pages of documentation, one per command. No table of contents, no index, no page numbers. Of course nothing was in alphabetical order either. Absolute bliss.
I see it as playing with LEGO, you join some pieces together to create something, plus you can also create your own pieces if needed, which adds some fun to it.
Feel it the same way, mostly. Glue things together don't have to be boring.
API's bring any app to life.