Square's engineering team writes about Ruby's JIT, Go, Android libraries, service meshes, Bitcoin cold storage and incident reports.
Commenters call it an excellent blog and praise Square's Android guides and libraries; its Ruby JIT post is recommended reading.
iOS: docs are so good you'll find yourself reading way past what you actually need, just for fun. They're great. APIs generally well thought out. Examples current. Xcode's sometimes frustrating, but not that bad. Worst part's the signing process which remains prone to breaking for mysterious reasons (this is probably less true if you have just one project that's always current, but if you have historical projects that need upkeep and you bounce between different apps it's bad) and I still have to look up again how to get all the parts working if I go more than a few months without messing with it, because I can't seem to keep it in my head.
Android: most docs amount to half-assed Javadoc output. Longer-form sections frequently contain bad advice and outdated examples. When the examples aren't outdated they always seem to avoid demonstrating the particular use you need them to, as if by magic. APIs themselves sometimes weirdly bad (see, at least as of ~6 months ago, the Android google maps address search API being significantly worse than the Javascript one). New UI elements are frequently a duct-tape-heavy veneer over existing UI elements that lacks customization you'd expect to exist, unless you resort to reflection, and generally feel like something the summer interns threw together. Support for all that pretty Material UI stuff is laughable.
And while I know there isn't an iOS public bugtracker to compare it to and that that's also kind of a bad situation, the Android…
Square's guides and libraries in particular were a great place to start when last I worked on Android (2017). They filled in a lot of dumb gaps in basic, common functionality, and their guides and blog posts on Android topics generally left me feeling more confident in them than in Google's Android team. They were among the ones calling "the Emperor has no clothes!" over fragments, for instance, and they described and built alternatives.
It does look like they've abandoned a couple of their big view-related Java libs, which makes me wonder what they're using now. Seems they've switched to Kotlin for a lot of stuff.
Don't remember their blog being on Medium (ick) but it is now, looks like:
https://medium.com/square-corner-blog
Posted: https://medium.com/square-corner-blog/incident-summary-2017-03-16-2f65be39297
Please feel free to email me at ewb_at_squareup.com with any questions. Again, we apologize for the outage and take remediation of these issues seriously.
Less technical version: https://www.issquareup.com/incidents/y4mrzjz0nl2d
The OMR project gave Ruby and Python a try, Ruby was up and running to a decent point. Python turned out much harder.
The Ruby community went in different direction here [2] with RTL MJIT.
[1] https://github.com/eclipse/omr
[2] https://medium.com/square-corner-blog/rubys-new-jit-91a5c864dd10
Three worthwhile reads for anyone interested in the new (M)JIT:
https://medium.com/@k0kubun/the-method-jit-compiler-for-ruby-2-6-388ee0989c13
https://medium.com/square-corner-blog/rubys-new-jit-91a5c864dd10
https://www.johnhawthorn.com/2018/02/playing-with-ruby-jit-mjit/
Square have an excellent blog: https://medium.com/square-corner-blog
Square put out a lot of fantastic libraries, and much of their output is basically essential for Android.