Pusher's company blog covers realtime infrastructure, Go and Haskell garbage collection, and engineering lessons, plus product news.
HN links it mainly for the Go real-time GC post, which commenters cite for pause behavior compared with G1, and for company announcements.
London, UK - Pusher - https://pusher.com/ - Full time - Onsite Only
Pusher is a multi-tenant distributed system that allows our customers to deliver billions of messages to their connected users. We operate at massive scale, and this informs and affects everything we do.
Our engineering team is based in Shoreditch, London. We are looking for engineers who want to work on interesting problems in a production environment, and take responsibility for the real-world operation of a large and increasingly distributed system. Our software stack is built around Go, Ruby, Node.JS, Redis, MySQL, Git, Puppet and Ansible.
Our standard interview process is pretty straightforward: two Skype interviews and a half-day onsite technical interview covering real-world problems we've experienced (https://blog.pusher.com/heres-what-i-learned-from-3-months-of-startup-interviews/), with travel and accommodation expenses paid.
We are currently hiring Software Engineers, Cloud Infrastructure Engineers and for people to join our Graduate programme. We also have several roles open in sales and marketing.
More information at https://pusher.com/jobs
Then you should be happy that Go has been putting a lot of effort into making its GC as non-blocking as possible. There was an interesting blog post from Pusher yesterday (https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/) about how they had to learn how the GC works and how to make the most of it; the links give more information into golang's internal evolution.
We had a look at Angular 2 at Pusher since a lot of our customers are using Angular to build app. If you want to check out a quick tutorial and see some actual working angular 2 code in action , you can go to https://blog.pusher.com/real-time-apps-angular-2/
Is it okay to rely solely on websockets these days? I was always impressed by pusher.com's commitment to a variety of fallback protocols (and there are three blog posts about it, see https://blog.pusher.com/how-we-built-pusher20-part-1/)
Here's one comparison with G1:
https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/
where G1 still had some reasonably large pauses FWIW. Which is surprising isn't its billing to not do that? But FWIW.
Yeah they "endorse" if you consider they published a link to Poxa here: http://blog.pusher.com/pusher-community-libraries-highlights/
Thanks for pointing out Fanout. Looks like a nice product/project.