ThreeFlow | Backend software engineer | Remote Only | USA | https://www.threeflow.com
Hey! We’re an insurtech startup that has just announced our 45M Series B and is subsequently growing! In order to scale our engineering org, we're adding four backend engineers to help build out our APIs and integrations. We have done our best to create and evolve a supportive and inclusive culture that values perpetual learning. We also know there is always room for improvement which we actively work on.
ThreeFlow is and has been a fully remote company since the beginning, and has folks in Hawaii, Chicago, SF, NYC and beyond (in the US). Our company values are: Collaborate Enthusiastically, Work with respect, Constantly push boundaries, and Grow together.
ThreeFlow | Engineering Manager, Software Engineer, DevOps | Remote Only | USA | https://www.threeflow.com
Hey! We’re an insurtech startup that has just announced our 45M Series B and is subsequently growing! In order to scale an engineering org with intentionality and care, we're adding three engineering managers to join us to thoughtfully look after the expansion of our three product development teams.
I've thought a lot about how to position this role/job description so that people are successful from day one. I'm looking for folks who sincerely enjoy people management
(hiring/mentoring/supporting the team) as well as perpetuating an inclusive working environment. If this sounds like you, please apply!
We have done our best to create and evolve a supportive and inclusive culture that values perpetual learning. We also know there is always room for improvement which we actively work on.
ThreeFlow is and has been a fully remote company since the beginning, and has folks in Hawaii, Chicago, SF, NYC and beyond (in the US). Our company values are: Collaborate Enthusiastically, Work with respect, Constantly push boundaries, and Grow together.
In addition to these Manager roles we’re also hiring for Front End, Back End, SDET and DevOps.
This is a great article, raising many valid points around concurrent programming. I can't speak to Ruby, but Python supports, and has never presumed linear programming.
Python has had POSIX threads since at least 1.5.1. The standard library contains a set tools for concurrent programming (see the threading module, queue, etc) and many included libraries are thread-safe.
The GIL's behavior is complex, but even so it's still possible to write performant, multi-threaded code in Python, especially for IO bound tasks. See David's excellent write up: http://www.dabeaz.com/GIL/gilvis/index.html.
Everybody wants the GIL to be removed, and several attempts have been made, but the collateral damage seems just too great at the moment - C extensions, and tons of libraries, frameworks, and programs would need to be re-written at the cost of greater complexity, for questionable performance gains in the average case.
Backwards compatibility is a core philosophy of Python, one which I think makes it a great programming environment. This makes removal of the GIL more a philosophical problem than a technical one. Python 3 has made some progress in removing GIL contention, but it's certainly here to stay for the foreseeable future.
Perhaps Python will be left behind in the future due to these decisions, but given all the work being done, I find it hard to believe any argument claiming that the Python community isn't actively invested in concurrent programming.
Coffee! In Portland it's practically religion. There's at least a dozen microroasters and hundreds of coffee shops. My favorites: Spella (5th and Washington) Stumptown, and Barista (you choose the beans for your drink!)
It's important to encrypt your private key with a passphrase. Use ssh-agent to store the un-encrypted key in memory on login. On OSX 10.5 or greater, this is really easy: http://bit.ly/alDMhp. Make sure to add 'ForwardAgent Yes' to your ssh config, and then never have to type your ssh password again.
It is almost as bad to have your passphrase-protected key permanently stored in ssh-agent, because anyone with access to your machine can use the key without the passphrase. A better solution is to use ssh-agent with the -t option to establish a lifetime (after which you will need to re-enter the passphrase).
My setup is to keep ssh-agent running with a 2-hour lifespan, and connect to that automatically when I log in. Basically this:
I used these for a commenting system as well, they're really quite amazing. There's basically three options when storing a tree in a relational database - adjacency lists which are slow to read, nested sets which are slow for writes, and materialized path, which is slow for moving around nodes.
It's good to have a fourth option which is straightforward to implement and has excellent performance.
I've a Linux system as a NAT firewall in front of everything else. It's also running an email server and a couple websites (via a dynamic IP provider). Behind it there's a couple laptops, two desktops, game consoles, iPhones, etc.
I wonder what's going to stop working if I switch to IPv6 for my frontend.
ThreeFlow is and has been a fully remote company since the beginning, and has folks in Hawaii, Chicago, SF, NYC and beyond (in the US). Our company values are: Collaborate Enthusiastically, Work with respect, Constantly push boundaries, and Grow together.
Thanks!
Apply here: https://boards.greenhouse.io/threeflow/jobs/4325555003 or email me at brettcarter at threeflow dot com