HACKER Q&A
📣 ent101

As a developer, what attracts you to a platform?


What is the most important factor that makes you excited about a platform? What makes you want to learn to build on a platform? Is it new APIs? Ease of development? access to new users?...


  👤 jstewartmobile Accepted Answer ✓
Not having the rug pulled out from under me.

- Examples -

C + OS APIs: They can't change things just for fun without inflicting serious self-harm.

Golang: Really great about not breaking things.

- Counterexamples -

Mobile: New bureaucratic hurdles for every freakin' build!

JavaScript+DOM: Caniuse.com hell.

Elixir: Two languages in one, two different string types, and new, exciting, warnings with every release:

    warning: String.strip/1 is deprecated. Use String.trim/1 instead
    warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
I'm sure that extra underscore was just killing someone.

👤 Porthos9K
I don't get excited about platforms. I get excited about people paying me to use platforms. If some asshole wanted to pay me $100/hr with time and a half for overtime to do COBOL on a System 360 I'd probably take the job.

👤 pmontra
Customers paying me and/or easier way to make money.

Example from 25 years ago: HTML and CGI were a much easier way to build and distribute reasonable applications than the current desktop technologies. There were a lot of customers too.

Example from 10 years ago: mobile apps are as difficult to create as desktop apps. I gave them a try and I stuck to web development. There are enough customers even nowadays.

Example from 3 years ago: a new customer wanted to make me work with Python and Django. They are worse than Ruby and RoR (which I worked with since 2006) but OKish. I accepted to collaborate with them.

At the same time another new customer was looking for Elixir developers. I looked into the language a couple of years before, better than Python for web development, I started to work with them too, with more enthusiasm except for the React frontend. The complexity is insane, worse than the desktop apps of the 90s.

I also did some Rails web development in the last years, that was easier money than both Python and Elixir. I go Ruby for my pet projects: it's easier and quicker to code. My time matters.


👤 MichaelKovacs
I think it's applicability first, then trust second.

Applicability - The platform has to get me to some goal faster, easier, better than if I got at it alone. The goal can be anything. Ex. If I need to build messaging within my app I'll use Twilio, if I need distribution/users, I'll list on iOS/Android.

Trust - It's all the signal that platform has staying power. Great APIs and docs means they care and are investing in developers, years in existence, community, amount of end users, pass history of doing what they say relative to roadmap, etc. I think it's weighing all these tings before you start to build.

maybe related, I think this is the best article on "platform" , Marc Andreessen 2007 - https://pmarchive.com/three_kinds_of_platforms_you_meet_on_t...


👤 afarrell
The sense that the platform's interface (API, dashboard, Docs) create an interface of which I can gain a solid mental model. A "solid mental model" is knowledge which enables me to predict how the platform would my code/actions would make the platform behave, to feel confident in those predictions, and to be correct.

Why does this draw me to a platform? Because it leads me to think that I'll be able to use it to solve business problems[1] despite having non-infinite mental abilities[2]. That includes the ability to communicate about timelines with stakeholders.

What makes me think that about a platform?

- Well-written documentation, with appropriate amounts of the 4 types of docs: tutorials, model explanations, how-to guides, and references.[3]

- If applicable, docs which show how to write automated tests with the platform.

- Interfaces which do a good job of containing complexity. The information they require me to learn "pays its rent" for the space it takes up in my mind. The modules are deep enough to have solved problems that would otherwise take up my time.[4]

- An active community so that StackOverflow has a body of high-quality questions and answers.

[1] see https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...

[2] see https://news.ycombinator.com/item?id=21303314

[3] see https://www.divio.com/blog/documentation/

[4] see https://www.amazon.co.uk/Philosophy-Software-Design-John-Ous... a concise book which is worth the £8 and 150 pages.


👤 vishym
When I choose a new platform, I try to assess how long the platform my survive. APIs, ease of development and ease of use are important too. But when I am going to spend many hours trying to learn a new platform, I try to as sure as possible that the platform is going to last for at least 5 years.

Now it is easy to judge this for well established platforms like Linux, GitHub and software in the similar league but it is not so easy to judge this for new upcoming platforms offered by emerging technologies and startups. For the latter I look at what people are talking about the platform online, how much financial or community support it has got. For example, I would be more willing to put effort into learning a new open source platform with 1000+ GitHub stars and 100+ forks than I would be willing to learn a platform with 20+ GitHub stars. Similarly, I would be more willing to put effort into a new startup's platform that has got several millions of dollars of funding and good reputation than I would be willing to put into a platform with little to no funding. These are not perfect metrics but they make a good start.


👤 Scarblac
A feeling that the idea behind the framework is the right way to solve problems of existing frameworks, that it makes sense.

Bonus points if it is popular, with some technologies there is a risk of going into a career dead end.


👤 buboard
To a for-profit platform? Monetization potential. The most important criterion is how to make money in the platform, fast, before it turns to another walled garden you 're chained into.

👤 todaysAI
Node.js excited me because I could code client/server with a single language. Seemed like a win especially when I started researching node.js and all signs were positive.

👤 muzani
Mostly energy level and community/users. That usually determines how far a platform can go and how fast. It also makes it a heck more exciting to work, and even if it fails, leaves good memories.

What I worry about is the WordPress/Stack Overflow effect. Where something becomes so popular it attracts the wrong crowd, either dumbing itself down too much or becoming elitist. It bloats itself, trying to expand into too many things and isn't good at any one thing.


👤 kitsunesoba
The extent to which the platform’s SDK is “batteries included”. If I find myself importing a lot of third party libs or writing a lot of my own stuff to fill gaps I’m not going to be happy. Unless the project in question is doing something esoteric, my time should be spent writing the actual application, not writing UI widgets and other incidental bits and bobs.

👤 villgax
A sandbox to test things out right, not a free-tier per se but a sandbox to try out every feature a couple of times.

👤 quickthrower2
If overall they are making my life easier and solving pain points of a previous platform, with a net reduction in pain overall compared to the best that is available today.

👤 mips_avatar
Getting me to look at the platform requires the platform solving a problem I have. Not running away requires good documentation (tutorials, how to's, and technical reference)

👤 verdverm
New paradigm that simplifies or accelerates development

👤 preslavrachev
How boring it is. Really. The more boring a platform, the more chance it has to withstand emotional hype-and-dip cycles.

👤 robbyt
A public roadmap, minimal exit friction (how quickly can I switch to something else), and a real SLA (if hosted).

👤 stevenwliao
- Makes development/deployment simpler

- Tested in production

- Activity that gives the impression that it will be maintained


👤 juststeve
Governance, and diversity of ideas and opinions.