
Ask HN: As a developer, what attracts you to a platform? - ent101
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
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.

~~~
jstewartmobile
That shouldn't be too hard to arrange.

~~~
thijsvandien
Calling them an asshole might complicate matters. :)

~~~
jstewartmobile
asshole discount already factored in.

~~~
Porthos9K
If you're an asshole or try to hire me on as a 1099 contractor, I charge
_double_. $100/hour is with the asshole penalty factored in.

------
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.

~~~
tonyedgecombe
_Example from 10 years ago: mobile apps are as difficult to create as desktop
apps._

Desktop apps aren't difficult, at least no more difficult than a modern web
stack.

~~~
toyg
He actually says exactly this further down:

 _> except for the React frontend. The complexity is insane, worse than the
desktop apps of the 90s_.

------
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...](https://pmarchive.com/three_kinds_of_platforms_you_meet_on_the_internet.html)

------
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...](https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/)

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

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

[4] see [https://www.amazon.co.uk/Philosophy-Software-Design-John-
Ous...](https://www.amazon.co.uk/Philosophy-Software-Design-John-Ousterhout-
ebook/dp/B07N1XLQ7D/ref=tmm_kin_swatch_0) 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.

~~~
ent101
Interestingly enough, Microsoft Windows' strict backwards compatibility
strategy seems to address this concern head-on which I think gives (gave?)
developers a lot of confidence in the platform.

~~~
pmontra
Some developers got burned by Microsoft. Example: the ones who invested in
Silverlight.

~~~
tonyedgecombe
Win32 has been with us for 25 years now, it's probably a reasonable assumption
it will last another 25 years.

You have to be picky, I wouldn't invest any time in Blazor right now, it's too
early.

------
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

~~~
ent101
Thanks! Can you give an example of this, please?

~~~
verdverm
Golang, Cloud, Kubernetes, Apollokit.org, Hofstadter.io (self plug)... All for
various reasons, but overall productivity gains / removing dumb, repetitive or
boring things

GSuite like collaboration when that came out

Documentation is important too, as is good UX/DX

------
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.

